私は私のコードは、現在あるDynamoDBの上で、すでに私のテーブルに保存されたアイテムの数のプロパティ値をインクリメントして苦労しています:インクリメント数プロパティのObjective C
AWSDynamoDBUpdateItemInput *updateItemInput = [AWSDynamoDBUpdateItemInput new];
updateItemInput.tableName = @"Table";
updateItemInput.key= @{
@"KeyPropertyName":@"KeyValue"
};
updateItemInput.updateExpression = @"SET(counter = counter + :val)";
updateItemInput.expressionAttributeValues [email protected]{
@":val":@1
};
AWSDynamoDB *dynamoDB = [AWSDynamoDB defaultDynamoDB];
[[dynamoDB updateItem:updateItemInput]
continueWithBlock:^id(AWSTask *task) {
if (task.error) {
NSLog(@"The request failed. Error: [%@]", task.error);
}
if (task.exception) {
NSLog(@"The request failed. Exception: [%@]", task.exception);
}
if (task.result) {
//Do something with result.
}
return nil;
}];
私がいない時に私のアプリが常にクラッシュupdateExpressionとexpressionAttributeValuesをコメントアウトします。アイテムタイプの空のインスタンスを作成し、AWSDynamoDBAttributeValueのインスタンスを作成してキーを渡すと、奇妙な結果が得られます。助言がありますか? updateExpressionも間違って書いていますか?
また、別のオブジェクトの配列/リストと辞書/マップのプロパティの更新と削除を追加する予定です。これはどうやって違いますか?
どのようにクラッシュしますか?あなたが得ている正確なエラーメッセージは何ですか? –
であり、更新式はparanthesisなしである必要があります。また、属性名をパラメータ化する必要があるかもしれません。 –
***キャッチされない例外 'NSInvalidArgumentException'、理由: '+ [__ NSCFNumber JSONKeyPathsByPropertyKey]クラス0x113d10368 ' – csweeney285