2015-12-01 2 views
2

Je suis nouveau sur AWS. Je suis un démarrage rapide des didacticiels AWS. Je suivais la documentation du code sqs et sqs d'AWS.Les files d'attente AWS sqs ne répertorient pas toutes les files d'attente

C'est le code suivant que j'ai écrit

import boto3 
from boto3.session import Session 

session = Session(aws_access_key_id="aswe343ffsf34r3fef3f", 
         aws_secret_access_key="3423d23r2fwwfe232r2r", 
        region_name="ap-southeast-1") 

sqs = session.resource("sqs") 
q_client = boto3.client("sqs") 


sqs.create_queue(QueueName='test-One', 
      Attributes = {'DelaySeconds': '5' 
}) 


sqs.create_queue(QueueName='test-Three', 
      Attributes = {'DelaySeconds': '5' }) 

#print "The queue path is : ",queue.url 
#print dict(queue.attributes) 
#print " DILAY ",queue.attributes.get("DelaySeconds") 

q_client.create_queue(QueueName='test-Two',Attributes = { 
    "DelaySeconds" : "5" 
}) 

#q_client.delete_queue(QueueUrl = 'https://us-west-2.queue.amazonaws.com/978916941101/test') 

q = q_client.list_queues() 

print "QUEUE - URLS ",q.get("QueueUrls") 

qList = sqs.queues.all() 

for q in qList: 
    print q.url 

La sortie du code ci-dessus est

(env1)[email protected]:~/rahul/PythonPractise/Boto3_Practise$ python clientTwo.py 
QUEUE - URLS ['https://us-west-2.queue.amazonaws.com/978916941101/test-Two'] 
https://ap-southeast-1.queue.amazonaws.com/978916941101/test 
https://ap-southeast-1.queue.amazonaws.com/978916941101/test-1 
https://ap-southeast-1.queue.amazonaws.com/978916941101/test-One 
https://ap-southeast-1.queue.amazonaws.com/978916941101/test-Three 
(env1)[email protected]:~/rahul/PythonPractise/Boto3_Practise$ 

Ma question est,

pourquoi Client file d'attente ne peut pas à la liste des files d'attente créé à partir de "ressource" et pourquoi la ressource ne répertorie pas les files d'attente créées à partir du client.

quand je fais

(env1)[email protected]:~/rahul/PythonPractise/Boto3_Practise$ aws configure list 
    Name     Value    Type Location 
    ----     -----    ---- -------- 
    profile    <not set>    None None 
    access_key  ****************ef3f shared-credentials-file 
    secret_key  ****************2r2r shared-credentials-file 
    region    us-west-2  config-file ~/.aws/config 

Est-ce à cause des régions?

+1

oui, la région compte. Définir I explicitement avant de faire les appels – Mircea

Répondre

2

Vous créez la ressource à partir de votre session personnalisée, qui a ap-southeast-1 comme région. Vous créez le client à partir de la session par défaut boto3, que vous avez définie sur us-west-2. Lorsque vous déclarez une région, vous n'avez accès qu'aux ressources de cette région.