


適用於 Dynamodb 的 Golang SDK:ReturnValuesOnConditionCheckFailure 不傳回有關條件chcekfailure 發生時的條件的詳細信息
php小編小新為您介紹適用於Dynamodb的Golang SDK中的一個重要特性:ReturnValuesOnConditionCheckFailure。這個特性在條件檢查失敗時不會傳回關於條件的詳細信息,從而保護了敏感資料。使用這個特性,開發者可以更安全地處理條件檢查失敗的情況,並且提高應用程式的可靠性。在本文中,我們將深入探討這個特性的用法和優勢,幫助開發者更好地理解和應用於實際專案中。
問題內容
我正在使用golang sdk https://pkg.go.dev/github.com/aws/[email protected]/ 進行偵錯條件檢查錯誤並找到有關單一寫入操作失敗的原因的信息,但我只能看到錯誤Message_:“條件請求失敗”。在 UpdateItemInput 中使用參數 ReturnValuesOnConditionCheckFailure: ALL_OLD 時,未提供有關特定原因的其他資訊。對於 TransactWriteItems,使用相同參數時我可以看到條件檢查失敗的具體原因。如何取得單一寫入操作的這些詳細資訊?參考:https://aws.amazon.com/about-aws/whats-new/2023/06/amazon-dynamodb-cost-failed-conditional-writes 我正在使用的語法:
input := &dynamodb.UpdateItemInput{ TableName: aws.String("DummyTable"), Key: keyAttr, ExpressionAttributeValues: updateExpr.Values(), ExpressionAttributeNames: updateExpr.Names(), ConditionExpression: updateExpr.Condition(), ReturnValues: aws.String(dynamodb.ReturnValueAllOld), UpdateExpression: updateExpr.Update(), ReturnValuesOnConditionCheckFailure: aws.String(dynamodb.ReturnValuesOnConditionCheckFailureAllOld), } output, err := dl.ddbI.UpdateItem(input)
解決方法
該項目應位於錯誤元件內,通常位於 error.response.Item
中。
例如在Python中:
except botocore.exceptions.ClientError as error: if error.response["Error"]["Code"] == "ConditionalCheckFailedException": print("The conditional expression is not met") current_value = error.response.get("Item")
注意:如果您使用的是 DynamoDB Local,則此功能尚不存在
#以上是適用於 Dynamodb 的 Golang SDK:ReturnValuesOnConditionCheckFailure 不傳回有關條件chcekfailure 發生時的條件的詳細信息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)