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

bin*_*noy 5 php amazon-s3 amazon-web-services

我正在使用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();
} 
?>
Run Code Online (Sandbox Code Playgroud)
  1. 如何检查连接是否成功?
  2. 如何使用传递的密钥检查已创建的对象,以便我不想再次创建对象.我只有在传递的键与已创建的键不同时才需要创建对象.

Aru*_*unu 11

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

但是如果需要验证,可以在存储桶上使用ListBucketHEAD请求.

查看此最佳实践文章.

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());
} 
Run Code Online (Sandbox Code Playgroud)

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