У нас есть командная строка AWS, работающая через Direct Connect. Для этого нам нужно было добавить URL-адрес конечной точки, используемый в команде, в файл хоста.
Изменение, которое мы внесли до сих пор в код .net, заключается в том, чтобы установить ServiceURL в AmazonS3Config на конечная точка интерфейса для корзины S3, которая является тем же URL-адресом конечной точки, который использовался в вызове AWS Cli.
Сначала произошел сбой, когда NameResolutionFailure указал полный путь к корзине на конце точка.
Мы также поместили это в файл хостов (не нужно для AWS CLI).
Затем это не удалось из-за сбоя доверительных отношений.
Мы подозреваем, что для проверки сертификата используется путь сегмента, а не путь конечной точки.
Код, добавленный для Direct Connect, был
Код, добавленный для Direct Connect:
р>
Код: Выделить всё
if (bucketServiceURL.Length > 0)
{
S3Config.ServiceURL = bucketServiceURL;
}
Код: Выделить всё
ThrowErrorIfNotInitialised(false);
iBucketNumber = BucketNumber;
Profile myProfile = new Profile(objConfiguration.Ourcredentials[BucketNumber]);
string strbucketRegion = objConfiguration.Ourregion[BucketNumber];
bucketServiceURL = objConfiguration.OurServiceURL[BucketNumber];
bucketName = objConfiguration.Ourbucket[BucketNumber];
TimeSpan webTimeout = objConfiguration.WebTimeoutForOps;
TimeSpan readWriteTimeout = objConfiguration.ReadWriteTimeout;
AmazonS3Config S3Config = new AmazonS3Config
{
Timeout = webTimeout,
ReadWriteTimeout = readWriteTimeout,
Profile = myProfile
};
if (strbucketRegion.Length > 0)
{
bucketRegion = RegionEndpoint.GetBySystemName(strbucketRegion);
S3Config.RegionEndpoint = bucketRegion;
}
if (bucketServiceURL.Length > 0)
{
S3Config.ServiceURL = bucketServiceURL;
}
client = new AmazonS3Client(S3Config);
Подробнее здесь: https://stackoverflow.com/questions/791 ... fully-over