[PYTHON] [aws] Senden und Empfangen von SQL-Nachrichten

Überblick

Da ich die Möglichkeit hatte, SQS in meinem Unternehmen zu verwenden, werde ich die Betriebsprüfungsmethode zusammenfassen, die ich zu diesem Zeitpunkt durchgeführt habe.

Was ist SQS?

SQS (Amazon Simple Queue Service) ist eine Nachrichtenwarteschlange und ein Dienst, der das Senden und Empfangen von Daten vermittelt. Es hat fast die gleiche Funktion wie das berühmte "Rabbit MQ" als Nachrichtenbroker.

Die Vorteile der Verwendung von SQS sind: https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html

Warteschlange erstellen

Bevor Sie Daten senden oder empfangen können, müssen Sie eine Warteschlange erstellen. Erstellen Sie es, indem Sie die Schritte in der AWS-Konsole "Dienste → sqs → Warteschlange erstellen" ausführen.

スクリーンショット 2020-10-31 11.11.50.png

Es gibt "Standard" und "FIFO" in der Warteschlange, aber dieses Mal werden wir es als Standard verwenden, da wir nur die Operation überprüfen.

Daten senden

Das Datenübertragungsverfahren ist wie folgt. Sie müssen "aws configure" im Voraus einstellen.

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()

Daten empfangen

Es ist auch möglich, mit sqs zu kommunizieren, indem Sie die URL von sqs angeben. Sie können die URL auf dem AWS-Konsolenbildschirm überprüfen.

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

[aws] Senden und Empfangen von SQL-Nachrichten
Senden und Empfangen von Kolbenbildern
[AWS] SQS über SDK betreiben (Senden / Empfangen) [Python] [Node.js]
Senden Sie Nachrichten und Bilder mit LineNotify
Senden Sie eine Nachricht an Skype und Chatwork in Python
Starten Sie die Kommunikation mit UDP und senden und empfangen Sie mit TCP
[blackbird-sqs] Überwachung von AWS SQS
Senden und empfangen Sie Google Mail über die Google Mail-API mit Python
Senden und Empfangen von Daten mit MQTT über die Watson IoT Platform
AWS SNS liefert doppelte Nachrichten