public static async Task <T> DownloadJsonAsync <T>(this S3Helper s3, string bucketName, string key, string version = null, string eTag = null, bool throwIfNotFound = true, Encoding encoding = null, CancellationToken cancellationToken = default(CancellationToken)) { var stream = await s3.DownloadObjectAsync( bucketName : bucketName, key : key, version : version, eTag : eTag, throwIfNotFound : throwIfNotFound, cancellationToken : cancellationToken); if (!throwIfNotFound && stream == null) { return(default(T)); } return(await stream .ToStringAsync(encoding ?? Encoding.UTF8) .JsonDeserializeAsync <T>()); }
public static async Task <string> DownloadTextAsync(this S3Helper s3, string bucketName, string key, string version = null, string eTag = null, bool throwIfNotFound = true, Encoding encoding = null, CancellationToken cancellationToken = default(CancellationToken)) { var stream = await s3.DownloadObjectAsync( bucketName : bucketName, key : key, version : version, eTag : eTag, throwIfNotFound : throwIfNotFound, cancellationToken : cancellationToken); if (!throwIfNotFound && stream == null) { return(null); } return((encoding ?? Encoding.UTF8).GetString(stream.ToArray(bufferSize: 256 * 1024))); }