RegionEndpoint または ServiceURL が設定されていません 質問する

RegionEndpoint または ServiceURL が設定されていません 質問する

AWS S3 にファイルをアップロードするコードを書いているのですが、次の例外が発生します:

AmazonClientException: RegionEndpoint または ServiceURL が設定されていません

私のコード:

Console.WriteLine("ready to upload");
AWSCredentials credentials;
credentials = new BasicAWSCredentials(accessKeyID.Trim(), secretKey.Trim());
AmazonS3Client s3Client = new AmazonS3Client(accessKeyID.Trim(), secretKey.Trim(), Amazon.RegionEndpoint.USEast1);
Console.WriteLine("Successful verification");
Console.WriteLine("Check if the bucket exists");
if (!CheckBucketExists(s3Client, bucketName))
{
    s3Client.PutBucket(bucketName);
    Console.WriteLine("create bucket");
}
TransferUtility utility = new TransferUtility();
Console.WriteLine("Upload  Directory......");
//exception here
utility.UploadDirectory(@"E:\telerikFile\13ginabdfglil.com", bucketName);

例外:

Amazon.Runtime.AmazonClientException: No RegionEndpoint or ServiceURL configured
  Amazon.Runtime.ClientConfig.Validate()
  Amazon.S3.AmazonS3Config.Validate()
  Amazon.Runtime.AmazonServiceClient..ctor(AWSCredentials credentials, ClientConfig config)
  Amazon.S3.AmazonS3Client..ctor()
  Amazon.S3.Transfer.TransferUtility..ctor()
  Telerik2Amazon.Program.UploadFile()

どうすればいいですか?

ベストアンサー1

エラーに対する短い答えは...

Amazon.Runtime.AmazonClientException: RegionEndpoint または ServiceURL が設定されていません

...私の場合は、クライアント オブジェクトを構築するときに領域を指定することでした (私の場合は でしたAmazonSimpleEmailServiceClient)。

を使用している場合BasicAWSCredentialsは、これを試してください:

var credentials = new BasicAWSCredentials(accessKeyID, secretKey);

new AmazonS3Client(credentials, RegionEndpoint.USEast1);

//                              ^^^^^^^^^^^^^^^^^^^^^^  add this

おすすめ記事