gpt4 book ai didi

c# - S3 和 .net Amazon SDK - 由于保护级别,GetObject 无法访问

转载 作者:行者123 更新时间:2023-12-03 18:45:26 25 4
gpt4 key购买 nike

我正在尝试使用 c# 将文件从 S3 下载到 .net 中的字节数组。
我正在遵循以下方法:

var client = new AmazonS3Client(AccessKey, SecretKey, Amazon.RegionEndpoint.EUWEST2);
using (client)
{
MemoryStream ms = new MemoryStream();
GetObjectRequest getObjectRequest = new GetObjectRequest();
getObjectRequest.BucketName = Bucketname;
getObjectRequest.Key = Keyname;

using (var getObjectResponse = client.GetObject(getObjectRequest))
{
getObjectResponse.ResponseStream.CopyTo(ms);
}
}

我引用了一个stackoverflow answer并按照上述方法进行了操作。
但是,我收到以下错误消息;
GetObject 由于保护级别而无法访问。
我刚刚学习 S3,我现在很困惑这个错误是因为存储桶策略还是类范围。

最佳答案

您提到了 .NET Core:大多数适用于 .Net Core 和 .NET Standard 的 AWS API 仅提供异步变体。您应该使用 GetObjectAsync

令人惊讶的是,亚马逊引入了这种不兼容性,因为提供同步版本很容易,使用如下代码:

var task = s3Client.GetObjectAsync(request);
task.Wait();
return task.Result;

关于c# - S3 和 .net Amazon SDK - 由于保护级别,GetObject 无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53479680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com