|
|
@@ -1,160 +0,0 @@
|
|
|
-
|
|
|
-# 1、 SQS——lambda
|
|
|
-import json
|
|
|
-import boto3
|
|
|
-import time
|
|
|
-import pymysql
|
|
|
-
|
|
|
-def updata_db(m_key,m_value):
|
|
|
- conn2 = pymysql.connect(
|
|
|
- host='XXXxxx',
|
|
|
- port=3306,
|
|
|
- user='root',
|
|
|
- passwd='1234',
|
|
|
- db='cmd',
|
|
|
- charset='utf8mb4')
|
|
|
-
|
|
|
- cs2 = conn2.cursor()
|
|
|
- select_sql = f"INSERT INTO kv (mykey, myvalue) VALUES ('{m_key}', '{m_value}')"
|
|
|
- cs2.execute(select_sql)
|
|
|
- conn2.commit()
|
|
|
- cs2.close()
|
|
|
- conn2.close()
|
|
|
-
|
|
|
-def lambda_handler(event, context):
|
|
|
- # print(event)
|
|
|
- time.sleep(3)
|
|
|
- body = event['Records'][0]['body']
|
|
|
- m_key = event['Records'][0]['messageAttributes']['mykey']['stringValue']
|
|
|
-
|
|
|
-
|
|
|
- ddb= boto3.client('dynamodb')
|
|
|
-
|
|
|
- table_name = 'found'
|
|
|
-
|
|
|
- ddb.update_item(
|
|
|
- TableName=table_name,
|
|
|
-
|
|
|
- ExpressionAttributeValues={
|
|
|
- ':y': {
|
|
|
- 'S': body,
|
|
|
- }
|
|
|
- },
|
|
|
- Key={
|
|
|
- 'm_key': {
|
|
|
- 'S': m_key,
|
|
|
- }
|
|
|
- },
|
|
|
- UpdateExpression='SET sqs = :y',
|
|
|
- ReturnValues="UPDATED_NEW"
|
|
|
- )
|
|
|
-
|
|
|
- res = ddb.get_item(
|
|
|
- Key={
|
|
|
- 'm_key': {
|
|
|
- 'S': m_key,
|
|
|
- }
|
|
|
- },
|
|
|
- TableName=table_name,)
|
|
|
-
|
|
|
- lambda_code=res['Item']['lambda']['S']
|
|
|
- https_code=res['Item']['https']['S']
|
|
|
- sqs_code=res['Item']['sqs']['S']
|
|
|
- order=res['Item']['order']['S']
|
|
|
-
|
|
|
- if "012" == order:
|
|
|
- valueb = sqs_code+https_code+lambda_code
|
|
|
- valuea = valueb.replace("\n","")
|
|
|
- updata_db(m_key,valuea)
|
|
|
- elif "021" == order:
|
|
|
- valueb = sqs_code+lambda_code+https_code
|
|
|
- valuea = valueb.replace("\n","")
|
|
|
- updata_db(m_key,valuea)
|
|
|
- elif "102" == order:
|
|
|
- valueb = https_code+sqs_code+lambda_code
|
|
|
- valuea = valueb.replace("\n","")
|
|
|
- updata_db(m_key,valuea)
|
|
|
- elif "120" == order:
|
|
|
- valueb = https_code+lambda_code+sqs_code
|
|
|
- valuea = valueb.replace("\n","")
|
|
|
- updata_db(m_key,valuea)
|
|
|
- elif "201" == order:
|
|
|
- valueb = lambda_code+sqs_code+https_code
|
|
|
- valuea = valueb.replace("\n","")
|
|
|
- updata_db(m_key,valuea)
|
|
|
- elif "210" == order:
|
|
|
- valueb = lambda_code+https_code+sqs_code
|
|
|
- valuea = valueb.replace("\n","")
|
|
|
- updata_db(m_key,valuea)
|
|
|
- return {
|
|
|
- 'statusCode': 200,
|
|
|
- 'body': json.dumps('Hello from Lambda!')
|
|
|
- }
|
|
|
-
|
|
|
-# 2、API-gateway lambda
|
|
|
-
|
|
|
-import json
|
|
|
-import boto3
|
|
|
-import time
|
|
|
-
|
|
|
-def lambda_handler(event, context):
|
|
|
- time.sleep(2)
|
|
|
- body = json.loads(event['body'])
|
|
|
- val = body["Message"]
|
|
|
- key = body['MessageAttributes']['mykey']['Value']
|
|
|
-
|
|
|
- print("FORMHTTPS:" + key + ":" + val)
|
|
|
-
|
|
|
- ddb= boto3.client('dynamodb')
|
|
|
-
|
|
|
- table_name = 'found'
|
|
|
-
|
|
|
- ddb.update_item(
|
|
|
- TableName=table_name,
|
|
|
- ExpressionAttributeValues={
|
|
|
- ':y': {
|
|
|
- 'S': val,
|
|
|
- }
|
|
|
- },
|
|
|
- Key={
|
|
|
- 'm_key': {
|
|
|
- 'S': key,
|
|
|
- }
|
|
|
- },
|
|
|
- UpdateExpression='SET https = :y',
|
|
|
- ReturnValues="UPDATED_NEW"
|
|
|
- )
|
|
|
- return {
|
|
|
- 'statusCode': 200,
|
|
|
- 'body': json.dumps('Hello from Lambda!')
|
|
|
- }
|
|
|
-
|
|
|
-# 3、lambda - lambda
|
|
|
-
|
|
|
-import json
|
|
|
-import boto3
|
|
|
-
|
|
|
-def lambda_handler(event, context):
|
|
|
- sec = event['Records'][0]['Sns']['MessageAttributes']
|
|
|
- mes = event['Records'][0]['Sns']['Message']
|
|
|
- m_key = sec['mykey']['Value']
|
|
|
- order = sec['order']['Value']
|
|
|
-
|
|
|
- a1 = order.replace(":", "")
|
|
|
- a2 = a1.replace("SQS", '')
|
|
|
- a3 = a2.replace("HTTPS","")
|
|
|
- a4=a3.replace("LAMBDA","")
|
|
|
- a5=a4.replace(" ","")
|
|
|
-
|
|
|
- print("ORDER:"+ m_key + ":" + a5)
|
|
|
- print("FORMLAMBDA:" + m_key + ":" + mes)
|
|
|
-
|
|
|
- ddb= boto3.client('dynamodb')
|
|
|
-
|
|
|
- tableName = 'found'
|
|
|
- item = { 'm_key': {'S': m_key},
|
|
|
- 'order': {'S': a5},
|
|
|
- 'lambda': {'S': mes}
|
|
|
- }
|
|
|
- ddb.put_item(TableName = tableName, Item = item)
|
|
|
-
|