簡體   English   中英

DynamoDB update_item問題:“調用UpdateItem操作時:條件請求失敗”(Python)

[英]DynamoDB update_item issue: “When calling the UpdateItem operation: The conditional request failed” (Python)

我正在嘗試基於以下兩件事更新我的Dynamo DB數據庫中的現有項目:1)提取日期和2)項目URL。 但是,我收到“條件請求失敗”錯誤。

我已經實現了以下代碼; 然而,錯誤繼續存在。

如果有用,我的主分區鍵是“itemUuid(String)”(不使用主分類鍵)。 日期格式為“m / d / yyyy”。

    if response['ResponseMetadata']['HTTPStatusCode'] == 200 :
        table_page1Update.update_item(Key={'itemUuid' : str(item['itemUuid'])},
                    UpdateExpression = 'SET readSuccess = :readSuccess',
                    ConditionExpression = 'extractionDate = :extractionDate AND itemUrl = :itemUrl',
                    ExpressionAttributeValues={
                        ':readSuccess' : 'OK',
                        ':itemUrl' : 'http://url_of_item_in_db_field.com',
                        ':extractionDate' : config.DATETIMEFOREXPORT
                    }
        )

我希望readSuccess字段對於匹配date和itemUrl的項目填充為“OK”。

可能會被發電機以錯誤的格式解釋,您是否嘗試過以下(我將所有內容都設置為字符串類型,包括日期,因為日期在發電機中存儲為字符串):

    if response['ResponseMetadata']['HTTPStatusCode'] == 200 :
        table_page1Update.update_item(Key={'itemUuid' : {'S' : str(item['itemUuid'])}},
                    UpdateExpression = 'SET readSuccess = :readSuccess',
                    ConditionExpression = 'extractionDate = :extractionDate AND itemUrl = :itemUrl',
                    ExpressionAttributeValues={
                        ':readSuccess' : { 'S':'OK' },
                        ':itemUrl' : { 'S':'http://url_of_item_in_db_field.com' },
                        ':extractionDate' : { 'S':config.DATETIMEFOREXPORT }
                    }
        )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM