amazon-web-services - AccessDenied 用于从 S3 存储桶获取对象
问题描述
我正在尝试从另一个区域的 SageMaker 容器访问 S3 存储桶。
我可以使用以下代码列出 S3 存储桶中的所有文件夹:
import boto3
s3 = boto3.resource('s3', region_name='us-east-1')
bucket = s3.Bucket('bucket-name')
for my_bucket_object in bucket.objects.all():
print(my_bucket_object)
但是,get_object 失败,消息访问被拒绝。所有权限均已提供给 S3 存储桶。
s3 = boto3.client('s3',region_name = 'us-east-1')
obj = s3.get_object(Bucket='bucket-name', Key = '2019/3/')
错误信息如下:
ClientError: An error occurred (AccessDenied) when calling the GetObject operation: Access Denied
有人可以指导为什么会这样吗?谢谢你。
解决方案
您可以复制您在存储桶上使用的粘贴策略文件吗?使用策略文件,您还可以控制文件夹级别的所有访问。
推荐阅读
- sql - 用 SQL 中的平均值更新列
- python - 使用多个浏览器实例运行多线程 Selenium 自动化
- javascript - vue-router:为带有分页的过滤页面定义漂亮的 URL
- java - 列表视图上的搜索过滤器在单击时返回错误结果
- regex - 如何编写识别特定字母和最少数字的正则表达式
- node.js - 如何解决 npm run build 137 错误?已经设置了10gb
- react-native - 嵌套的 FlatList Carousel 错误:scrollToIndex 超出范围
- python - 具有非方形输入图像的 U-net
- java - 在超类中创建子类的实例
- swiftui - 删除在视图中的列表项上创建的空间 - SwiftUI