我一直在尝试通过 SDK 发送 OpsWorks 部署命令,但出现此错误:
Fatal error: Uncaught Aws\OpsWorks\Exception\ValidationException: AWS Error Code: ValidationException, Status Code: 400, AWS Request ID: f33c4c59-f48c-11e2-9764-4d0c126d6399, AWS Error Type: client, AWS Error Message: , User-Agent: aws-sdk-php2/2.4.1 Guzzle/3.7.1 curl/7.24.0 PHP/5.3.15
thrown in /Users/bigtallbill/REPOS/WEB-APPLICATION/vendor/aws/aws-sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php on line 91
这是我的测试代码:
<?php
require_once "vendor/autoload.php";
use Aws\S3\S3Client;
use Aws\OpsWorks\OpsWorksClient;
define('AWS_KEY', 'mykey');
define('AWS_SECRET', 'mySecret');
define('AWS_OPSWORKS_STACKID', 'my-stack-id');
$opsWorksClient = OpsWorksClient::factory(array(
'key' => AWS_KEY,
'secret' => AWS_SECRET,
'region' => 'us-east-1'
));
$result = $opsWorksClient->createDeployment(array(
'StackId' => AWS_OPSWORKS_STACKID,
'Command' => array(
'Name' => 'deploy'
)
));
var_dump($result);
在一天的大部分时间里,我一直在为此苦苦挣扎。我尝试过使用最新的主版本以及最新的发布版本。
此外,我的应用程序可以通过 Web 界面正常部署。我也在使用我的普通 AWS 密钥,而不是 IAM 用户。
任何帮助是极大的赞赏 :)