in cloudwatch_acl/lambda_function.py [0:0]
def lambda_handler(event, context):
print(event)
for outputGroupDetails in event['detail']['outputGroupDetails']:
#File Groups
for outputDetails in outputGroupDetails['outputDetails']:
if 'outputFilePaths' in outputDetails:
for outputFilePath in outputDetails['outputFilePaths']:
setACL( getBucket(outputFilePath), getKey(outputFilePath) )
#ABR Packages
if 'playlistFilePaths' in outputGroupDetails:
processedKeys = []
for playlistFilePath in outputGroupDetails['playlistFilePaths']:
print("Setting ACLs on objects related to " + playlistFilePath)
baseKey = getKey(playlistFilePath).split(".")[-2]
for variant in boto3.resource('s3').Bucket(getBucket(playlistFilePath)).objects.filter(Prefix=baseKey):
if (variant.key not in processedKeys):
setACL(getBucket(playlistFilePath), variant.key)
processedKeys.append(variant.key)
else:
skip(getBucket(playlistFilePath), variant.key)