瀏覽代碼

rename SNS-SQS-Lambda-HTTPS.py to new-SNS-SQS-Lambda-HTTPS.py.

xdc 5 年之前
父節點
當前提交
82b9513fd9
共有 2 個文件被更改,包括 212 次插入150 次删除
  1. 0 150
      SNS-SQS-Lambda-HTTPS.py
  2. 212 0
      new-SNS-SQS-Lambda-HTTPS.py

+ 0 - 150
SNS-SQS-Lambda-HTTPS.py

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

+ 212 - 0
new-SNS-SQS-Lambda-HTTPS.py

@@ -0,0 +1,212 @@
+
+#1 https
+
+import boto3
+import json
+
+
+table_name = 'hehe'
+def updata_ddb(mykey,order,msg):
+    client = boto3.client('dynamodb')
+    # response = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}})
+    # item = response.get("Item")
+    # # if item == None and item.get('https'):
+    client.update_item(TableName=table_name,Key={'mykey': {'S':mykey}},UpdateExpression='SET https = :https, orderss = :orderss',
+            ExpressionAttributeValues={
+            ':https': {'S': msg},
+            ':orderss':{'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]}"
+    print(mykey,order,message)
+    updata_ddb(mykey=mykey,order=order,msg=message)
+
+    return {
+        'statusCode': 200,
+        'body': json.dumps('Hello from Lambda!')
+        }
+
+
+# SQS
+
+import boto3
+import json
+import time
+import pymysql
+
+client = boto3.client('dynamodb')
+table_name = 'hehe'
+def updata_ddb(mykey,msg):
+    client = boto3.client('dynamodb')
+    client.update_item(TableName='hehe',
+            Key={'mykey': {'S':mykey}},
+            UpdateExpression='SET sqs = :sqs',
+            ExpressionAttributeValues={
+            ':sqs': {
+                'S': msg},
+                })
+
+def exec_sql(mykey,myvalue):
+    conn2 = pymysql.connect(
+        host='aurora-db.cluster-chxg6aynimx1.rds.cn-northwest-1.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):
+    message = json.loads(event['Records'][0]['body'])['Message']
+    mykey = json.loads(event['Records'][0]['body'])['MessageAttributes']['mykey']['Value']
+    updata_ddb(mykey=mykey,msg=message)
+    # time.sleep(1)
+    try:
+        res = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}})
+        sqs_code = message
+        https_code = res['Item']['https']['S']
+        order_code = res['Item']['orderss']['S']
+        lambda_code = res['Item']['lambda']['S']
+        myvalue = sorta(num=order_code,sqs=sqs_code,https=https_code,lambdaa=lambda_code)
+        exec_sql(mykey=mykey,myvalue=myvalue)
+    except:
+        time.sleep(1)
+        res2 = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}})
+        sqs_code = message
+        https_code = res2['Item']['https']['S']
+        order_code = res2['Item']['orderss']['S']
+        lambda_code = res2['Item']['lambda']['S']
+        myvalue = sorta(num=order_code,sqs=sqs_code,https=https_code,lambdaa=lambda_code)
+        exec_sql(mykey=mykey,myvalue=myvalue)
+    finally:
+        time.sleep(2)
+        res3 = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}})
+        sqs_code = message
+        https_code = res3['Item']['https']['S']
+        order_code = res3['Item']['orderss']['S']
+        lambda_code = res3['Item']['lambda']['S']
+        myvalue = sorta(num=order_code,sqs=sqs_code,https=https_code,lambdaa=lambda_code)
+        exec_sql(mykey=mykey,myvalue=myvalue)
+
+
+# 3. SNS
+
+import boto3
+import json
+import time
+import pymysql
+
+client = boto3.client('dynamodb')
+table_name = 'hehe'
+def updata_ddb(mykey,msg):
+    client = boto3.client('dynamodb')
+    client.update_item(TableName='hehe',
+            Key={'mykey': {'S':mykey}},
+            UpdateExpression='SET lambda = :lambda',
+            ExpressionAttributeValues={
+            ':lambda': {
+                'S': msg},
+                })
+
+def exec_sql(mykey,myvalue):
+    conn2 = pymysql.connect(
+        host='aurora-db.cluster-chxg6aynimx1.rds.cn-northwest-1.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(mykey=mykey,msg=message)
+    # time.sleep(2)
+    # try:
+    #     res = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}})
+    #     sqs_code = res['Item']['sqs']['S']
+    #     https_code = res['Item']['https']['S']
+    #     order_code = res['Item']['orderss']['S']
+    #     lambda_code = res['Item']['lambda']['S']
+    #     myvalue = sorta(num=order_code,sqs=sqs_code,https=https_code,lambdaa=lambda_code)
+    #     exec_sql(mykey=mykey,myvalue=myvalue)
+    # except:
+    #     time.sleep(4)
+    #     res2 = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}})
+    #     sqs_code = res2['Item']['sqs']['S']
+    #     https_code = res2['Item']['https']['S']
+    #     order_code = res2['Item']['orderss']['S']
+    #     lambda_code = res2['Item']['lambda']['S']
+    #     myvalue = sorta(num=order_code,sqs=sqs_code,https=https_code,lambdaa=lambda_code)
+    #     exec_sql(mykey=mykey,myvalue=myvalue)
+    # finally:
+    #     time.sleep(5)
+    #     res3 = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}})
+    #     sqs_code = res3['Item']['sqs']['S']
+    #     https_code = res3['Item']['https']['S']
+    #     order_code = res3['Item']['orderss']['S']
+    #     lambda_code = res3['Item']['lambda']['S']
+    #     myvalue = sorta(num=order_code,sqs=sqs_code,https=https_code,lambdaa=lambda_code)
+    #     exec_sql(mykey=mykey,myvalue=myvalue)
+
+    # if sqs_code is not None and https_code is not None and order_code is not None and lambda_code is not None:
+    #     myvalue = sorta(num=order_code,sqs=sqs_code,https=https_code,lambdaa=lambda_code)
+    #     exec_sql(mykey=mykey,myvalue=myvalue)
+    # else:
+    #     time.sleep(1)
+    #     res4 = client.get_item(TableName='hehe',Key={'mykey':{'S':mykey}})
+    #     sqs_code = res4['Item']['sqs']['S']
+    #     https_code = res4['Item']['https']['S']
+    #     order_code = res4['Item']['orderss']['S']
+    #     lambda_code = res4['Item']['lambda']['S']
+    #     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!')
+    #     }