我正在关注pynamodb文档
class Thread(Model):
class Meta:
read_capacity_units = 1
write_capacity_units = 1
table_name = "Thread"
region = 'us-west-1'
host = "http://localhost:8888"
forum_name = UnicodeAttribute(hash_key=True)
subject = UnicodeAttribute(range_key=True)
views = NumberAttribute(default=0)
replies = NumberAttribute(default=0)
answered = NumberAttribute(default=0)
tags = UnicodeSetAttribute()
last_post_datetime = UTCDateTimeAttribute(null=True)
# Delete the table
# print(Thread.delete_table())
# Create the table
if not Thread.exists():
Thread.create_table(wait=True)
当我在代码上面运行时,它会出错:
DEBUG:pynamodb.connection.base:Calling DescribeTable with arguments {'TableName': 'Thread'}
并引发异常:
raise TableError("Unable to describe table: {0}".format(e), e)
TableError:无法描述表:无法找到凭据
如何提供pynamodb aws_secret_key_id和aws_access密钥。我正在使用dynamodb local在本地计算机上运行该示例。
我如何在pynamodb中提供凭证信息。我确实设置了aws_secret_key_id和aws_access_key的环境变量,但仍然是凭证异常
有没有办法在下面的例子中提供aws_access_key_id和aws_secret_access_key作为pynamodb中的参数: -
此代码工作并创建数据库,但我想使用pynamodb库
dynamodb = boto3.resource('dynamodb',
region_name='us-west-2',
aws_access_key_id="access key",
aws_secret_access_key="secret acess key",
endpoint_url="http://localhost:8888")
答案 0 :(得分:1)
在Meta类中,包括
aws_access_key_id = "anything"
aws_secret_access_key = "fake"
您可以提供任何伪造的秘密访问密钥和访问密钥。
答案 1 :(得分:0)
我也遇到类似的问题,并且有相同的例外情况
解决方案是使用aws configure
,然后按aws configure list
但是在我的情况下,我还有另一个问题(我正在使用Ubuntu),当我使用aws configure list
时,我发现未设置配置,但是当我使用“ sudo aws configure list”时,它可以工作。
所以我去了'〜/ .aws' 并使用命令
更改了“凭据”文件的权限 sudo chmod +r credentials
然后我的命令来创建dynamodb并使测试生效。
答案 2 :(得分:-1)
创建一个文件〜/ .aws / credentials并输入
[default]
aws_access_key_id = 'foo'
aws_secret_access_key = 'bar
或更好