代码如下
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中,id100
的表值是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)
错误
第二个问题的答案
获取和更新需要准确的要更新的项目而不是批量,所以你还需要提供相应的排序键
礼节@Sairsreenivas
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': 'GH',
# 'age': 10,
# 'account': 'GOld'
# })
# try:
# response = table.get_item(Key={'username':'Mak'})
# except Exception as e:
# print(e.response['Error']['Message'])
# else:
# return response['Item']
# item = response['Item']
# print (item)
#Get Item
response = table.get_item(Key={'username':'Ac', 'last_name':'GH'})
print (response['Item'])
table.update_item(
Key ={
'username':'Ac', 'last_name':'GH'
},
UpdateExpression = 'SET age = :value1',
ExpressionAttributeValues={
':value1':20
}
)
print ("After update \n")
response = table.get_item(Key={'username':'Ac', 'last_name':'GH'})
print (response['Item'])
问题内容: 我在C#/ Visual Studio 2008中使用MySQL。我需要知道任何方法,以便如果一个用户更新数据库,则通过网络通知所有已登录用户已发生更改。如果我通过我的应用程序登录数据库,那时候数据库中最新记录的序列号是10,然后我有特权的人更新了数据库中的记录,同时我收到通知,数据库已更新为新记录。常见的例子可能是MSN Messenger的一个朋友上线时向他发出警报的提示……虽然我
我有以下代码,我正在尝试决定如何处理错误: 服务器发回一个GraphQL错误对象,并将其发回,使其出现在突变的块中。如果变异成功,组件的数据将使用参数更新,但我看不到处理错误的等价方法。 理想情况下,我希望更新块中的Apollo缓存,但在这一点上,我甚至不能向组件或状态注入道具。 最终的结果是在Register组件上设置一个prop/state,它显示了一个带有条件呈现的错误消息组件。一种方法可以
嗯,首先,对不起我的英语不好。 “enderecodao.java”: 和ENDERECO的WebService“servicoEnderEco.java”:
我现在用C/C做并发套接字编程。我只是让服务器接收来自客户端的请求,并将响应数据包发送给客户端。我使用一个线程来接收来自客户端的请求。当服务器得到一个新请求时,一个新的线程将被创建,以便向客户端发送一些数据包。然而,当我的服务器向该特定客户端发送数据包时,我的客户端的recvfrom总是返回winsock错误10054。
我正在使用GoogleSignIn pod中的此代码从IOS应用程序请求访问用户数据 然后,我在应用代理中接收访问令牌和刷新令牌,并将其发送到运行PHP并使用此google客户端库(https://github.com/googleapis/google-api-php-client)的服务器...第一个小时一切正常,访问令牌有效,允许我访问所有范围。然后一个小时后,访问令牌过期,我尝试使用此代码
将一个旧项目上的Gradle更新为最新版本,我收到以下错误:。gradle\caches\transforms-1\files-1.1\CreditCardEntry-1.4.8.10。aar\453339e1f1fb2382e8ce2362a0acdedd\res\values\values。xml:11:5-54:AAPT:error:内部元素必须是资源引用或为空。 我不明白为什么会出现这个错