Ir para o conteúdo

Amazon AWS - Serviço de Fila Simples (SQS)

Nada pode ser mais simples de interagir com o AWS Simple Queue Service (SQS) do que o plugin Botcity para a AWS Lambda.

Crie filas, envie e receba mensagens e muito mais.

Instalação

pip install botcity-aws-sqs-plugin

Importando o plugin

Depois de instalar este pacote, a próxima etapa é importar o pacote para o seu código e começar a usar as funções.

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

Configurando a conexão

Observação

Existem duas maneiras diferentes de autenticar.

1.Criando a pasta .aws no diretório inicial, você precisa criar dois arquivos.

# ~/.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. Passando credenciais no construtor da classe.

# Usando a pasta `.aws`
sqs = BotAWSSQSPlugin()

# Alternativa usando as credenciais como argumentos construtores
sqs = BotAWSSQSPlugin(
    use_credentials_file=False,
    access_key_id='<seu_id_chave_acesso_aws>',
    secret_access_key='<sua_chave_acesso_secreta_aws>',
    region_name='<cod_região>'  # padrão -region='us-east-1'
)

Info

Você pode definir o padrão queue_name e queue_url.

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

Operações de fila

Criar uma fila

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

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

Listar filas

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

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

Obter URL da fila

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

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

Excluir fila

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

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

Operações da fila de mensagens

Enviar mensagem

Info

message_body pode ser uma string ou um dict.

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

sqs = BotAWSSQSPlugin()
resposta = sqs.send_message(queue_url="URL_FILA_AQUI", message="Olá Mundo!")
print(resposta)

Receber mensagem

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

sqs = BotAWSSQSPlugin()
resposta = sqs.receive_message(queue_url="URL_FILA_AQUI")
print(resposta)

Apagar mensagem

from botcity.plugins.aws.sqs import BotAWSSQSPlugin

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