def le(event, context): env = Variables() sqs = SqsHandler(env.get_sqs_url()) while (True): msgs = sqs.getMessage(5) print("********* Response") print(str(msgs)) print("*********") if ('Messages' not in msgs): break if (len(msgs['Messages']) == 0): break mensagens = [] for msg in msgs['Messages']: mensagens.append({ 'Id': msg['MessageId'], 'ReceiptHandle': msg['ReceiptHandle'] }) print("*********") print(str(msg["Body"])) print("*********") if (str(msg["Body"]) == "erro"): raise Exception('DLQ, Please!') sqs.deleteMessage(msg['ReceiptHandle'])
def push(event, context): # Create an SNS client sns = boto3.client('sns') env = Variables() sqs = SqsHandler(env.get_sqs_dlq_url()) while (True): response = sqs.getMessage(5) print(response) if ('Messages' not in response): break if (len(response['Messages']) == 0): break for msg in response['Messages']: # Publish a simple message to the specified SNS topic retorno = sns.publish( TopicArn=env.get_sns_arn(), Message=str(msg['Body']), ) # Print out the response print(retorno) print('Deletando mensagem') sqs.deleteMessage(msg["ReceiptHandle"])
def handler(event, context): env = Variables() sns = SnsHandler(env.get_sns_arn()) sns.publish(event) print(event)
def publish_message_to_sns(message: str): sns = boto3.client('sns') env = Variables() topico = env.get_arn_id() response = sns.publish( TopicArn=topico, Message=str(message), )
def inseresqs(event, context): env = Variables() sqs = SqsHandler(env.get_sqs_url()) sqsDest = SqsHandler(env.get_sqs_url_dest()) mensagem = event['pathParameters']['mensagem'] sqs.send(str(mensagem)) body = {"Messagem ": str(mensagem)} response = {"statusCode": 200, "body": json.dumps(body)} return response
def handler(event, context): env = Variables() sqs = SqsHandler(env.get_sqs_url()) print('Recebendo DLQ') print(event['Records'][0]['body']) sns = SnsHandler(env.get_sns_url_dest()) response = sns.publish(event['Records'][0]['body']) print(response) print('Email enviado.') sqs.deleteMessage(event['Records'][0]['receiptHandle']) print('Mensagem Removida.')
def handler(event, context): mensagem = event['pathParameters']['mensagem']; body = { "message": "A mensagem " + str(mensagem) + " foi enviada" } env = Variables() sqs = SqsHandler(env.get_sqs_url()) sqs.send(mensagem) response = { "statusCode": 200, "body": json.dumps(body) } return response
class SnsHandler: def __init__(self): self.__sns = boto3.client('sns') self.env = Variables() def __publishToSns(self,subject,message,arn): response = self.__sns.publish( TopicArn=self.env.get_sns_alert_manager(), Message=message, Subject=subject ) print(str(response)) def publishToSnsAlertManager(self,subject,message): return self.__publishToSns(subject,message,self.env.get_sns_alert_manager())
def insert(event, context): xray_recorder.configure(service='insereSQS') #plugins = ('ElasticBeanstalkPlugin', 'EC2Plugin') #xray_recorder.configure(plugins=plugins) patch_all() env = Variables() sqs = SqsHandler(env.get_sqs_url()) print(str(env.get_sqs_url())) mensagem = event['pathParameters']['mensagem'] sqs.send(mensagem) body = {"message": "A mensagem enviada foi: " + str(mensagem)} response = {"statusCode": 200, "body": json.dumps(body)} return response
def criarUsuario(event, context): print('body: ' + str(event['body'])) env = Variables() usuario = event['body'] print('Usuario: ' + str(usuario)) sqs = boto3.resource('sqs') queue = sqs.get_queue_by_name(QueueName=env.get_sqs_url_dest()) queue.send_message(MessageBody=usuario) print('mensagem enviada') body = {"message": "O usuario enviado foi cadastrado"} response = {"statusCode": 200, "body": json.dumps(body)} return response
def publica_topico(event, context): env = Variables() sqsDest = SqsHandler(env.get_sqs_url_dest()) msgs = sqsDest.getMessage(10) texto = str(msgs) resposta = "" if texto[2:18] == "ResponseMetadata": resposta = "Nao ha mensagens" else: for msg in msgs['Messages']: resposta = resposta + str(msg['Body']) + ", " if texto[2:18] != "ResponseMetadata": publish_message_to_sns(resposta) body = {"Mensagens enviadas ": str(resposta)} response = {"statusCode": 200, "body": json.dumps(body)} return response
def recebe_sqs_principal_imprimir(event, context): env = Variables() sqs = SqsHandler(env.get_sqs_url()) sqsDest = SqsHandler(env.get_sqs_url_dest()) msgs = sqs.getMessage(10) texto = str(msgs) resposta = "" if texto[2:18] == "ResponseMetadata": resposta = "Nao ha mensagens" else: for msg in msgs['Messages']: resposta = resposta + str(msg['Body']) + ", " sqsDest.send(str(msg['Body'])) sqs.deleteMessage(msg['ReceiptHandle']) body = {"Resposta ": str(resposta)} response = {"statusCode": 200, "body": json.dumps(body)} return response
def __init__(self): self.__sns = boto3.client('sns') self.env = Variables()