私は CouchDB の大ファンであり、ドキュメントごとに複数回発行されるマップ関数が大好きです。同じアイテムを複数の方法。
ありがとう!
興味深い質問 - コードの検査やテストが適切に行われるのではないかと心配していますが、私はそれを疑っています:
Amazon DynamoDBのデータ型は文字列と数値のセットをサポートし、 CreateTableの APIではもちろんAttributeTypeのセット型も送信できますが(結局のところ、単なる文字列パラメーターです)、この概念はどこにもありません。どのサンプルにもありません。これと、AWS マネジメント コンソールの CreateTable UI は、ハッシュ キーと範囲キーの両方の属性についても、型を String または Number に明示的に制限します ( Amazon DynamoDB - NoSQL によるインターネット規模のデータ ストレージ の最初の画像を参照してください)。
誰かが発表のウェブキャストで、リストされている主キーの概念から始めていると述べていたと思いますが、将来的にはこれを拡張することを検討するかもしれません (ただし、これを正しく思い出すことに 100% 肯定的ではありません)。
設定されたデータ型は現在、実際には主キーとしてサポートされていません。次の API ドキュメントを参照してくださいclass KeySchemaElement
。
/**
* Sets the value of the AttributeType property for this object.
* <p>
* <b>Constraints:</b><br/>
* <b>Allowed Values: </b>S, N
*
* @param attributeType The new value for the AttributeType property for this object.
*
* @see ScalarAttributeType
*/
public void setAttributeType(String attributeType) {
this.attributeType = attributeType;
}
テーブルの例を変更すると、それに応じて予想される例外が生成されます。
情報: エラー応答を受け取りました: ステータス コード: 400、AWS サービス: AmazonDynamoDB、AWS リクエスト ID: XXXXXXXX、AWS エラー コード: ValidationException、AWS エラー メッセージ: 1 つの検証エラーが検出されました: 'keySchema.hashKeyElement.attributeType' の値 'SS' が失敗しました制約を満たすには: メンバーは列挙値セットを満たす必要があります: [N, S] テーブル TestTable の作成に失敗しました