## ## 1、HTTPS import boto3 import json client = boto3.client('dynamodb') table_name = 'haha' def updata_ddb(client,mykey,order,msg): response = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}}) if response.get('Item') == None and response.get('Item').get('https') == None: table.update_item(TableName=table_name, Key={'mykey': {'S':mykey}}, UpdateExpression='SET https = :https, order = :order', ExpressionAttributeValues={ ':https': { 'S': msg}, ':order':{ 'S': order} }) else: pass def lambda_handler(event, context): message = json.loads(event['body'])['Message'] mykey = json.loads(event['body'])['MessageAttributes']['mykey']['Value'] order_orgain = json.loads(event['body'])['MessageAttributes']['order']['Value'] order = f"{order_orgain.split(' ')[0][-1]}{order_orgain.split(' ')[1][-1]}{order_orgain.split(' ')[2][-1]}" updata_ddb(client=client,mykey=mykey,order=order,msg=message) return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') } # sqs import boto3 import json client = boto3.client('dynamodb') table_name = 'haha' def updata_ddb(client,mykey,msg): response = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}}) if response.get('Item') == None and response.get('Item').get('sqs') == None: table.update_item(TableName=table_name, Key={'mykey': {'S':mykey}}, UpdateExpression='SET sqs = :sqs', ExpressionAttributeValues={ ':sqs': { 'S': msg}, }) else: pass def lambda_handler(event,context): # TODO message = json.loads(event['Records'][0]['body'])['Message'] mykey = json.loads(event['Records'][0]['body'])['MessageAttributes']['mykey']['Value'] updata_ddb(client=client,mykey=mykey,msg=message) return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') } # lambda import boto3 import json import time client = boto3.client('dynamodb') table_name = 'haha' def updata_ddb(client,mykey,msg): response = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}}) if response.get('Item') == None and response.get('Item').get('lambda') == None: table.update_item(TableName=table_name, Key={'mykey': {'S':mykey}}, UpdateExpression='SET lambda = :lambda', ExpressionAttributeValues={ ':lambda': { 'S': msg}, }) else: pass def exec_sql(mykey,myvalue): conn2 = pymysql.connect( host='da.amazonaws.com.cn', port=3306, user='admin', passwd='12345678', db='cmd', charset='utf8mb4') cs2 = conn2.cursor() ex_sql = f'INSERT INTO kv (mykey, myvalue) VALUES ("{mykey}", "{myvalue}");' cs2.execute(ex_sql) conn2.commit() cs2.close() conn2.close() def sorta(num,sqs,https,lambdaa): if num == '012': return(f"{sqs}{https}{lambdaa}") elif num == '021': return(f"{sqs}{lambdaa}{https}") elif num == '102': return(f"{https}{sqs}{lambdaa}") elif num == '120': return(f"{lambdaa}{sqs}{https}") elif num == '201': return(f"{https}{lambdaa}{sqs}") elif num == '210': return(f"{lambdaa}{https}{sqs}") def lambda_handler(event,context): mykey = event['Records'][0]['Sns']['MessageAttributes']['mykey']['Value'] message = event['Records'][0]['Sns']['Message'] updata_ddb(client=client,mykey=mykey,msg=message) time.sleep(0.5) response = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}}) sqs_code = response.get('Item').get('sqs') https_code = response.get('Item').get('https') order_code = response.get('Item').get('order') lambda_code = response.get('Item').get('lambda') if sqs_code not None and https_code not None and order_code not None and lambda_code not None: myvalue = sorta(num=order_code,sqs=sqs_code,https=https_code,lambdaa=lambda_code) exec_sql(mykey=mykey,myvalue=myvalue) else: response = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}}) sqs_code = response.get('Item').get('sqs') https_code = response.get('Item').get('https') order_code = response.get('Item').get('order') lambda_code = response.get('Item').get('lambda') myvalue = sorta(num=order_code,sqs=sqs_code,https=https_code,lambdaa=lambda_code) exec_sql(mykey=mykey,myvalue=myvalue) return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') }