Tôi đã viết lại câu hỏi này để làm cho nó rõ ràng hơn, vì tôi đã cập nhật nó.Amazon S3 SDK Các vấn đề về PHP doesObjectExist()
Tôi đang gặp sự cố với SDK PHP Amazon AWS S3. Tôi chỉ đang cố gắng kiểm tra xem một tệp có tồn tại hay không. Sử dụng kịch bản PHP này:
<?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);
?>
Đây là kết quả:
string(19) "stage.socialite.app"
string(59) "profile/avatar/80745d03-c295-4205-bd82-58161f2fd2d1-320.jpg"
bool(false)
Tôi biết các tập tin tồn tại, nó ở đây:
Đây là chính sách IAM cho người dùng có Khóa ID và Khóa Bí mật mà tôi đang sử dụng:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::stage.socialite.app/*",
"arn:aws:s3:::stage.socialite.app"
]
}
]
}
Tôi vừa tạo cặp Khóa/Bí mật mới và thêm chúng vào cấu hình của tôi - tôi đã làm gì sai?
Ah, vị trí thùng là vấn đề có ý nghĩa. –