要解决Amazon Lex和DynamoDB无法更新现有项目的问题,您可以尝试以下解决方法:
检查DynamoDB表的主键
确保您的IAM角色具有适当的权限
dynamodb:UpdateItem权限来授予更新项目的权限。使用AWS SDK更新项目
import boto3
# 创建DynamoDB客户端
dynamodb = boto3.client('dynamodb')
# 更新项目的主键和属性值
table_name = 'your_table_name'
primary_key = {
'primary_key_attribute': {'S': 'your_primary_key_value'}
}
update_expression = 'SET attribute1 = :val1, attribute2 = :val2'
expression_attribute_values = {
':val1': {'S': 'new_value1'},
':val2': {'S': 'new_value2'}
}
# 更新项目
response = dynamodb.update_item(
TableName=table_name,
Key=primary_key,
UpdateExpression=update_expression,
ExpressionAttributeValues=expression_attribute_values
)
# 打印更新的响应
print(response)
your_table_name替换为实际的表名,primary_key_attribute替换为实际的主键属性名,your_primary_key_value替换为实际的主键值,attribute1和attribute2替换为要更新的属性名,new_value1和new_value2替换为要更新的属性的新值。