| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- # 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()
-
-
-
-
-
-
|