我正在使用 Flask 并且我想将一个项目插入到 DynamoDB 表中

我有 DynamoDB 和我的表定义如下:


dynamodb = boto3.resource('dynamodb', region_name='us-east-2', endpoint_url="https://dynamodb.us-east-2.amazonaws.com")


table = dynamodb.Table('Customers')

经过一些处理后,我能够以编程方式获取这 4 个属性的值。单击按钮(并执行一些最终返回 URL 的其他操作)后,我想调用此 table.put_item 函数。但是,我收到 500 内部服务器错误。


table.put_item(

    Item={

            'Name': name,

            'Active': active,

            'Amount': amount,

            'Key': key

        }

    )

该AWS文档基本上表明端点应该是这一个,但我确实失去了一些东西,因为我必须以某种方式指定它应该指向我DynamoDB表。


注意:我链接到的教程确实要求运行aws configure和插入我的密钥。但是,首先,我正在放置我的密钥,但它无法进行身份验证。其次,我想添加此功能的 Flask 应用程序部署在 Elastic Beanstalk 实例中,因此我需要找到将其链接到通用目的的方法,而不仅仅是用于本地测试。


江户川乱折腾
浏览 140回答 1
1回答

森栏

如果您正在与真正的 DynamoDB 服务对话,则不应指定端点。它仅与DynamoDB Local相关,这是一个用于本地测试的本地自包含 DynamoDB 模拟器(以降低运行真实 DynamoDB 的成本和/或在不需要互联网连接的情况下进行本地开发)。只需执行以下操作(与 us-east-2 中的真实 DynamoDB 服务对话):import boto3dynamodb = boto3.resource('dynamodb', region_name='us-east-2')table = dynamodb.Table('Customers')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python