Php - 亚马逊s3如何检查我的连接是否成功

时间:2015-03-31 06:02:31

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

我正在使用amazon-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. 如何使用传递的密钥检查已创建的对象,以便我不想再次创建对象。我只有在传递的密钥与已创建的密钥不同时才需要创建对象。

1 个答案:

答案 0 :(得分:11)

正如Michael指出的那样,您必须提出检查连接的实际请求.AWS不鼓励任何不必要的验证请求,这些请求会影响您的应用程序和使用账单的性能。

但是,如果您需要验证,可以在广告连播中使用ListBucketHEAD请求。

查看此最佳做法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());
} 

回答你的第二个问题。你可以使用doesObjectExist函数返回布尔值