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 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 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
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 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 findDest(message): num = randrange(10) # Tentamos induzir uma mensagem ao erro para que esta seja redirecionada à SQS DLQ if num >= 5: print(num) sqs = SqsHandler('<INSIRA A URL DA FILA SQS PRINCIPAL>') sqs.send(message) send = "Message send to Principal" else: print(num) sqs = SqsHandler('<INSIRA A URL DA FILA SQS SECUNDARIA DLQ>') sqs.send(message) send = "Message send to DLQ" return {send}
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
from sqsHandler import SqsHandler mensagens = [] numMsgsToCreate = 3000 for num in range(numMsgsToCreate): mensagens.append({'Id': str(num), 'MessageBody': str(num)}) splitMsg = [mensagens[x:x + 10] for x in range(0, len(mensagens), 10)] sqs = SqsHandler('<url da sua fila>') for lista in splitMsg: print(type(lista)) print(str(lista)) sqs.sendBatch(lista)
from sqsHandler import SqsHandler mensagens = [] for num in range(3000): mensagens.append({'Id': str(num), 'MessageBody': str(num)}) splitMsg = [mensagens[x:x + 10] for x in range(0, len(mensagens), 10)] sqs = SqsHandler('https://sqs.us-east-1.amazonaws.com/867061838226/demoqueue') for lista in splitMsg: print(type(lista)) print(str(lista)) sqs.sendBatch(lista)
from sqsHandler import SqsHandler sqs = SqsHandler('<url da sua fila>') while(True): response = sqs.getMessage(10) if(len(response['Messages']) == 0): break mensagens = [] for msg in response['Messages']: mensagens.append({'Id':msg['MessageId'], 'ReceiptHandle':msg['ReceiptHandle']}) sqs.deleteMessage(mensagens)