首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有AWS错误的文件上载到NoSuchBucket桶

带有AWS错误的文件上载到NoSuchBucket桶
EN

Stack Overflow用户
提问于 2021-01-29 09:55:00
回答 1查看 840关注 0票数 0

尝试将文件上载到S3桶中,我使用以下代码设置了SDK:

代码语言:javascript
运行
复制
<?php

use Aws\S3\S3Client;

use Aws\Exception\AwsException;

try {

    require 'vendor/autoload.php';

    $s3 = new Aws\S3\S3Client([
        'region'  => 'us-east-1',
        'version' => 'latest',
        'credentials' => [
            'key'    => "KEY",
            'secret' => "SECRET",
        ]
    ]);

    $result = $s3->putObject([
        'Bucket' => 'bucketname',
        'Key'    => 'test.txt',
        'SourceFile' => 'test.txt'
    ]);

    var_dump($result);

} catch (\Throwable $th) {
    echo $th;
}

错误日志

代码语言:javascript
运行
复制
AWS HTTP error: Client error: `PUT https://bucketname.s3.amazonaws.com/test.txt` resulted in a `404 Not Found` response: NoSuchBucketThe specified bucket does not exist

可能的错误:

URL应该是基于:文档的这个表单

代码语言:javascript
运行
复制
https://s3.Region.amazonaws.com/bucket-name/key name
EN

回答 1

Stack Overflow用户

发布于 2021-01-29 11:53:06

我认为问题在于S3 Client本身。下面是文档PutObject.php中的示例

代码语言:javascript
运行
复制
use Aws\S3\S3Client;  
use Aws\Exception\AwsException;
....
try {
    //Create a S3Client
    $s3Client = new S3Client([
        'profile' => 'default',
        'region' => 'us-west-2',
        'version' => '2006-03-01'
    ]);
    $result = $s3Client->putObject([
        'Bucket' => $bucket,
        'Key' => $key,
        'SourceFile' => $file_Path,
    ]);
} catch (S3Exception $e) {
    echo $e->getMessage() . "\n";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65952234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档