在使用 .Net AWS SDK for S3 時,我注意到默認情況下,在與 us-east-1 中的存盤桶通信時,它使用的是舊的全域端點BUCKETNAME.s3.amazonaws.com,而不是區域端點BUCKETNAME.s3.us-east-1.amazonaws.com。
如何強制 SDK 使用區域端點?
.Net 6 代碼示例:
using Amazon;
using Amazon.Runtime;
using Amazon.S3;
AmazonS3Config config = new Amazon.S3.AmazonS3Config();
config.RegionEndpoint = RegionEndpoint.GetBySystemName("us-east-1");
Console.WriteLine($"S3 Client Service URL: {config.DetermineServiceURL()}");
S3 客戶端服務 URL:https ://s3.amazonaws.com/
uj5u.com熱心網友回復:
您需要告訴客戶端明確使用區域端點而不是默認的舊全域端點。
config.USEast1RegionalEndpointValue = S3UsEast1RegionalEndpointValue.Regional;
通過使用此更改修改代碼:
using Amazon;
using Amazon.Runtime;
using Amazon.S3;
AmazonS3Config config = new Amazon.S3.AmazonS3Config();
config.RegionEndpoint = RegionEndpoint.GetBySystemName("us-east-1");
config.USEast1RegionalEndpointValue = S3UsEast1RegionalEndpointValue.Regional;
Console.WriteLine($"S3 Client Service URL: {config.DetermineServiceURL()}");
您現在獲得區域端點服務 url:
S3 客戶端服務 URL:https ://s3.us-east-1.amazonaws.com/
uj5u.com熱心網友回復:
將物件的USEast1RegionalEndpointValue屬性設定為。AmazonS3ConfigS3UsEast1RegionalEndpointValue.Regional
這將強制將us-east-1S3 請求路由到區域端點,而不是傳統的全域端點。
using Amazon;
using Amazon.Runtime;
using Amazon.S3;
AmazonS3Config config = new AmazonS3Config
{
USEast1RegionalEndpointValue = S3UsEast1RegionalEndpointValue.Regional,
RegionEndpoint = RegionEndpoint.USEast1
};
Console.WriteLine($"S3 Client Service URL: {config.DetermineServiceURL()}");
S3 Client Service URL: https://s3.us-east-1.amazonaws.com/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/490251.html
