dozug64282
2014-03-24 14:33 阅读 177
已采纳

AWS SDK中找不到GetSessionToken命令

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

I don't see any reason for the error to be occurring. Is there any reason for this, or a way to fix it?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    dronthpi05943 dronthpi05943 2014-03-24 14:38

    You are mixing the example up. S3Client::factory() expects a token as a param. You maybe should be using StsClient::factory()?

    点赞 评论 复制链接分享

相关推荐