Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于.NET的AWS SDK。不支持您提供的授权机制_C#_.net_Amazon Web Services_Amazon S3_Aws Sdk - Fatal编程技术网

C# 用于.NET的AWS SDK。不支持您提供的授权机制

C# 用于.NET的AWS SDK。不支持您提供的授权机制,c#,.net,amazon-web-services,amazon-s3,aws-sdk,C#,.net,Amazon Web Services,Amazon S3,Aws Sdk,发送ListObjectRequest时,我收到了下一个错误: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256 根据答案,AmazonS3Config以以下方式更新: var amazonS3Config = new AmazonS3Config { SignatureVersion = "4", ServiceURL = bucketName

发送ListObjectRequest时,我收到了下一个错误:

The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256
根据答案,
AmazonS3Config
以以下方式更新:

var amazonS3Config = new AmazonS3Config
{
    SignatureVersion = "4",
    ServiceURL = bucketName,
    RegionEndpoint = RegionEndpoint.USEast1,
    SignatureMethod = SigningAlgorithm.HmacSHA256
};

var s3Client = new AmazonS3Client(accessKeyID, secretKey, amazonS3Config);
但我仍然收到这个错误。我错过了什么


谢谢。

尝试使用最新版本的amazonS3 sdk。我认为当您知道regionEndpoint时,ServiceUrl是不必要的,我将其用于私有云amazonS3,当我不知道区域端点时。我可以使用以下代码从Amazon检索信息

        var amazonS3Config = new AmazonS3Config();
        // region of FrankPurt is : RegionEndpoint.EUCentral1
        // according to amazonS3 Doc http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
        amazonS3Config.RegionEndpoint = RegionEndpoint.USEast1;

        var s3Client = new AmazonS3Client("your access key", "your secret key", amazonS3Config);
         S3DirectoryInfo dir = new S3DirectoryInfo(s3Client, "your bucket name", "your folder path without bucket name");
        Console.WriteLine(dir.GetFiles().Count());

通过使用这个,我能够在欧盟西部2区工作

            AmazonS3Config config = new AmazonS3Config();
            config.SignatureVersion = "4";
            config.RegionEndpoint = Amazon.RegionEndpoint.GetBySystemName("eu-west-2");
            config.SignatureMethod = Amazon.Runtime.SigningAlgorithm.HmacSHA256;

地区应

我使用的是法兰克福,我的代码与您的代码完全相同,可以正常工作。只是冒险猜测一下。。。也许USEast1仅支持SignatureVersion 3或更低版本?我尝试使用不同的签名版本(4、3、2)来检查它是否适用于任何人。但是失败了。你能试试法兰克福吗。同样的代码适用于法兰克福的.me,所以没有理由它不适用于您..否则这个问题会比我们看到的更多。。。