0

Amazon DynamoDB で定義されているこれらの定数は何ですか?

誰かがこれらの定数の必要性を説明できますか? これらが連想配列のキーに配置されるのはなぜですか?

次のようにテーブルにアイテムを配置するときに奇妙な表記が表示されます

'Name'     => array( AmazonDynamoDB::TYPE_STRING => 'Amazon S3')

PHP SDK ガイドには、4 種類の定数が記載されています。

  • TYPE_ARRAY_OF_NUMBERS
  • TYPE_ARRAY_OF_STRINGS
  • TYPE_NUMBER
  • TYPE_STRING
$dynamodb->batch($queue)->put_item(array(
'TableName' => 'Forum',
'Item' => array(
    'Name'     => array( AmazonDynamoDB::TYPE_STRING => 'Amazon S3'), // Hash Key
    'Category' => array( AmazonDynamoDB::TYPE_STRING => 'Amazon Web Services'), 
    // Range Key
    'Threads'  => array( AmazonDynamoDB::TYPE_NUMBER => '0')
    )
  ));
4

2 に答える 2

1

これらの定数は、利用可能な 4 つのAmazon DynamoDB データ型を反映しています。

文字列- 文字列は、UTF8 バイナリ エンコーディングの Unicode です。属性が主キーの一部である場合を除き、属性に割り当てる場合、文字列のサイズに制限はありません。[...]

数値- 数値は、正または負の正確な値の小数および整数です。数値は、小数点以下 38 桁までの精度を持つことができ、10^-128 から 10^+126 の間であることができます。Amazon DynamoDB での表現は可変長です。[...]

文字列と数値セット- Amazon DynamoDB は、数値セットと文字列セットの両方もサポートしています。[...] セットであるため、セット内の値は一意でなければならないことに注意してください。String Sets と Number Sets は順序付けされていません。セットで返される値の順序は保持されません。

提供した例に見られるように、CreateTableKeySchemaや PutItem のItemなど、さまざまな API 呼び出しでこれらのデータ型を指定または処理する必要があります。

于 2012-03-11T14:58:39.313 に答える
0

AWS PHP SDK の最新バージョンには、リクエストのフォーマットを簡単にする便利なメソッドが追加されています。attributes() メソッドのドキュメントを参照してください。例えば:

$dynamodb->put_item(array(
    'TableName' => 'my-table',
    'Item' => $dynamodb->attributes(array(
        'id'            => 1,
        'key1'          => 'value1',
        'key2'          => 'value2',
    ))
));

この方法で作業する方がはるかに簡単なようです。

于 2012-04-20T01:42:29.807 に答える