Exemple #1
0
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"])
Exemple #2
0
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'])
Exemple #3
0
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
Exemple #4
0
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.')
Exemple #5
0
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
Exemple #6
0
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
Exemple #7
0
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
Exemple #8
0
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}
Exemple #9
0
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)