- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 lambda 函数中使用 boto3 将信息写入 dynamodb 表。
我收到错误 put_item() only accepts keyword arguments
.
在网上搜索,我发现这个错误可能意味着我没有匹配 dynamodb 分区键,但在我看来我做的一切都是正确的。
谁能帮我找出错误?对不起,这是我第一次使用 aws。
这是我的 lambda 函数
import json, boto3
def updateDynamo(Item):
dynamodb = boto3.resource('dynamodb', region_name = 'eu-central-1')
table = dynamodb.Table('userInformations')
response = table.put_item(Item)
return response
def lambda_handler(event, context):
userAttributes = event["request"]["userAttributes"]
email = userAttributes["email"]
name = userAttributes["name"]
Item = {
"email": email,
"name" : name
}
response = updateDynamo(Item)
print(email, name)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
这是我正在使用的测试事件:
{
"version": "string",
"triggerSource": "string",
"region": "AWSRegion",
"userPoolId": "string",
"userName": "string",
"callerContext": {
"awsSdkVersion": "string",
"clientId": "string"
},
"request": {
"userAttributes": {
"email": "testemail@gmail.com",
"name": "test user"
}
},
"response": {}
}
我的 table 上有
email
(所有字符都是小写)作为分区键。
最佳答案
put_item只需要关键字参数。这意味着,在您的情况下,而不是:
response = table.put_item(Item)
应该有
response = table.put_item(Item=Item)
关于python - boto3 dynamodb put_item() 错误只接受关键字参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63615560/
我一直无法在任何地方找到答案,希望 SO 最终能提供帮助。 我有一个 lambda 函数来处理记录,然后将其写入 dynamodb 表。从所有意图和目的来看, put_item 调用似乎成功了,但是,
设备是我的分区键,表用于放置多个不同的用户,在同一个设备下。但是,如果我运行以下 put_item() 代码,如果每个用户具有相同的设备 key ,它将覆盖每个用户。 示例:如果我输入 Monitor
我在 lambda 函数中使用 boto3 将信息写入 dynamodb 表。 我收到错误 put_item() only accepts keyword arguments . 在网上搜索,我发现这
我试图让 put_item 在实际添加新项目之前检查是否有具有相同 HashKey 的项目。 根据 boto DynamoDB2 文档,可以使用“Conditional Put”来实现。 我尝试按照命
我正在使用本地 dynamodb docker 容器测试 boto,我在将新项目放入表中时遇到此错误。该表存在。 from __future__ import print_function # Pyt
有没有人使用 boto (python) 成功地执行了将 map 放入 dynamodb 的操作? 我基本上需要放一个 json 对象。到目前为止,我只能将它作为 json 字符串,但我找不到在任何地
我将 Python 与 AWS S3、lambda 和 DynamoDB 结合使用。我将 lambda 函数设置为触发器。当我将 .json 文件放入我的 S3 存储桶时,它会激活。 当我的函数激活时
我在使用 client.put_item 方法将字典列表放入我的表时遇到问题。字典的格式为:{"name": "beef", "price":5.23} .像这样的列表的一个例子是:[{"name":
我是一名优秀的程序员,十分优秀!