Exemplo n.º 1
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'])
Exemplo n.º 2
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"])
Exemplo n.º 3
0
def handler(event, context):

    env = Variables()
    sns = SnsHandler(env.get_sns_arn())

    sns.publish(event)

    print(event)
Exemplo n.º 4
0
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),
    )
Exemplo n.º 5
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
Exemplo n.º 6
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.')
Exemplo n.º 7
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
Exemplo n.º 8
0
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())
    
        
    
        
Exemplo n.º 9
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
Exemplo n.º 10
0
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
Exemplo n.º 11
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
Exemplo n.º 12
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
Exemplo n.º 13
0
 def __init__(self):
     self.__sns = boto3.client('sns')
     self.env = Variables()