Puisque j'ai eu l'opportunité d'utiliser SQS dans mon entreprise, je vais résumer la méthode de contrôle de fonctionnement que j'ai pratiquée à ce moment-là.
SQS (Amazon Simple Queue Service) est une file d'attente de messages et est un service qui intervient dans la transmission et la réception des données.
Il a presque la même fonction que le fameux Rabbit MQ
en tant que courtier de messages.
Les avantages de l'utilisation de SQS sont: https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html
Avant de pouvoir envoyer ou recevoir des données, vous devez créer une file d'attente.
Créez-le en suivant les étapes de la console AWS Services → sqs → Create Queue
.
Il y a «standard» et «FIFO» dans la file d'attente, mais cette fois, nous allons l'utiliser en standard car nous ne vérifions que l'opération.
La méthode de transmission de données est la suivante. Il est nécessaire de définir ʻaws configure` à l'avance.
import boto3
import json
que_name = 'test_que'
sqs = boto3.resource('sqs')
queue = sqs.get_queue_by_name(QueueName=que_name)
def sqs_send_msg():
msg = [{'Id': '1', 'MessageBody': json.dumps([{'result': "msg_1"}])}]
response = queue.send_messages(Entries=msg)
print(response)
return response
sqs_send_msg()
Il est également possible de communiquer avec sqs en spécifiant l'url de sqs. Vous pouvez vérifier l'URL depuis l'écran de la console AWS.
import boto3
import json
sqs = boto3.client('sqs')
queue_url = "https://sqs.ap-northeast-1.amazonaws.com/xxxxxxxxxxxx/test_que"
def sqs_receive_msg():
msg = sqs.receive_message(QueueUrl=queue_url, MaxNumberOfMessages=10)
print(msg)
sqs_receive_msg()
Recommended Posts