Ejemplo n.º 1
0
def send(message):
    # TODO: documentation for read me

    Iniesta.load_config(settings)

    message = message or {}

    loop = asyncio.get_event_loop()
    sqs_client = loop.run_until_complete(SQSClient.initialize())
    message = sqs_client.create_message(message=message)
    loop.run_until_complete(message.send())

    click.echo("Message Sent")
    click.echo(f"MessageId: {message.message_id}")

    Iniesta.unload_config(settings)
Ejemplo n.º 2
0
def publish(event, message, version):
    # TODO: documentation for read me

    # app = mock_application()
    loop = asyncio.get_event_loop()
    Iniesta.load_config(settings)

    version = version or 1
    message = message or {}

    sns_client = SNSClient()

    message = sns_client.create_message(event=event,
                                        message=message,
                                        version=version,
                                        raw_event=True)
    # message.add_event(event, raw=True)
    result = loop.run_until_complete(message.publish())

    if result["ResponseMetadata"]["HTTPStatusCode"] == 200:
        click.echo("Publish Success!")
    else:
        click.echo("Publish Failed!")
    click.echo("\n")
    click.echo("REQUEST INFO")
    click.echo(f"Message Event : {message.event}")
    click.echo(f"Message Data : {message.message}")
    click.echo(f"Full Payload : {message}")
    click.echo(f"Message Length : {message.size}")
    click.echo("\n")
    click.echo("RESPONSE INFO")
    click.echo(f"Message ID : {result['MessageId']}")
    click.echo(
        f"Message Length : {result['ResponseMetadata']['HTTPHeaders']['content-length']}"
    )

    Iniesta.unload_config(settings)