2016-05-09 4 views
0

ich die AWS CLI konfiguriert haben richtig Anweisungen folgen und ich möchte von der High-Level-Paket eine DynamoDB Tabelle zuzugreifen PynamoDB statt boto3.Zugriff auf AWS durch PynamoDB vs. Low-Level-botocore

Wenn ich versuche, meinen AWS-Cluster durch die Low-Level-Zugriff auf botocore Paket, das sowohl verwendet wird, durch boto3 und PynamoDB, und eine Verbindung zu einer DynamoDB Tabelle als

import botocore.session 
session = botocore.session.get_session() 
client = session.create_client('dynamodb') 
client.describe_table(TableName='my_table_name') 

alles in Ordnung ist, die Tabelle wird gut zugegriffen.

Aber ich versuche, durch PynamoDB zuzugreifen, indem Sie das Tutorial in der Dokumentation folgen und ein Modell für den Tisch, als

from pynamodb.models import Model 

class MyTableModel(Model): 

    class Meta: 
     table_name = 'my_table_name' 

    pk_field = UnicodeAttribute(hash_key=True) 
    field1 = UnicodeAttribute() 
    field2 = UnicodeAttribute() 

und wieder beschreiben die Tabelle durch die entsprechende Methode auf dem Modell zu schaffen

print MyTableModel.describe_table() 

ich Fehler

pynamodb.exceptions.TableDoesNotExist: Tabelle tut nicht existieren: Requested resource not found: Table: my_table_name not found

Ich verstehe nicht, warum, wie ich in den PynamoDB Code gegraben habe und was ich scheinen zu verstehen, dass sie den gleichen Code aus botocore nennen sollte und die Konfiguration implizit sein sollte.

Antwort

0

Es könnte sich um eine falsch konfigurierte Region sein. Sieht so aus, als ob pynamo die konfigurierte Region nicht respektiert, Sie müssen sie explizit an die gewünschte Region übergeben. Andernfalls erhalten Sie us-east-1.

+0

Ich habe versucht, die Region in Pynamo, das gleiche Resultat zu setzen. –