erlcloud-dynamodb2,管理计数器(update_item)

时间:2015-11-30 15:31:42

标签: amazon-web-services erlang amazon-dynamodb

我有点难以找到问题的答案 - 如何使用erlang和erlcloud库更新aws ddb2中的值。

我正在为不同的计数器管理一个表,我需要在其中一个记录中添加一个(i ++)。

在他们建议的文档中

{ok, Item} = 
    erlcloud_ddb2:update_item( 
      <<"Thread">>, <br>
      [{<<"ForumName">>, {s, <<"Amazon DynamoDB">>}}, 
       {<<"Subject">>, {s, <<"How do I update multiple items?">>}}],
      <<"set LastPostedBy = :val1">>,
      [{condition_expression, <<"LastPostedBy = :val2">>},
       {expression_attribute_values,
        [{<<":val1">>, <<"alice@example.com">>},
         {<<":val2">>, <<"fred@example.com">>}]},
       {return_values, all_new}]),

我想我需要做的是使用本例中使用的ADD语句,但我不知道更多。

我可以在他们的代码中看到:

dynamize_action(add) ->
    {<<"Action">>, <<"ADD">>};

但我不确定应该如何编写UpdatesOrExpression

非常感谢你!

1 个答案:

答案 0 :(得分:2)

深入潜水到erlcloud图书馆之后,这就是我的问题的答案:

erlcloud_ddb2:update_item(<<"table_name">>,
 [{"hash_col_name",
 {n,"hash_col_value"}}],
 {"field_name", 1, add},
 [] ,AWSConfig).

将索引归零:

erlcloud_ddb2:update_item(<<"table_name">>,
 [{"hash_col_name",
 {n,"hash_col_value"}}],
 {"field_name", delete},
 [] ,AWSConfig).