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

这些常量反映了四种可用的Amazon DynamoDB 数据类型

字符串- 字符串是带有 UTF8 二进制编码的 Unicode。将字符串分配给属性时,字符串大小没有限制,除非该属性是主键的一部分。[...]

数字- 数字是正或负的精确值小数和整数。一个数字在小数点后最多可以有 38 位精度,并且可以在 10^-128 到 10^+126 之间。Amazon DynamoDB 中的表示是可变长度的。[...]

字符串和数字集- Amazon DynamoDB 还支持数字集和字符串集。[...] 请注意,因为它是一个集合,所以集合中的值必须是唯一的。字符串集和数字集没有排序;不保留集合中返回的值的顺序。

您将需要在各种 API 调用中指定或处理这些数据类型,例如您提供的示例中的CreateTable中的KeySchemaPutItem中的Item

于 2012-03-11T14:58:39.313 回答
0

最新版本的 AWS PHP 开发工具包增加了方便的方法来帮助您更轻松地格式化您的请求。有关attributes() 方法,请参阅文档。例如:

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

使用这种方式似乎更容易。

于 2012-04-20T01:42:29.807 回答