|
|
@@ -0,0 +1,149 @@
|
|
|
+
|
|
|
+##
|
|
|
+## 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!')
|
|
|
+ }
|
|
|
+
|