- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想在特定条件下更新一个项目,然后我想知道当 UpdateItem 返回时该项目是否已更新。
文档对我来说似乎自相矛盾。
在此页面上:http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html在“条件更新”示例中,它说“更新后出现的所有项目属性都在响应中返回。”
在此页面上:https://godoc.org/github.com/aws/aws-sdk-go/service/dynamodb#UpdateItemOutput它说 Attributes 是“在 UpdateItem 操作之前出现的属性值映射”
我真的不想要这两个。我想要的是一个 bool 值,说明是否有更新。
这是我现在的大脑:
out, err := db.DynamoDB.UpdateItem(&dynamodb.UpdateItemInput{
TableName: tableName,
Key: map[string]*dynamodb.AttributeValue{
"KeyName": {S: aws.String(keyname)},
},
ExpressionAttributeNames: map[string]*string{
"#lock": aws.String("Lock"),
},
ExpressionAttributeValues: map[string]*string{
":now": aws.String(compfmt(time.Now())),
":promise": aws.String(compfmt(time.Now().Add(30 * time.Second))),
},
ConditionExpression: aws.String("attribute_not_exist(#lock) OR :now > #lock"),
UpdateExpression: aws.String("SET #lock = :promise"),
})
最佳答案
一种方法是检查 awserr
上的 Code
import "github.com/aws/aws-sdk-go/aws/awserr"
func Lock()(bool, error) {
//Create value v
_, err := db.DynamoDB.UpdateItem(v)
if err != nil {
if ae, ok := err.(awserr.RequestFailure); ok && ae.Code() == "ConditionalCheckFailedException" {
return false, nil
}
return false, err
}
return true, nil
}
关于amazon-web-services - dynamodb updateitem with conditionexpression 返回项目是否更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36228130/
我正在尝试在我的应用程序中使用 NGXS 状态运算符,但我无法找到如何使用它们进行稍微复杂的更新的好示例。 例如,NGXS 的文档显示了更新此状态的示例: @State({ name: 'anim
我正在尝试更新具有许多属性(超过 100 个)的项目。我可以看到有两种方法可以更新此项目。 PutItem :PutItem 可以更新项目,根据我的理解,我需要为每个请求发送所有 100 个属性,因为
我尝试将图像添加到 TabelView 中的单元格。我读了一些解决方案(例如: Placing an image into a JavaFX 2 table ),它们都必须覆盖方法“updateIte
我正在尝试制作一个包含大量项目(超过 10000)的组合框。它初始化没有问题。但当我点击它时,它就卡住了。为了调试,我创建了自己的 listCell 并遵循 updateitem 函数。当我点击时,它
我试图在 ListView 中创建自定义单元格,但每次添加新项目时,updateItem(TextFlow item, Boolean empty) 都会执行两次:一次接收 null 和 true,第
我有一个 JAVAFX 程序,其中包含新闻列表。我根据每个新内容的严重性为其着色,并将其添加到 ListView 中。 当我向列表中添加新内容时,我收到 NullPointerException。 调
我正在使用 ListView在 JavaFX 应用程序中。列表中的项目需要的不仅仅是一个字符串来显示它们,所以我做了一个自定义实现 ListCell ,其中 T是我正在显示的对象的类。在这个自定义类中
我们可以仅使用全局二级索引更新 dynamodb 项目吗? $response = $dynamodbClient->updateItem(array( 'TableName'
默认情况下,如果具有指定索引的对象不存在,DynamoDB 将创建一个新条目。有没有办法阻止这种情况发生?我可以在更新之前查询表中的 key ,但最好在一个请求中完成所有这一切。 最佳答案 使用条件表
如何将项目附加到 dynamodb 中的现有 map 我想添加一组新的位置/名称/标签。 dynamodb 中的结构如下所示 { "user": "xyz", "itemdetails": [
我希望 listView 中的项目全部大写并有换行符。 我使用 setCellFactory 来提供 Cell.updateItem 的实现。这很好用。当我将 ListView 中换行的解决方法添加到
如何将项目附加到 dynamodb 中的现有 map 我想添加一组新的位置/名称/标签。 dynamodb 中的结构如下所示 { "user": "xyz", "itemdetails": [
我正在尝试将图像添加到 tableView,并经历了几个问题和答案,但它仍然不起作用。 tableView 中的其他字段(如名称)已正确加载。 Intelij 告诉我 updateItem 从未使用过
我必须实现大量自定义 TableCell,其行为依赖于模型的更改。我可以设法以某种方式获得预期的结果,但我认为在许多情况下这是一种变通方法,而不是一个非常好的解决方案。我已使用绑定(bind)/监听器
我正在尝试从我的 DynamoDB 表中的 ITEM 中删除 LIST 元素。我相信我的设置正确,但似乎无法传递整数。 var params = { TableName: DB_TABLE_NAM
有没有办法用updateItem实现以下几点: 如果 DynamoDB 中不存在属性,则添加属性 如果属性存在于 DynamoDB 中,则更新属性 如果这些属性不包含在参数中,则保持这些属性不变。 这
我正在运行用 Node.js 编写的 AWS Lambda 服务,该服务与 DynamoDB 数据库交互。我的一种方法在 DynamoDB 上执行更新 (AWS.DynamoDB.DocumentCl
我从 tableView 获取行。我使用 setRowFactory 来获取行,后来我使用它。 我需要重写 updateItem 方法来获取每一行,如果该行内的项目有错误,则使用红色,否则使用绿色。
尝试创建 Lambda 以从 Kinesis 流更新 DynamoDB。这是我的更新声明: var response = dd.updateItem({ 'Key': {'S'
TableCell 中的 updateItem() 方法何时被调用?是在与该单元格关联的属性发生更改时吗? 在我的应用程序中,我有一个线程,根据提供的超链接下载内容。我有一个 TableView,在两
我是一名优秀的程序员,十分优秀!