![](/img/trans.png)
[英]AWS RDSDataService times out whereas external mysql package works
[英]“The conditional request failed” whereas the condition works
我正在使用Amazonica,一個Clojure庫來寫入DynamoDB。
以下內容將項目插入DynamoDB並在第二次調用時更新其內容,這是預期的。
(ddb/put-item cred
:table-name table-name
:item payload)
現在,以下僅在第一次插入項目。 再次調用它不會做任何事情,這就是我需要的。
(ddb/put-item cred
:table-name table-name
:condition-expression "attribute_not_exists(clientId)"
:item payload)
然而,最新的我收到一個錯誤:
條件請求失敗(服務:AmazonDynamoDBv2;狀態代碼:400;錯誤代碼:ConditionalCheckFailedException;
......這並沒有真正使代碼可交付。 我的CloudFormation模板非常簡單:
"Resources": {
"ClientTable": {
"Type": "AWS::DynamoDB::Table",
"Properties": {
"AttributeDefinitions": [
{ "AttributeName": "clientId", "AttributeType": "S" }
],
"KeySchema": [
{ "AttributeName": "clientId", "KeyType": "HASH" }
],
"ProvisionedThroughput": {
"ReadCapacityUnits": { "Ref": "ReadCapacityUnits" },
"WriteCapacityUnits": { "Ref": "WriteCapacityUnits" }
},
"TableName": "ClientTable"
}
}
}
我錯過了什么嗎?
Amazonica並沒有默默地吞下這個物品沒有添加的事實。 它會拋出一個異常,你可以抓住它,以防你想對它做些什么。 也許你想:
要對此進行測試,請確保相同的調用確實適用於新密鑰。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.