【问题标题】:How to get the AWS S3 bucket location via PHP api call?如何通过 PHP api 调用获取 AWS S3 存储桶位置?
【发布时间】:2021-03-16 10:39:32
【问题描述】:

我正在互联网上搜索如何通过 API 调用或直接在 PHP 中使用他们的库获取 AWS s3 存储桶区域,但没有找到相关信息。

我有以下可用信息: 帐户凭据、存储桶名称、访问密钥 + 秘密。那是针对我可以访问的多个存储桶,并且我需要以编程方式获取该区域,因此登录到 aws 控制台并签出不是一种选择。

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-php-sdk


    【解决方案1】:

    假设您在 $client 中有一个 AWS PHP 客户端实例,您应该能够通过 $client->getBucketLocation() 找到该位置。

    下面是一些示例代码:

    <?php
    
    $result = $client->getBucketLocation([
        'Bucket' => 'yourBucket',
    ]);
    

    结果将如下所示

    [
        'LocationConstraint' => 'the-region-of-your-bucket',
    ]
    

    【讨论】:

    • 如何实例化 AWS 客户端?它需要它看起来的区域:/
    • 您应该能够选择任何区域,因为对 getBucketLocation() 的调用与存储桶无关。您可以在AWS Regions and Endpoints 找到可用区域列表。
    【解决方案2】:

    当您创建 S3 客户端时,您可以使用 AWS 中的任何可用区域,即使它不是您使用的区域。

    $s3Client = new Aws\S3\S3MultiRegionClient([
                'version'     => 'latest',
                'region'      => 'us-east-1',
                'credentials' => [
                    'key'    => $accessKey,
                    'secret' => $secretKey,
                ],
            ]);
    
    $region = $s3Client->determineBucketRegion($bucketname);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      • 2019-11-02
      • 2015-04-30
      • 2021-10-15
      • 1970-01-01
      • 2017-09-21
      相关资源
      最近更新 更多