[英]GetSessionToken command not found in AWS SDK
I have the following code 我有以下代码
<?php
require '../aws/aws-autoloader.php';
use Aws\Sts\StsClient;
use Aws\S3\S3Client;
$sts = S3Client::factory(array(
'key' => 'key',
'secret' => 'key',
));
$result = $sts->getSessionToken();
$credentials = $result->get('Credentials');
print_r($credentials);
?>
However, it's resulting in this error: 但是,它导致了这个错误:
Uncaught exception 'Guzzle\Common\Exception\InvalidArgumentException' with message 'Command was not found matching GetSessionToken' in /home/site/public_html/dev/testAWS/core/aws/Guzzle/Service/Client.php:87 Stack trace: #0 /home/site/public_html/dev/testAWS/core/aws/Guzzle/Service/Client.php(76): Guzzle\Service\Client->getCommand('GetSessionToken', Array) #1 /home/site/public_html/dev/testAWS/core/aws/Aws/Common/Client/AbstractClient.php(105): Guzzle\Service\Client->__call('GetSessionToken', Array) #2 /home/site/public_html/dev/testAWS/core/ajax/test2.php(13): Aws\Common\Client\AbstractClient->__call('getSessionToken', Array) #3 /home/site/public_html/dev/testAWS/core/ajax/test2.php(13): Aws\S3\S3Client->getSessionToken() #4 {main} thrown in /home/site/public_html/dev/testAWS/core/aws/Guzzle/Service/Client.php on line 87
The issue is with this line: 问题在于这一行:
$result = $sts->getSessionToken();
I've been following this guide: http://docs.aws.amazon.com/AmazonS3/latest/dev/AuthUsingTempSessionTokenPHP.html 我一直在关注这个指南: http : //docs.aws.amazon.com/AmazonS3/latest/dev/AuthUsingTempSessionTokenPHP.html
I don't see any reason for the error to be occurring. 我没有看到任何错误发生的原因。 Is there any reason for this, or a way to fix it? 这有什么理由,还是一种解决方法?
You are mixing the example up. 你正在混合这个例子。 S3Client::factory() expects a token as a param. S3Client :: factory()需要一个标记作为参数。 You maybe should be using StsClient::factory()? 您可能应该使用StsClient :: factory()?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.