Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么AmazonDynamoDB::键入字符串或数字?_Php_Amazon Dynamodb - Fatal编程技术网

Php 为什么AmazonDynamoDB::键入字符串或数字?

Php 为什么AmazonDynamoDB::键入字符串或数字?,php,amazon-dynamodb,Php,Amazon Dynamodb,Amazon DynamoDB中定义了哪些常量 有人能解释一下这些常数的必要性吗? 为什么要将它们放在关联数组的键中 在将项目放入表中时,我看到一个奇怪的符号,如 'Name' => array( AmazonDynamoDB::TYPE_STRING => 'Amazon S3') PHPSDK指南说明了4种类型的常量 键入\u数组\u或\u编号 键入字符串的数组 类型号 键入字符串 这些常数反映了四个可用的参数: 字符串-字符串是Unicode,采用UTF8二进制编

Amazon DynamoDB中定义了哪些常量

有人能解释一下这些常数的必要性吗? 为什么要将它们放在关联数组的键中

在将项目放入表中时,我看到一个奇怪的符号,如

'Name'     => array( AmazonDynamoDB::TYPE_STRING => 'Amazon S3')
PHPSDK指南说明了4种类型的常量

  • 键入\u数组\u或\u编号
  • 键入字符串的数组
  • 类型号
  • 键入字符串

这些常数反映了四个可用的参数:

字符串-字符串是Unicode,采用UTF8二进制编码。将字符串指定给属性时,字符串大小没有限制,除非 当属性是主键的一部分时。[……]

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

字符串和数字集-Amazon DynamoDB还支持数字集和字符串集。 […]请注意,因为它是 集合中的值必须是唯一的。字符串集和数字集 没有秩序;集合中返回值的顺序不正确 保存


您需要在各种API调用中指定或处理这些数据类型,例如,对于中的KeySchema或中的项,如您提供的示例所示。

最新版本的AWS PHP SDK添加了方便的方法,以帮助简化请求的格式化。看。例如:

$dynamodb->put_item(array(
    'TableName' => 'my-table',
    'Item' => $dynamodb->attributes(array(
        'id'            => 1,
        'key1'          => 'value1',
        'key2'          => 'value2',
    ))
));
用这种方法似乎容易得多

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