问题描述
我正在尝试将文件上传到S3存储桶,但是在上存在null引用异常
await fileTransferUtility.UploadAsync(filePath,_bucket)
public class FileUploadService : IFileUploadService
{
private readonly string _bucket;
public FileUploadService()
{
_bucket = ConfigurationManager.AppSettings["S3Bucket"];
}
public async Task UploadFile(string filePath,CognitoAWSCredentials cred)
{
IAmazonS3 client = new AmazonS3Client(cred);
TransferUtility fileTransferUtility = new TransferUtility(client);
await fileTransferUtility.UploadAsync(filePath,_bucket);
}
}
这是异常的堆栈跟踪的相关部分:
在 Amazon.S3.Util.BucketRegionDetector.GetUsEast1ClientFromCredentials(ImmutableCredentials 凭据) Amazon.S3.Util.BucketRegionDetector.GetHeadBucketPreSignedUrl(String bucketName,ImmutableCredentials凭据)位于 Amazon.S3.Util.BucketRegionDetector.d__13.MoveNext() 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task 任务) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) Amazon.S3.Util.BucketRegionDetector.d__12.MoveNext() ...
不确定我是怎么做的,因为我是AWS新手。我通过以下方式检索CognitoAWSCredentials
:
string clientId = ConfigurationManager.AppSettings["CLIENT_ID"];
string poolId = ConfigurationManager.AppSettings["USERPOOL_ID"];
RegionEndpoint region = RegionEndpoint.EnumerableAllRegions.First(q => q.SystemName == "us-east-1");
provider = new AmazonCognitoIdentityProviderClient(new AnonymousAWSCredentials(),region);
CognitoUserPool userPool = new CognitoUserPool(poolId,clientId,provider);
CognitoUser user = new CognitoUser(username,userPool,provider);
AuthFlowResponse context = await user.StartWithSrpAuthAsync(new InitiateSrpAuthRequest()
{
Password = password
});
CognitoAWSCredentials cred = user.GetCognitoAWSCredentials(poolId,region);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)