AWS S3 Glacier Retrieval Lambda
AWS S3 Glacier Retrieval Lambda
import json import boto3 import os import base64 import gzip client = boto3.client('s3') def lambda_handler(event, context): print(event) try: logs = event['awslogs']['data'] decoded_logs = base64.b64decode(logs) uncompressed_logs = gzip.decompress(decoded_logs) logs_data = uncompressed_logs.decode('utf-8') print(logs_data) logs_json = json.loads(logs_data) print(logs_json) log_event = logs_json['logEvents'][0]['message'] print(log_event) logs_json1 = json.loads(log_event) print(logs_json1) bucketName = logs_json1['requestParameters']['bucketName'] print(bucketName) key = logs_json1['requestParameters']['key'] print(key) daysCount=os.environ['DAYS_COUNT'] daysCount = int(daysCount) response = client.restore_object( Bucket=bucketName, Key=key, RestoreRequest={ 'Days': daysCount, 'GlacierJobParameters': { 'Tier': 'Standard' } } ) print(response) except Exception as ex: print(ex) return { 'respon': 'Success' }