Saltar a contenido

Amazon AWS - Servicio de fila Simple (SQS)

Nada puede ser más sencillo para interactuar con el Servicio de fila Simple (SQS) de AWS que el complemento BotCity para AWS Lambda.

Crea filas, envía y recibe mensajes y mucho más.

Instalación

pip install botcity-aws-sqs-plugin

Importando el complemento

Después de instalar este paquete, el siguiente paso es importar el paquete en tu código y comenzar a utilizar las funciones.

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

Configuración de la conexión

Note

Hay dos formas diferentes de autenticación.

1. Creando la carpeta .aws en el directorio principal, debes crear dos archivos.

# ~/.aws/config
[default]
region=<region_code>
# ~/.aws/credentials
[default]
aws_access_key_id=<your_aws_access_key_id>
aws_secret_access_key=<your_aws_secret_access_key>

2. Pasando las credenciales en el constructor de la clase.

# Using the `.aws` folder
sqs = BotAWSSQSPlugin()

# Alternative using the credentials as constructor arguments
sqs = BotAWSSQSPlugin(
    use_credentials_file=False,
    access_key_id='<your_aws_access_key_id>',
    secret_access_key='<your_aws_secret_access_key>',
    region_name='<region_code>'  # default-region='us-east-1'
)

Info

Puedes establecer el queue_name y queue_url predeterminados.

sqs = BotAWSSQSPlugin()
sqs.queue_name = '<queue_name>'
sqs.queue_url = '<queue_url>'

Operaciones de la fila

Crear una fila

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

sqs = BotAWSSQSPlugin()
response = sqs.create_queue(queue_name="test-123")
print(response)

Listar filas

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

sqs = BotAWSSQSPlugin()
queues = sqs.list_queues()
print(queues)

Obtener URL de la fila

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

sqs = BotAWSSQSPlugin()
queue_url = sqs.get_queue_url(queue_name="test-123")
print(queue_url)

Eliminar fila

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

sqs = BotAWSSQSPlugin()
sqs.delete_queue(queue_url="QUEUE_URL_HERE")

Operaciones de la fila de mensajes

Enviar mensaje

Info

message_body puede ser una cadena de texto o un diccionario.

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

sqs = BotAWSSQSPlugin()
response = sqs.send_message(queue_url="QUEUE_URL_HERE", message="Hello world!")
print(response)

Recibir mensaje

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

sqs = BotAWSSQSPlugin()
response = sqs.receive_message(queue_url="QUEUE_URL_HERE")
print(response)

Eliminar mensaje

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

sqs = BotAWSSQSPlugin()
response = sqs.delete_message(queue_url="QUEUE_URL_HERE", receipt_handle="RECEIPT_HANDLE_HERE")
print(response)