AWS PHP SDK将文件上传到S3导致错误

斯蒂夫·金

好的,所以我尝试了几种方法来使文件上传到我的S3帐户。终于发现自己到了BOOM——混乱的文档和奇怪的错误消息似乎与自己矛盾。

好的,首先,我不使用作曲家或类似的工具,而是按照老式的方式进行:

require '/path/to/aws-autoload.php';

现在,这可以正确加载,并且我已将自动加载调整为仅使用Common和S3类-不需要所有内容!

接下来,我加载S3客户端和凭据:

use Aws\S3\S3Client;
use Aws\Common\Credentials\Credentials;

现在,开始魔术发生的代码:

$file = '/path/to/' . $filename;
$credentials = new Credentials('KEY', 'SECRET KEY');
$s3 = S3Client::factory(array('credentials' => $credentials));

try{
$s3->putObject(array(
    'Bucket' => 'sub.domain.com.s3.amazonaws.com',
    'Body'   => fopen($file, 'r'),
    'ACL'    => 'public-read',
));
} catch (S3Exception $e) {
     $result = array(
         'ok' => false,
         'descr' => 'There was an error uploading the file to S3 : ' . $filename
     );
}

我似乎遇到的问题是“存储桶”本身。

当我将存储桶的格式设置为sub.domain.com时,我从AWS API收到以下消息:

AWS错误消息:尝试访问的存储桶必须使用指定的终结点进行寻址。请将所有将来的请求发送到此终结点:“ sub.domain.com.s3.amazonaws.com”。

现在,当我更改“ Bucket”以匹配上面的内容时,如下所示:sub.domain.com.s3.amazonaws.com

我收到以下错误消息:

AWS错误消息:指定的存储桶不存在

难道我做错了什么?缺少什么吗?不幸的是,AWS文档还不够完善。该API目前似乎自相矛盾。我知道所有键都是正确的,并且所有权限都是正确的。根据自己的建议,它从301-重定向到404-未找到。

任何帮助/建议将不胜感激。我觉得我在这里转了圈!

杰里米·林德布鲁姆

这里有一些事情要仔细检查。

  1. 如果存储桶是在某个区域(例如us-west-2)中创建的,请S3Client使用该区域实例化[..., 'region' => 'us-west-2', ...]
  2. 'Bucket'参数应设置为您的存储桶确切命名的名称(例如,如果您的存储桶名为“ sub.domain.com”,则该'Bucket'参数应设置为'sub.domain.com')。不要在'Bucket'参数中包含区域或“ s3.amazonaws.com” (即,存储桶!=端点)。SDK会自动确定端点(基于客户端的区域和提供的存储桶名称),并根据需要调整URL的路径样式。
  3. PutObject操作需要'Key'参数,其不存在上述代码样本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AWS PHP SDK将文件上传到S3导致错误

来自分类Dev

php laravel直接将文件上传到AWS S3存储桶

来自分类Dev

将AWS php putObject从$ _FILE []分段上传到S3

来自分类Dev

使用Java AWS SDK将文件夹上传到S3存储桶

来自分类Dev

AWS Ruby SDK核心:将文件上传到S3

来自分类Dev

使用 AWS SDK ASP.NET 将文件上传到 S3

来自分类Dev

Django:将CSV文件上传到AWS S3

来自分类Dev

AWS PHP SDK:限制预签名URL中的S3文件上传大小

来自分类Dev

使用 PHP 将文件上传到 Amazon S3 存储桶 - 不使用 SDK

来自分类Dev

无法通过PHP文件上传将文件上传到AWS

来自分类Dev

将文件上传到 s3 php 脚本

来自分类Dev

将 JSON 文件从 node.js 中的 aws-sdk 上传到 aws s3 存储桶

来自分类Dev

将包含空子文件夹的文件夹上传到S3(使用AWS Java SDK)

来自分类Dev

AWS PHP SDK S3 RequestTimeTooSkewed错误

来自分类Dev

如何在没有AWS JavaScript SDK的情况下将文件上传到S3?

来自分类Dev

如何从内存中将映像上传到PHP中的AWS S3?

来自分类Dev

每当我尝试将文件上传到s3存储桶时,都会收到403禁止错误。(PHP,SDK)

来自分类Dev

使用AWS PHP SDK将文件安全传输到S3

来自分类Dev

将PHP文件上传到AWS EC2

来自分类Dev

通过表单POST直接将文件上传到S3时,AWS策略错误-无效的简单条件

来自分类Dev

将文件从 AWS lambda 上传到 S3 时出现 MD-5 校验和错误

来自分类Dev

使用aws-sdk-java上传到S3存储桶时发生PermanentRedirect错误

来自分类Dev

使用aws-sdk-java上传到S3存储桶时发生PermanentRedirect错误

来自分类Dev

AWS iOS SDK v2文件上传到S3问题

来自分类Dev

AWS iOS SDK v2文件上传到S3问题

来自分类Dev

使用PHP s3类无法将视频文件上传到s3

来自分类Dev

使用aws-sdk v2将图像上传到S3

来自分类Dev

通过AWS Ruby SDK将Base64图像数据上传到S3

来自分类Dev

如何使用AWS iOS SDK v2将UIImage上传到S3

Related 相关文章

  1. 1

    AWS PHP SDK将文件上传到S3导致错误

  2. 2

    php laravel直接将文件上传到AWS S3存储桶

  3. 3

    将AWS php putObject从$ _FILE []分段上传到S3

  4. 4

    使用Java AWS SDK将文件夹上传到S3存储桶

  5. 5

    AWS Ruby SDK核心:将文件上传到S3

  6. 6

    使用 AWS SDK ASP.NET 将文件上传到 S3

  7. 7

    Django:将CSV文件上传到AWS S3

  8. 8

    AWS PHP SDK:限制预签名URL中的S3文件上传大小

  9. 9

    使用 PHP 将文件上传到 Amazon S3 存储桶 - 不使用 SDK

  10. 10

    无法通过PHP文件上传将文件上传到AWS

  11. 11

    将文件上传到 s3 php 脚本

  12. 12

    将 JSON 文件从 node.js 中的 aws-sdk 上传到 aws s3 存储桶

  13. 13

    将包含空子文件夹的文件夹上传到S3(使用AWS Java SDK)

  14. 14

    AWS PHP SDK S3 RequestTimeTooSkewed错误

  15. 15

    如何在没有AWS JavaScript SDK的情况下将文件上传到S3?

  16. 16

    如何从内存中将映像上传到PHP中的AWS S3?

  17. 17

    每当我尝试将文件上传到s3存储桶时,都会收到403禁止错误。(PHP,SDK)

  18. 18

    使用AWS PHP SDK将文件安全传输到S3

  19. 19

    将PHP文件上传到AWS EC2

  20. 20

    通过表单POST直接将文件上传到S3时,AWS策略错误-无效的简单条件

  21. 21

    将文件从 AWS lambda 上传到 S3 时出现 MD-5 校验和错误

  22. 22

    使用aws-sdk-java上传到S3存储桶时发生PermanentRedirect错误

  23. 23

    使用aws-sdk-java上传到S3存储桶时发生PermanentRedirect错误

  24. 24

    AWS iOS SDK v2文件上传到S3问题

  25. 25

    AWS iOS SDK v2文件上传到S3问题

  26. 26

    使用PHP s3类无法将视频文件上传到s3

  27. 27

    使用aws-sdk v2将图像上传到S3

  28. 28

    通过AWS Ruby SDK将Base64图像数据上传到S3

  29. 29

    如何使用AWS iOS SDK v2将UIImage上传到S3

热门标签

归档