2012-03-10 6 views
0

Amazon DynamoDBで定義されているこれらの定数は何ですか?なぜAmazonDynamoDB :: TYPE_STRINGまたはNUMBERですか?

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

私は

'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') 
    ) 
)); 

答えて

1

これらの定数は4つの利用可能なAmazon DynamoDB Data Types反映:

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

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

文字列と数値のセット - Amazon DynamoDBは、数値セットと文字列セットの両方をサポートしています。 [...] セットであるため、セット内の値は一意でなければなりません。文字列セットと数値セット は注文されません。セットで返される値の順序は、 ではありません。

これらのデータ型をさまざまなAPI呼び出しで指定または処理する必要があります。 KeySchemaCreateTable)またはPutItem)のように、入力した例のとおりです。

0

最新のAWS PHP SDKには、リクエストのフォーマットを簡単にするための便利なメソッドが追加されています。 docs for the attributes() methodを参照してください。例:

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

この方法で作業するほうがずっと簡単です。

関連する問題