# 1、HTTPS import json import boto3 def lambda_handler(event, context): print (event) dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('message') body=json.loads(event['body']) mykey = body['MessageAttributes']['mykey']['Value'] seq = body['MessageAttributes']['order']['Value'] https = body['Message'] response = table.get_item( Key={ 'mykey': mykey } ) item = {'mykey': {'S': mykey}, 'seq': {'S': seq}, 'https': {'S': https} } if response: table.update_item( Key={ 'mykey': mykey }, UpdateExpression='SET https = :https', ExpressionAttributeValues={ ':https': https } ) table.update_item( Key={ 'mykey': mykey }, UpdateExpression='SET seq = :seq', ExpressionAttributeValues={ ':seq': seq } ) else: table.put_item(Item = item) # 2、lambda import json import boto3 def lambda_handler(event, context): dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('message') body=event['Records'][0]['Sns'] mykey = body['MessageAttributes']['mykey']['Value'] seq = body['MessageAttributes']['order']['Value'] lamb = body['Message'] response = table.get_item( Key={ 'mykey': mykey } ) item = { 'mykey': {'S': mykey}, 'seq': {'S': seq}, 'lamb': {'S': lamb} } if response: table.update_item( Key={ 'mykey': mykey }, UpdateExpression='SET lamb = :lamb', ExpressionAttributeValues={ ':lamb': lamb } ) else: table.put_item(Item = item) # 3、 SQS import json import boto3 def lambda_handler(event, context): dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('message') print (event) body=json.loads(event['Records'][0]['body']) mykey = body['MessageAttributes']['mykey']['Value'] seq = body['MessageAttributes']['order']['Value'] sqs = body['Message'] response = table.get_item( Key={ 'mykey': mykey } ) item = { 'mykey': {'S': mykey}, 'seq': {'S': seq}, 'sqs': {'S': sqs} } if response: table.update_item( Key={ 'mykey': mykey }, UpdateExpression='SET sqs = :sqs', ExpressionAttributeValues={ ':sqs': sqs } ) else: table.put_item(Item = item) # 4、 pymysql import json import boto3 import pymysql def lambda_handler(event, context): dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('message') print(event) mykey = event['Records'][0]['dynamodb']['Keys']['mykey']['S'] #order = event['Records'][0]['dynamodb']['NewImage']['order']['S'] #sqs = event['Records'][0]['dynamodb']['NewImage']['sqs']['S'] #https = event['Records'][0]['dynamodb']['NewImage']['https']['S'] #lamb = event['Records'][0]['dynamodb']['NewImage']['lambda']['S'] response = table.get_item( Key={ 'mykey': mykey } ) if 'Item' in response: item = response['Item'] if 'sqs' in item and 'lamb' in item and 'https' in item and 'seq' in item: seq = item['seq'] sqs = item['sqs'] lamb = item['lamb'] https = item['https'] else: return else: return message = '' seqs = seq.split() print(seqs) for iterator in seqs: result = iterator.split(':') #print('result:'+result) if result[1] == '0': if result[0] == 'SQS': message = sqs elif result[0] == 'HTTPS': message = https elif result[0] == 'LAMBDA': message = lamb for iterator in seqs: result = iterator.split(':') if result[1] == '1': if result[0] == 'SQS': message += sqs elif result[0] == 'HTTPS': message += https elif result[0] == 'LAMBDA': message += lamb for iterator in seqs: result = iterator.split(':') if result[1] == '2': if result[0] == 'SQS': message += sqs elif result[0] == 'HTTPS': message += https elif result[0] == 'LAMBDA': message += lamb print (message) db = pymysql.connect("mydbinst.cf6cb5zflfqe.rds.cn-northwest-1.amazonaws.com.cn","admin","12345678","mydb" ) cursor = db.cursor() sql = "insert into kv(mykey, myvalue) values( %s, %s)" val = (mykey, message) #try: cursor.execute(sql, val) db.commit() #except: # db.rollback() db.close()