#amazon-web-services #amazon-s3 #aws-php-sdk
#amazon-web-services #amazon-s3 #aws-php-sdk
Вопрос:
Я ищу в Интернете, как я могу получить область корзины AWS s3 с помощью вызова API или непосредственно в PHP, используя их библиотеку, но мне не повезло найти информацию.
У меня есть следующая доступная информация: учетные данные учетной записи, имя корзины, ключ доступа секрет. Это относится к нескольким корзинам, к которым у меня есть доступ, и мне нужно получить регион программно, поэтому вход в консоль aws и проверка — это не вариант.
Ответ №1:
Предполагая, что у вас есть экземпляр клиента AWS PHP в $client
, вы должны быть в состоянии найти местоположение с помощью $client->getBucketLocation()
.
Вот несколько примеров кода:
<?php
$result = $client->getBucketLocation([
'Bucket' => 'yourBucket',
]);
Результат будет выглядеть следующим образом
[
'LocationConstraint' => 'the-region-of-your-bucket',
]
Комментарии:
1. Как я могу создать экземпляр клиента AWS? Для этого требуется регион, который кажется :/
2. Вы должны иметь возможность выбрать любой из регионов, поскольку вызов
getBucketLocation()
не зависит от корзины. Список доступных регионов можно найти в разделе регионы и конечные точки AWS .
Ответ №2:
При создании клиента S3 вы можете использовать любой из доступных регионов в AWS, даже если это не тот, который вы используете.
$s3Client = new AwsS3S3MultiRegionClient([
'version' => 'latest',
'region' => 'us-east-1',
'credentials' => [
'key' => $accessKey,
'secret' => $secretKey,
],
]);
$region = $s3Client->determineBucketRegion($bucketname);