[PYTHON] Stellen Sie mit boto eine Verbindung zu Elastic MQ her

Stellen Sie mit boto eine Verbindung zu Elastic MQ her

Eine lokale Alternative zu Amazon SQS.

Die Methode mit connect_to_region von boto kommt oft vor, Wenn es sich um ein lokales ElasticMQ handelt, müssen Sie eine Verbindung mit regioninfo.SQSRegionInfo herstellen. Notieren Sie sich dies.

Es scheint, dass das Setzen von "is_secure" auf "True" zu "https" führt.

Vorbereitung

ElasticMQ wird gelöscht und gestartet. Standardmäßig ist der Port "9324".

$ java -jar ~/opt/elasticmq-server-0.8.8.jar

Derjenige, der gesendet werden soll

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
from boto.sqs import regioninfo
from boto.sqs.message import Message

AWS_ACCESS_KEY = 'TEST'   #Jeder EMQ ist in Ordnung
AWS_SECRET_KEY = 'TEST'   #Jeder EMQ ist in Ordnung

SQS_REGION     = "emq"         #Jeder EMQ ist in Ordnung
SQS_ENDPOINT   = "localhost"

#Für AWS
# SQS_REGION = "ap-northeast-1"
# SQS_ENDPOINT = "sqs.ap-northeast-1.amazonaws.com"

SQS_QUEUE_NAME = 'dev_messages'
PORT = 9324     #80 für AWS/Oder nicht angeben

region = regioninfo.SQSRegionInfo(name=SQS_REGION, endpoint=SQS_ENDPOINT)
conn = region.connect(
        aws_access_key_id=AWS_ACCESS_KEY,
        aws_secret_access_key=AWS_SECRET_KEY,
        port=PORT,
        is_secure=False
    );

queue = conn.create_queue(SQS_QUEUE_NAME)
msg = Message(
    body='QUEUE TEST',
)
msg.message_attributes = {
        "name1": {
            "data_type": "String",
            "string_value": "I am a string"
        },
    }
queue.write(msg)

Derjenige, der empfängt

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
from boto.sqs import regioninfo
from boto.sqs.message import Message

AWS_ACCESS_KEY = 'TEST'   #Jeder EMQ ist in Ordnung
AWS_SECRET_KEY = 'TEST'   #Jeder EMQ ist in Ordnung

SQS_REGION     = "emq"         #Jeder EMQ ist in Ordnung
SQS_ENDPOINT   = "localhost"

#Für AWS
# SQS_REGION = "ap-northeast-1"
# SQS_ENDPOINT = "sqs.ap-northeast-1.amazonaws.com"

SQS_QUEUE_NAME = 'dev_messages'
PORT = 9324     #80 für AWS/Oder nicht angeben

region = regioninfo.SQSRegionInfo(name=SQS_REGION, endpoint=SQS_ENDPOINT)
conn = region.connect(
        aws_access_key_id=AWS_ACCESS_KEY,
        aws_secret_access_key=AWS_SECRET_KEY,
        port=PORT,
        is_secure=False
    );

queue = conn.get_queue(SQS_QUEUE_NAME)
queue.set_attribute('ReceiveMessageWaitTimeSeconds', 20)

import json

msgs = queue.get_messages(10)
for msg in msgs:
    print json.dumps(msg.__dict__, default=str)
    queue.delete_message(msg)

Recommended Posts

Stellen Sie mit boto eine Verbindung zu Elastic MQ her
Stellen Sie mit Python eine Verbindung zu BigQuery her
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Stellen Sie mit GO eine Verbindung zu Postgresql her
Stellen Sie mit SQL Alchemy eine Verbindung zu mehreren Datenbanken her
Stellen Sie mit Pycoin eine Verbindung zu Bitcoin Testnet her
Verwenden Sie boto3, um zu S3 zu gelangen
Stellen Sie mit Python in Docker eine Verbindung zu MySQL her
Stellen Sie über einen Remotedesktop eine Verbindung zu GNU / Linux her
Stellen Sie mit AWS Lambda Python eine Verbindung zu s3 her
Stellen Sie mit dem Python-Interpreter von PEPPER Mac eine Verbindung zu Pfeffer her
Verwendung von SQLAlchemy / Connect mit aiomysql
Stellen Sie eine Verbindung zu MySQL her
Verbinden Sie Xillybus und Benutzerlogik ganz einfach mit cReComp
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Getestet mit boto3 + mock
Regionsspezifikation mit Boto
S3 Uploader mit Boto
Verbinden Sie Python mit MySQL
Lesen Sie das Tag, das Ihnen in ec2 mit boto3 zugewiesen wurde
Stellen Sie mit ssh-Verbindung vom Mac aus eine Verbindung zu centos6 auf der Virtualbox her
Verbinden Sie den Jupyter Notebook-Kernel mit aktiviertem Jupytext mit Spyder
Ich wollte mit boto3 mehrere objekte in s3 löschen
Verbinden Sie Raspberry Pi mit "Python" mit der Alibaba Cloud IoT Platform
Versuchen Sie, den Boden durch Rekursion herauszufordern
Stellen Sie das Verbindungszeitlimit mit boto3 ein
Post to Slack mit Python 3
S3-Betrieb mit Python Boto3
Einführung in RDB mit sqlalchemy Ⅰ
Machen Sie es mit der Syntax einfach
Wie aktualisiere ich mit SQLAlchemy?
Verbinden Sie MySQL von Vagrant mit MySQL Workbench
Ändern Sie die Wiederholungseinstellungen mit boto3
Wie man mit Theano besetzt
Wie mit SQLAlchemy ändern?
Stellen Sie von Python aus eine Verbindung zu SQLite her
So trennen Sie Zeichenfolgen mit ','
Stellen Sie eine Verbindung zur Tokio-Region von s3 her
Wie man RDP auf Fedora31 macht
2 Möglichkeiten, mit SessionNotCreatedException umzugehen
Wie lösche ich mit SQLAlchemy?
Herstellen einer Verbindung zum Cloud Firestore über Google Cloud-Funktionen mit Python-Code