使用 AWS SDK 下载多个数据 PHP

Downloading multiple data with AWS SDK for PHP

我正在尝试使用他们的 SDK 从 AWS S3 服务器下载数据 PHP,但在第二次请求时它崩溃并出现此错误:

Fatal error: Uncaught Aws\S3\Exception\AccessDeniedException: AWS Error Code: AccessDenied, Status Code: 403, AWS Request ID...

这是我的代码:

use Aws\Common\Aws;

$aws = Aws::factory(
    array(
        'key' => 'my_key',
        'secret' => 'my_secret',
    )
);

$awsClient = $aws->get('s3');

$result = $awsClient->getObject(
    array(
        'Bucket' => 'my_bucket',
        'Key' => 'my_key',
    )
);

第一个请求运行良好,但我第二次调用它时,它因上述异常而崩溃。

有人知道如何解决这个问题吗?

非常感谢。

我找到了解决方案。

原来我在密钥中向第二个请愿书发送了一个空字符串。如果 AWS 收到它不喜欢的数据,它会抛出一个 Aws\S3\Exception\AccessDeniedException 异常。

不过,很高兴知道,这样我们就可以捕获该异常,或者更好地控制输入。