简体   繁体   English

如何使用 aws s3api 将 acl 策略应用于 S3 存储桶中的子文件夹

[英]How to apply acl policies using aws s3api to subfolders in S3 bucket

I have few folders in S3 bucket where I want to apply the below policy and also to the subfolders inside the specified path.我在 S3 存储桶中有几个文件夹,我想在其中应用以下策略以及指定路径内的子文件夹。

aws s3api put-object-acl --bucket BUCKET_NAME --key "FOLDER_PATH/" --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers --profile MYPROFILE

I cannot use regex * in the key so that it includes all subfolders.我不能在键中使用正则表达式 * 以使其包含所有子文件夹。

Help me apply the policy to all subfolders inside the key path.帮助我将策略应用到关键路径内的所有子文件夹。

import boto3
import os

def lambda_handler(event, context):
        prefix = "folderpath" #folder path without trailing slash (eg foldername1/foldername2 )
        bucket = 'bucketnamehere' # S3 bucket name here
        s3 = boto3.resource('s3')
        bucket = s3.Bucket(name=bucket)
        s3_cl = boto3.client('s3')
        for obj in bucket.objects.filter(Prefix=prefix):
                folders = obj.key
                if(folders[-1] == '/'):
                        print(folders)
                        # Add ACL policy here
                        
                

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

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