私はAWS ConsoleとNodeJSを使用しています。dynamodbでGSIを使用するには?
私は、パーティションキー(user_id)とソートキー(company_id)と他の属性を持つユーザーのdynamodbテーブルを持っています。
私の属性の1つは、ユーザーのメールです。電子メールは一意の属性です。
私は電子メールでuser_idを取得する必要がありますが、user_idとcompany_idは持っていません。
私はグローバルセカンダリインデックスを使うべきだと思います。
私はusersテーブルをクリックし、Indexesタブを開き、このテーブルのGSIを作成しました。 (名前:電子メール、タイプ:GSI、パーティションキー:電子メール文字列、属性:user_id)
私はdocumentClientからメソッドQueryを使用しています。
「にErrorMessage」:
payload = { "TableName": "users", "IndexName": "email", "KeyConditionExpression": "#index = :index_value", "ExpressionAttributeNames":{ "#index": "email" }, "ExpressionAttributeValues": { ":index_value": {"S": "[email protected]"} }, "ProjectionExpression": "user_id", "ScanIndexForward": false }; }
これはCloudWatchのからの私の誤差がある:これは私のペイロードである「一の以上のパラメータ値が無効であった。条件パラメータの型は、スキーマ型と一致していません」