Php - Amazon s3 如何检查我的连接是否成功

Php - Amazon s3 how do I check my connection is success or not

我正在使用亚马逊-php-sdk。在我的应用程序中,我从表单中接受密钥和秘密值并传递以连接到 Aws。这是我的代码。

<?php
require 'aws-autoloader.php';
use Aws\S3\S3Client;
try {
    $s3Client = S3Client::factory(array(
        'key' => 'my key',
        'secret' => 'my secret key'
    ));
}
catch(S3Exception $e) {

   echo 'Msg' . $e->getMessage();
} 
?>
  1. 如何查看连接是否成功?
  2. 如何使用传递的密钥检查已创建的对象,以便我不想再次创建该对象。仅当传递的密钥与已创建的密钥不同时,我才需要创建对象。

正如 Michael 所指出的,您必须提出实际请求来检查 connection.AWS 阻止任何不必要的验证请求,这将影响您的应用程序的性能和您的使用费用。

但如果您需要验证,您可以对存储桶使用 ListBucket or HEAD 请求。

查看此最佳实践 article

require 'vendor/autoload.php';     
use Aws\S3\S3Client;

try {

// Instantiate the S3 client with your AWS credentials
$s3Client = S3Client::factory(array(
    'credentials' => array(
        'key'    => 'YOUR_AWS_ACCESS_KEY_ID',
        'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
    )
));

$buckets = $s3Client->listBuckets();


}
catch(Exception $e) {

   exit($e->getMessage());
} 

要回答你的第二个 question.You 可以使用 doesObjectExist 函数,其中 returns 一个 boolean.