adding initial boilerplates
This commit is contained in:
63
python/aws/sqs/sendToSQS.py
Normal file
63
python/aws/sqs/sendToSQS.py
Normal file
@@ -0,0 +1,63 @@
|
||||
import boto3
|
||||
import base64
|
||||
import hashlib
|
||||
from datetime import datetime
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.append(os.getcwd())
|
||||
from pullTrafficInfo import getTrafficInfo
|
||||
|
||||
|
||||
class sendToSQS(object):
|
||||
"""docstring for sendToSQS"""
|
||||
|
||||
def __init__(self, session, queueURL):
|
||||
super(sendToSQS, self).__init__()
|
||||
self.session = session
|
||||
self.sqs = session.client('sqs')
|
||||
self.queueURL = queueURL
|
||||
|
||||
@classmethod
|
||||
def createSession(cls, profileName, queueURL):
|
||||
session = boto3.Session(profile_name=profileName)
|
||||
return cls(session, queueURL)
|
||||
|
||||
def sendMessage(self, message, messageGroupId, b64=True, dedup=False):
|
||||
currentTime = datetime.now().strftime('%H:%M:%S.%f')
|
||||
if b64:
|
||||
message = (base64.b64encode(message.encode())).decode()
|
||||
if not dedup:
|
||||
dedupId = hashlib.md5((message + currentTime).encode()).hexdigest()
|
||||
msg = self.sqs.send_message(
|
||||
QueueUrl=self.queueURL,
|
||||
MessageBody=message,
|
||||
MessageGroupId=messageGroupId,
|
||||
MessageDeduplicationId=dedupId,
|
||||
)
|
||||
else:
|
||||
msg = self.sqs.send_message(
|
||||
QueueUrl=self.queueURL,
|
||||
MessageBody=message,
|
||||
MessageGroupId=messageGroupId,
|
||||
)
|
||||
if msg is not None:
|
||||
print(msg['MessageId'])
|
||||
|
||||
|
||||
# inst = sendToSQS.createSession(
|
||||
# profileName='plex-aws',
|
||||
# queueURL='https://sqs.eu-west-1.amazonaws.com'
|
||||
# '/745437999005/slack-bot.fifo',
|
||||
# )
|
||||
|
||||
# instM = (
|
||||
# getTrafficInfo.getTrafficURL('M62')
|
||||
# .findIncidents()
|
||||
# .getIncidentInformation()
|
||||
# .generateOutput()
|
||||
# )
|
||||
|
||||
# for _ in range(0, 5):
|
||||
# for item in instM.output:
|
||||
# inst.sendMessage(message=item, messageGroupId='slack-bot-M62')
|
||||
Reference in New Issue
Block a user