In this section, we will create a function to delete document information stored in the DynamoDB table by user id and filename.
Open AWS Lambda console
Click Create function

Enter function name: delete_documents

import json
import boto3
import os
client = boto3.resource('dynamodb')
def lambda_handler(event, context):
# TODO implement
table_name = os.environ['TABLE_NAME']
error = None
doc_pk = event['pathParameters']['id']
print("doc_pk ", doc_pk)
doc_sk = event['queryStringParameters']['file']
print("doc_sk ", doc_sk)
table = client.Table(table_name)
key = {
'user_id':doc_pk,
'file': doc_sk
}
try:
table.delete_item(Key = key)
except Exception as e:
error = e
except Exception as e:
error = e
if error is None:
message = 'delete document successful!'
else:
print(error)
message = 'delete document fail'
return {
'statusCode': 200,
'body': message,
'headers': {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
},
}

The above code executes to get the TABLE_NAME environment variable, partition key and sort key in request. Then execute the delete command to delete the item in the table with those partition key and sort key.

TABLE_NAME as key


,
{
"Effect": "Allow",
"Action": [
"dynamodb:DeleteItem"
],
"Resource": "arn:aws:dynamodb:REGION:ACCOUNT_ID:table/Documents"
}
Replace REGION and ACCOUNT_ID with the region you create the table and your account id.

