Как получить местоположение корзины AWS S3 с помощью вызова PHP API?

#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);