[PYTHON] Connectez-vous à Elastic MQ avec boto

Connectez-vous à Elastic MQ avec boto

Une alternative locale à Amazon SQS.

La méthode utilisant connect_to_region de boto arrive souvent, S'il s'agit d'un ElasticMQ local, vous devez vous connecter avec regioninfo.SQSRegionInfo, alors notez-le.

Il semble que si ʻis_secure est défini sur True, il devient https`.

Préparation

ElasticMQ est abandonné et démarré. Par défaut, le port est «9324».

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

Celui à envoyer

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

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

AWS_ACCESS_KEY = 'TEST'   #Tout EMQ est bien
AWS_SECRET_KEY = 'TEST'   #Tout EMQ est bien

SQS_REGION     = "emq"         #Tout EMQ est bien
SQS_ENDPOINT   = "localhost"

#Pour AWS
# SQS_REGION = "ap-northeast-1"
# SQS_ENDPOINT = "sqs.ap-northeast-1.amazonaws.com"

SQS_QUEUE_NAME = 'dev_messages'
PORT = 9324     #80 pour AWS/Ou ne spécifiez pas

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)

Celui qui reçoit

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

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

AWS_ACCESS_KEY = 'TEST'   #Tout EMQ est bien
AWS_SECRET_KEY = 'TEST'   #Tout EMQ est bien

SQS_REGION     = "emq"         #Tout EMQ est bien
SQS_ENDPOINT   = "localhost"

#Pour AWS
# SQS_REGION = "ap-northeast-1"
# SQS_ENDPOINT = "sqs.ap-northeast-1.amazonaws.com"

SQS_QUEUE_NAME = 'dev_messages'
PORT = 9324     #80 pour AWS/Ou ne spécifiez pas

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

Connectez-vous à Elastic MQ avec boto
Connectez-vous à BigQuery avec Python
Connectez-vous à Wikipedia avec Python
Connectez-vous à Postgresql avec GO
Connectez-vous à plusieurs bases de données avec SQL Alchemy
Connectez-vous à Bitcoin Testnet avec Pycoin
Utilisez boto3 pour accéder à S3
Connectez-vous à MySQL avec Python dans Docker
Connectez-vous à GNU / Linux avec un bureau distant
Connectez-vous à s3 avec AWS Lambda Python
Connectez-vous à Pepper avec l'interpréteur Python de PEPPER Mac
Comment utiliser SQLAlchemy / Connect avec aiomysql
Connectez-vous à mysql
Connectez facilement Xillybus et la logique utilisateur avec cReComp
Connectez-vous à MySQL avec Python sur Raspberry Pi
Testé avec boto3 + mock
Spécification de la région avec boto
Téléchargeur S3 avec boto
Connectez python à mysql
lire le tag qui vous est attribué dans ec2 avec boto3
Connectez-vous à centos6 sur Virtualbox avec une connexion SSH depuis Mac
Connectez le noyau Jupyter Notebook à Spyder avec Jupytext activé
Je voulais supprimer plusieurs objets en s3 avec boto3
Connectez Raspberry Pi à Alibaba Cloud IoT Platform avec «Python»
Essayez de défier le sol par récursif
Définir le délai d'expiration de la connexion avec boto3
Publiez sur Slack avec Python 3
Opération S3 avec python boto3
Introduction à RDB avec sqlalchemy Ⅰ
Rendre avec la syntaxe facile
Comment mettre à jour avec SQLAlchemy?
Connectez MySQL de Vagrant à MySQL Workbench
Modifier les paramètres de nouvelle tentative avec boto3
Comment lancer avec Theano
Comment modifier avec SQLAlchemy?
Connectez-vous à sqlite depuis python
Comment séparer les chaînes avec ','
Connectez-vous à la région tokyo de s3
Comment faire RDP sur Fedora31
2 façons de gérer SessionNotCreatedException
Comment supprimer avec SQLAlchemy?
Comment se connecter à Cloud Firestore à partir de Google Cloud Functions avec du code Python