33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
import boto3
|
|
import json
|
|
import urllib.parse # pylint: disable=E0611
|
|
|
|
print('Loading function')
|
|
dynamodb_client = boto3.client('dynamodb')
|
|
table_name = 'minified-archives.webkit.org'
|
|
s3 = boto3.client('s3')
|
|
|
|
|
|
def lambda_handler(event, context):
|
|
print("Received event: " + json.dumps(event, indent=2))
|
|
|
|
key = urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key'], encoding='utf-8') # pylint: disable=E1101
|
|
# ex: mac-sierra-x86_64-debug/218331.zip
|
|
|
|
split_key = key.split('/')
|
|
identifier = split_key[0] # mac-sierra-x86_64-debug
|
|
filename = split_key[1] # 218331.zip
|
|
revision = filename.split('.')[0] # 218331
|
|
|
|
print ("identifier: " + identifier)
|
|
print ("revision: " + revision)
|
|
|
|
try:
|
|
item = {'identifier': {'S': identifier}, 'revision': {'N': revision}}
|
|
response = dynamodb_client.delete_item(TableName=table_name, Key=item)
|
|
return response
|
|
except Exception as e:
|
|
print(e)
|
|
print('Error deleting item: {}\nfrom database: {}.'.format(item, table_name))
|
|
raise e
|