gpt4 book ai didi

python - 通过 PynamoDB 访问 AWS 与低级 botocore

转载 作者:行者123 更新时间:2023-12-03 20:23:33 24 4
gpt4 key购买 nike

我已经按照说明正确配置了 AWS CLI,我想从高级包访问 DynamoDB 表 PynamoDB而不是boto3。

如果我尝试通过 boto3 和 PynamoDB 使用的低级 botocore 包访问我的 AWS 集群,并连接到 DynamoDB 表作为

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

一切正常,可以正常访问表。

但是,我正在尝试按照文档中的教程并为表创建模型来通过 PynamoDB 进行访问,如

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

并再次通过模型上的适当方法描述表格

print MyTableModel.describe_table()

我得到错误

pynamodb.exceptions.TableDoesNotExist: Table does not exist: Requested resource not found: Table: my_table_name not found

我不明白为什么我已经深入研究了 PynamoDB 代码,我似乎理解的是它应该从 botocore 调用相同的代码并且配置应该是隐式的。

最佳答案

嘿,我知道已经很晚了,因为我正在跟进你的线程,但在返回 boto 之前,我明确使用了@Jordon Phillips 提到的区域,它非常有效。

from pynamodb.models import Model

class MyTableModel(Model):

class Meta:
table_name = 'my_table_name'
region = os.environ['Region'] #its region I get from serverless.yml

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

关于python - 通过 PynamoDB 访问 AWS 与低级 botocore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37120281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com