如何使用Boto3和Python制作一个文件夹Publi

2024-09-24 02:24:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个名为img的文件夹,该文件夹已经存在于我的私有bucketpublic中。我用的是Boto3。我只想用脚本公开这个文件夹而不是其他任何东西。。在

这就是我当前连接到bucket的方式,以及我所能达到的程度。。。。在

ACCESS_KEY_ID = 'xxxxx'
ACCESS_KEY_SECRET = 'xxxx'
bucket_name = 'mybucket'
sourceDir = "../../docs/buildHTML/html/"
destDir = ''

r = boto3.setup_default_session(region_name='eu-west-1')
s3 = boto3.resource('s3', aws_access_key_id=ACCESS_KEY_ID, aws_secret_access_key=ACCESS_KEY_SECRET)
bucket = s3.Bucket(bucket_name)

所以我有了水桶,这很管用。现在如何使已存在的文件夹img成为公共文件夹?在


Tags: keyname文件夹awsidimgsecrets3
1条回答
网友
1楼 · 发布于 2024-09-24 02:24:46

您需要向bucket添加一个策略,如下所示:

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"PublicReadImages",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::mybucket/abc/img/*"]
    }
  ]
}

您可以通过AWS控制台或任何sdk来执行此操作。在boto3中,我想你是这样做的:

^{pr2}$

相关问题 更多 >