AWS S3 Transferutility UploadAsync 成功但未创建文件

问题描述 投票:0回答:1

我必须定期将文件和流上传到 S3,文件大小通常低于 50MB。我看到的是 TransferUtility.UploadAsync 方法返回成功,但文件从未创建。这种情况偶尔发生。下面是我们使用的代码。对此有什么建议吗?

public TransferUtilityUploadRequest CreateRequest(string bucket, string path)
    {
        var request = new TransferUtilityUploadRequest
        {
            BucketName = bucket,
            StorageClass = S3StorageClass.Standard,
            Key = path,
            AutoCloseStream = true,
            CannedACL = S3CannedACL.AuthenticatedRead,
            ServerSideEncryptionMethod = ServerSideEncryptionMethod.AES256
        };


        return request;
    }

    public async Task CreateS3ObjectFromStreamAsync(MemoryStream memeoryStream, string bucket, string filePath)
    {                
                var ftu = new TransferUtility(client);
                var request = CreateRequest(bucket, filePath);
                request.InputStream = memeoryStream;
                await ftu.UploadAsync(request);           

    }

    public async Task CreateS3ObjectFromFileAsync(string sourceFilePath, string bucketName, string destpath)
    {
                var request = CreateRequest(bucketName, destpath);
                request.FilePath = sourceFilePath;
                var ftu = new TransferUtility(client);
                await ftu.UploadAsync(request);                       
    }
c# amazon-s3
1个回答
0
投票

因为主线程结束了,而UploadAsync方法还没有结束。请等待方法完成!

© www.soinside.com 2019 - 2024. All rights reserved.