-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRsltProc.py
More file actions
76 lines (66 loc) · 2.28 KB
/
RsltProc.py
File metadata and controls
76 lines (66 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import time
import random
import boto3
import os
import commands
from decimal import Decimal
from datetime import datetime,timedelta
from ec2_metadata import ec2_metadata
def lambda_handler(event, context):
rsltFilename = 'NULL'
trigTime = 'right now'
listArr = ['TestSrc']
idstr = 'M001'
dynamodb = boto3.resource('dynamodb', region_name='us-east-1')
table = dynamodb.Table('tblMission')
try:
#for record in event['Records']:
# rsltFilename = record['s3']['object']['key']
# trigTime = record['eventTime']
listArr.append(rsltFilename)
except:
print('err')
listArr= ['Testrlst']
response = table.update_item(
Key={
'timePush': idstr
},
UpdateExpression="set rsltList = :rlist",
ExpressionAttributeValues={
':rlist': listArr
},
ReturnValues="UPDATED_NEW"
)
if ('Item' in missionRec):
print('exist')
numTotal = missionRec['Item']['transNumber']
numSucc = missionRec['Item']['transOK']
listArr = missionRec['Item']['rsltList']
noteMail = missionRec['Item']['notifyEmail']
print(listArr)
if (rsltFilename not in listArr):
listArr.append(rsltFilename)
numSucc = str(int(numSucc)+1)
if ( int(numSucc)>=int(numTotal) and noteMail!='Yes'):
#Send noti Mail
strMsg = 'HPC mission '+ idstr +' accomplished at '+ trigTime +'.'
sns = boto3.resource('sns')
topic = sns.Topic('arn:aws:sns:us-east-1:11xxxxxxxx55:NotifyMe')
mailmess = topic.publish(
Message= strMsg
)
print(mailmess)
noteMail = 'Yes'
response = table.update_item(
Key={
'timePush': idstr
},
UpdateExpression="set transOK = :succ, rsltList = :rlist, notifyEmail = :m",
ExpressionAttributeValues={
':succ': numSucc,
':rlist': listArr,
':m': noteMail
},
ReturnValues="UPDATED_NEW"
)
print(response)