【问题标题】:class java.lang.String can not be converted to an Long while DynamoDB creating table类 java.lang.String 在 DynamoDB 创建表时无法转换为 Long
【发布时间】:2014-09-09 04:19:51
【问题描述】:

我想使用 php-aws-sdk 创建 dynamodb 表

set_time_limit(0);
error_reporting(E_ALL);

require_once 'aws/aws-autoloader.php';

use Aws\DynamoDb\DynamoDbClient;

$ddb = DynamoDbClient::factory(array(
    'key'    => $_SERVER['AWS_KEY']),
    'secret' => $_SERVER['AWS_SECRET']),
    'region' => $_SERVER['AWS_REGION'])
));

$name = 'test';

$ddb->createTable(array(
    'TableName' => $name,
    'AttributeDefinitions' => array(
        array(
            'AttributeName' => 'Event ID',
            'AttributeType' => 'S'
        )
    ),
    'KeySchema' => array(
        array(
            'AttributeName' => 'Event ID',
            'KeyType' => 'HASH'
        )
    ),
    'ProvisionedThroughput' => array(
        'ReadCapacityUnits' => $_SERVER['DDB_READ_CAPACITY_UNITS']),
        'WriteCapacityUnits' => $_SERVER['DDB_WRITE_CAPACITY_UNITS']),
    )
));

echo $name;

它在本地机器上成功运行,但在 Elasticbeanstalk 上运行脚本时出现错误

致命错误:未捕获的 Aws\DynamoDb\Exception\DynamoDbException:AWS 错误代码:SerializationException,状态代码:400,AWS 请求 ID: HTTCDOVSES4RU0V8IVIQFGREL7VV4KQNSO5AEMVJF66Q9ASUAAJG,AWS 错误类型: 客户端,AWS 错误消息:无法转换类 java.lang.String 到一个长的用户代理:aws-sdk-php2/2.6.12 Guzzle/3.9.1 curl/7.36.0 PHP/5.5.12 抛出 /var/app/current/aws/Aws/Common/Exception/NamespaceExceptionFactory.php 在第 91 行

【问题讨论】:

    标签: php amazon-web-services amazon-s3 amazon-elastic-beanstalk


    【解决方案1】:

    我怀疑,由于错误涉及到错误的字符串到长(数字)转换,因此您的 DDB_READ_CAPACITY_UNITSDDB_WRITE_CAPACITY_UNITS 值在从 $_SERVER 读取为字符串时存在问题。尝试将它们转换/转换为整数。

    'ProvisionedThroughput' => array(
        'ReadCapacityUnits' => (int) $_SERVER['DDB_READ_CAPACITY_UNITS'],
        'WriteCapacityUnits' => (int) $_SERVER['DDB_WRITE_CAPACITY_UNITS'],
    )
    

    【讨论】:

    • 你是我的英雄!非常感谢
    猜你喜欢
    • 2019-12-09
    • 2018-09-18
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多