ホームページ  >  記事  >  バックエンド開発  >  Dynamodb 用 Golang SDK: 条件 chcekfailure が発生したときに、ReturnValuesOnConditionCheckFailure が条件に関する詳細を返さない

Dynamodb 用 Golang SDK: 条件 chcekfailure が発生したときに、ReturnValuesOnConditionCheckFailure が条件に関する詳細を返さない

PHPz
PHPz転載
2024-02-10 18:45:18541ブラウズ

适用于 Dynamodb 的 Golang SDK:ReturnValuesOnConditionCheckFailure 不返回有关条件chcekfailure 发生时的条件的详细信息

php エディタ Xiaoxin は、Dynamodb 用 Golang SDK の重要な機能 ReturnValuesOnConditionCheckFailure を紹介します。この機能は、条件チェックが失敗した場合に条件に関する詳細情報を返さないことで機密データを保護します。この機能を使用すると、開発者は条件チェックの失敗をより安全に処理し、アプリケーションの信頼性を向上させることができます。この記事では、開発者がこの機能をよりよく理解し、実際のプロジェクトに適用できるように、この機能の使用法と利点を詳しく説明します。

質問内容

デバッグ条件の確認にgolang sdk https://pkg.go.dev/github.com/aws/[email protected]/ を使用しています。エラーを調べて、単一の書き込み操作が失敗した理由に関する情報を見つけますが、エラー Message_: "Conditional request failed" しか表示されません。 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)

Solution

項目はエラー コンポーネント内 (通常は error.response.Item にあります) にある必要があります。

Python の例:

リーリー

注: DynamoDB Local を使用している場合、この機能はまだ存在しません

以上がDynamodb 用 Golang SDK: 条件 chcekfailure が発生したときに、ReturnValuesOnConditionCheckFailure が条件に関する詳細を返さないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。