缺少必需的客户端配置选项:版本

时间:2017-03-07 12:30:19

标签: php api amazon-web-services version amazon-dynamodb

我试图将AWS DynamoDB连接到我的PHP脚本,当我通过XAMPP在浏览器上打开脚本时,我收到以下错误:

  

致命错误:未捕获的异常' InvalidArgumentException`,消息'缺少所需的客户端配置选项:version:(string)A" version"配置值是必需的。指定版本约束可确保您的代码不会受到对服务的重大更改的影响。例如,使用Amazon S3时,您可以将API版本锁定为" 2006-03-01"。您构建的SDK具有以下版本的" dynamodb":*" 2012-08-10" *" 2011-12-05"您可以提供最新的"到"版本"配置值,以利用客户端API提供商可以找到的最新API版本。注意:使用' latest'在生产应用程序中不建议使用。可以在每个客户的API文档页面上找到可用API版本的列表:http://docs.aws.amazon.com/aws-sdk-php/v3/api/index.html。如果您无法加载特定的API版本,则可能需要更新SDK的副本。'在C:\ Users \ Lenovo \ xampp \ htdocs \ public_html \ zip \ aws \ Aws in C:\ Users \ Lenovo \ xampp \ htdocs \ public_html \ zip \ aws \ Aws \ ClientResolver.php on 364

这是来自ClientResolver.php的代码块,其中包含第364行:

private function throwRequired(array $args)
{
    $missing = [];
    foreach ($this->argDefinitions as $k => $a) {
        if (empty($a['required'])
            || isset($a['default'])
            || array_key_exists($k, $args)
        ) {
            continue;
        }
        $missing[] = $this->getArgMessage($k, $args, true);
    $msg = "Missing required client configuration options: \n\n";
    $msg .= implode("\n\n", $missing);
    throw new IAE($msg); // This is line 364
}

你可以帮我解决这个问题吗?我是PHP的整个主题的新手。

1 个答案:

答案 0 :(得分:2)

  

您的SDK版本具有以下版本的“dynamodb”:*   “2012-08-10”*“2011-12-05”您可以向“版本”提供“最新”   配置值以利用最新的

您需要为客户端对象标识您的版本,例如:

$client = DynamoDbClient::factory(array(
    ....
    'version' => '2012-08-10',
));

您可以在http://docs.aws.amazon.com/aws-sdk-php/v3/api/index.html

找到版本列表