我试图将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的整个主题的新手。
答案 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
找到版本列表