invalidation-function
CloudFrontFullAccess
정책을 붙인다.
import json
import boto3
import string
import random
def lambda_handler(event, context):
# Boto3 클라이언트 생성
client = boto3.client("cloudfront")
# 무효화 요청 생성
distribution_id = "E3MS846HWLP2TH" # CloudFront 배포 ID
invalidation_paths = ["/*"] # 무효화할 경로 지정
invalidation_quantity = len(invalidation_paths)
if invalidation_quantity > 0:
invalidation_batch = {
"Paths": {"Quantity": invalidation_quantity, "Items": invalidation_paths},
"CallerReference": ''.join([random.choice(string.ascii_lowercase) for i in range(10)]), # 고유한 호출자 참조 값을 제공합니다.
}
# CloudFront 무효화 요청 생성
response = client.create_invalidation(DistributionId=distribution_id, InvalidationBatch=invalidation_batch)
return {"statusCode": 200, "body": json.dumps("Success!")}
else:
return {"statusCode": 500, "body": json.dumps("Fail!")}
LambdaInvalidationEvent