使用Boto3将文件上传到带前缀的S3存储桶

狐狸

我正在尝试将文件上传到S3存储桶中,但是我无权访问存储桶的根级别,因此需要将其上传到某个前缀。如下代码:

import boto3
s3 = boto3.resource('s3')
open('/tmp/hello.txt', 'w+').write('Hello, world!')
s3_client.upload_file('/tmp/hello.txt', bucket_name, prefix+'hello-remote.txt')

给我一个错误:

An error occurred (AccessDenied) when calling the PutObject operation: Access Denied: ClientError Traceback (most recent call last): File "/var/task/tracker.py", line 1009, in testHandler s3_client.upload_file('/tmp/hello.txt', bucket_name, prefix+'hello-remote.txt') File "/var/runtime/boto3/s3/inject.py", line 71, in upload_file extra_args=ExtraArgs, callback=Callback) File "/var/runtime/boto3/s3/transfer.py", line 641, in upload_file self._put_object(filename, bucket, key, callback, extra_args) File "/var/runtime/boto3/s3/transfer.py", line 651, in _put_object **extra_args) File "/var/runtime/botocore/client.py", line 228, in _api_call return self._make_api_call(operation_name, kwargs) File "/var/runtime/botocore/client.py", line 492, in _make_api_call raise ClientError(parsed_response, operation_name) ClientError: An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

bucket_name在格式abcd,而prefix在格式a/b/c/d/我不确定该错误是由于斜杠输入错误还是由于某种原因您可以在其他地方指定前缀,或者我没有写权限(尽管我应该这样做)。

这段代码执行没有任何错误:

for object in output_bucket.objects.filter(Prefix=prefix):
    print(object.key)

虽然没有输出,因为存储桶为空。

狐狸

原来我需要SSE:

transfer = S3Transfer(s3_client)
transfer.upload_file('/tmp/hello.txt', bucket_name, prefix+'hello-remote.txt', extra_args={'ServerSideEncryption': "AES256"})

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用boto3将Github上的文件上传到AWS S3存储桶?

来自分类Dev

使用boto将csv文件上传到Amazon S3存储桶

来自分类Dev

使用 boto3(python 3.x) 将文件上传到 aws s3 存储桶以保持文件结构?

来自分类Dev

使用 boto3 和 python flask 将 CSV 文件上传到 S3 存储桶时出现错误 500

来自分类Dev

当文件在本地存储中时,如何使用boto3将文件上传到s3

来自分类Dev

boto3如何将dict / json输出上传到s3存储桶?

来自分类Dev

将文件上传到S3存储桶

来自分类Dev

使用boto3将文件上传到S3中的特定文件夹

来自分类Dev

尝试使用boto3将文件上传到S3时找不到文件

来自分类Dev

使用Ajax和Boto3 for Django将文件上传到S3

来自分类Dev

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

来自分类Dev

Boto3:文件上传到S3

来自分类Dev

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

来自分类Dev

Python boto3:将文件上传到S3后接收versionId

来自分类Dev

对使用boto3将文件上传到S3的功能进行单元测试

来自分类Dev

通过使用分段上传API将小于5 MB的文件上传到AWS S3存储桶

来自分类Dev

使用boto3从S3存储桶读取文件内容

来自分类Dev

如何使用lambda函数和boto3从s3存储桶读取csv文件?

来自分类Dev

使用boto3从S3存储桶下载文件时出现ValueError吗?

来自分类Dev

使用Carrierwave上传到多个S3存储桶

来自分类Dev

亚马逊s3,将文件上传到存储桶中的文件夹中

来自分类Dev

直接从网址将文件上传到S3存储桶

来自分类Dev

如何将所有特定类型的文件上传到S3存储桶?

来自分类Dev

将文件上传到Amazon S3存储桶时出错

来自分类Dev

将文件上传到S3存储桶-Python Django

来自分类Dev

如何获取将图像上传到s3存储桶的文件名?

来自分类Dev

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

来自分类Dev

正在将日志文件上传到S3存储桶?

来自分类Dev

尝试直接将文件上传到Amazon S3存储桶时请求失败

Related 相关文章

  1. 1

    如何使用boto3将Github上的文件上传到AWS S3存储桶?

  2. 2

    使用boto将csv文件上传到Amazon S3存储桶

  3. 3

    使用 boto3(python 3.x) 将文件上传到 aws s3 存储桶以保持文件结构?

  4. 4

    使用 boto3 和 python flask 将 CSV 文件上传到 S3 存储桶时出现错误 500

  5. 5

    当文件在本地存储中时,如何使用boto3将文件上传到s3

  6. 6

    boto3如何将dict / json输出上传到s3存储桶?

  7. 7

    将文件上传到S3存储桶

  8. 8

    使用boto3将文件上传到S3中的特定文件夹

  9. 9

    尝试使用boto3将文件上传到S3时找不到文件

  10. 10

    使用Ajax和Boto3 for Django将文件上传到S3

  11. 11

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

  12. 12

    Boto3:文件上传到S3

  13. 13

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

  14. 14

    Python boto3:将文件上传到S3后接收versionId

  15. 15

    对使用boto3将文件上传到S3的功能进行单元测试

  16. 16

    通过使用分段上传API将小于5 MB的文件上传到AWS S3存储桶

  17. 17

    使用boto3从S3存储桶读取文件内容

  18. 18

    如何使用lambda函数和boto3从s3存储桶读取csv文件?

  19. 19

    使用boto3从S3存储桶下载文件时出现ValueError吗?

  20. 20

    使用Carrierwave上传到多个S3存储桶

  21. 21

    亚马逊s3,将文件上传到存储桶中的文件夹中

  22. 22

    直接从网址将文件上传到S3存储桶

  23. 23

    如何将所有特定类型的文件上传到S3存储桶?

  24. 24

    将文件上传到Amazon S3存储桶时出错

  25. 25

    将文件上传到S3存储桶-Python Django

  26. 26

    如何获取将图像上传到s3存储桶的文件名?

  27. 27

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

  28. 28

    正在将日志文件上传到S3存储桶?

  29. 29

    尝试直接将文件上传到Amazon S3存储桶时请求失败

热门标签

归档