【发布时间】:2020-11-10 17:05:33
【问题描述】:
代码如下
import boto3
dynamodb = boto3.resource ('dynamodb')
table =dynamodb.Table('test')
def lambda_handler(event, context):
response = table.update_item(
Key={
'id': "100",
'name': "David"
})
我创建了一个 DynamoDB 表 test 我的主键是 id 这是字符串。
在 DynamoDB 中,id 100 的表值为 John,我需要更新为 David。以上是代码。为什么错误抛出元模式
下面是完整的错误
"errorMessage": "调用UpdateItem操作时发生错误(ValidationException):更新表达式中提供的文档路径对更新无效", "errorType": "ClientError",
试过下面的代码
import boto3
dynamodb = boto3.resource ('dynamodb')
table =dynamodb.Table('test')
def lambda_handler(event, context):
response = table.update_item(
Key={
'id': '100'
},
UpdateExpression='SET name = :val1',
ExpressionAttributeValues={
':val1': 'David'
})
再添加一张表来复制案例
放表:输出>>成功
首先在 DynamoDB 中创建表 newTable
import boto3
def lambda_handler(event, context):
dynamodb = boto3.resource ('dynamodb')
table =dynamodb.Table('newTable')
response = table.put_item(
Item={
'username': 'Ac',
'first_name': 'DEF',
'last_name': 'FHI',
'age': 10,
'account': 'GOld'
})
如何获得物品?输出>>错误
import boto3
def lambda_handler(event, context):
dynamodb = boto3.resource ('dynamodb')
table =dynamodb.Table('newTable')
response = table.get_item(
Key={
'username':'Ac'
}
)
print (response)
错误>>响应: "errorMessage": "调用 GetItem 操作时发生错误 (ValidationException):提供的关键元素与架构不匹配", "errorType": "ClientError",
【问题讨论】:
-
你能发布错误信息吗?
-
@Marcin "调用 UpdateItem 操作时发生错误 (ValidationException):提供的关键元素与架构不匹配",客户端错误
-
@Marcin 没有快捷键
-
架构是什么?
-
@Marcin 都是
strings
标签: python amazon-web-services aws-lambda amazon-dynamodb