Пример #1
0
        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>());
        }
Пример #2
0
        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)));
        }