Php 致命错误:未捕获Aws\Glacier\Exception\GlacierException:Aws错误代码:,状态代码:400,Aws请求

Php 致命错误:未捕获Aws\Glacier\Exception\GlacierException:Aws错误代码:,状态代码:400,Aws请求,php,sdk,amazon-web-services,Php,Sdk,Amazon Web Services,我一直试图通过SDK上传图像,但出现以下错误: 致命错误:未捕获Aws\Glacier\Exception\GlacierException:Aws错误代码:,状态代码:400,Aws请求ID:,Aws错误类型:客户端,Aws错误消息:,用户代理:Aws-sdk-php2/2.4.3 Guzzle/3.7.2 curl/7.15.5 PHP/5.3.8在第91行的/www/site/test/Aws/Common/Exception/NamespaceExceptionFactory.PHP中抛

我一直试图通过SDK上传图像,但出现以下错误:

致命错误:未捕获Aws\Glacier\Exception\GlacierException:Aws错误代码:,状态代码:400,Aws请求ID:,Aws错误类型:客户端,Aws错误消息:,用户代理:Aws-sdk-php2/2.4.3 Guzzle/3.7.2 curl/7.15.5 PHP/5.3.8在第91行的/www/site/test/Aws/Common/Exception/NamespaceExceptionFactory.PHP中抛出

这是我的测试代码:

 <?php
 // Include the SDK using the Composer autoloader
 require 'aws-autoloader.php';
  use Aws\Glacier\GlacierClient;

    $client = GlacierClient::factory(array(
     'key'    => 'xxxxxxx',
     'secret' => 'xxxxxxxx',
     'region' => 'us-east-1' // (e.g., us-west-2)
    ));

    $vaultName = 'http://xxx.xxx.xxx/vrs/images/album/default/pp.jpg';
    $filename = '/www/site/test/pp.jpg';

   $result = $client->uploadArchive(array(
     'vaultName' => $vaultName,
     'body'      => fopen($filename, 'r'),
    ));
    $archiveId = $result->get('archiveId');

    var_dump($archiveId);

您可能对Vault和归档之间的区别感到困惑。你应该确保通读这本书,熟悉冰川的基本概念。必须先创建vault才能将存档上载到该vault。冰川中的拱顶类似于S3中的水桶

您还应该查看以下链接,这些链接提供了使用Glacier进行上传的代码示例:

  • AWS PHP开发者博客上的博文
  • 张贴在某处