【发布时间】:2015-04-12 16:51:22
【问题描述】:
我已经重写了这个问题以使其更清楚,因为我已经更新了它。
我在使用 Amazon AWS S3 PHP 开发工具包时遇到问题。我只是想检查一个文件是否存在。 使用这个 PHP 脚本:
<?php
require_once("../../../configs/config.".get_current_user().".php");
require INCLUDES_PATH . 'libraries/aws/aws-autoloader.php';
use Aws\S3\S3Client;
$client = S3Client::factory(array(
'key' => AWS_ACCESS_KEY_ID,
'secret' => AWS_SECRET_KEY
));
$key = 'profile/avatar/80745d03-c295-4205-bd82-58161f2fd2d1-320.jpg';
$result = $client->doesObjectExist( AWS_S3_BUCKET, $key );
var_dump(AWS_S3_BUCKET);
var_dump($key);
var_dump($result);
?>
这是输出:
string(19) "stage.socialite.app"
string(59) "profile/avatar/80745d03-c295-4205-bd82-58161f2fd2d1-320.jpg"
bool(false)
我知道文件存在,就在这里:
这是用户的 IAM 策略,我正在使用其密钥 ID 和密钥:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::stage.socialite.app/*",
"arn:aws:s3:::stage.socialite.app"
]
}
]
}
我刚刚创建了一个新的密钥/密钥对并将它们添加到我的配置中 - 我做错了什么?
【问题讨论】:
标签: php amazon-web-services amazon-s3