繁体   English   中英

从 s3 存储桶的子文件夹访问文件

[英]Access file from subfolder of s3 bucket

我需要访问一个文件并从 s3 存储桶中的子文件夹打印其内容。 我的文件 (file_abc) 位于 s3 存储桶中文件夹 (folder_abc) 的子文件夹 (subfolder_abc) 中。

我正在使用以下代码来这样做 -

s3_client = boto3.client('s3')
response = s3_client.get_object(Bucket='Bucket_abc',
                                    Key='folder_abc/subfolder_abc' + "/" + 'file_abc')
result = str(response["Body"].read())
print (result)

我收到以下错误 -

botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the GetObject operation: Access Denied

如何访问子文件夹中的文件数据?

你能告诉我们存储桶的权限吗?

您尝试读取文件的方式看起来是正确的,我假设您在读取该存储桶中的文件的权限方面存在问题。

如果您可以向我们展示存储桶的权限以及您正在执行的角色,我们可以提供更多帮助。

这是一个允许所有访问的策略示例:

 {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::MyExampleBucket/*"
      ],
     }
   ]
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM