我一直在尝试通过SDK上传图片,但是我收到了这个错误:
致命错误:未捕获的Aws \ Glacier \ Exception \ GlacierException:AWS错误代码:,状态代码:400,AWS请求ID :, AWS错误类型:客户端,AWS错误消息:,User-Agent:aws-sdk-php2 /2.4.3第91行/www/site/test/Aws/Common/Exception/NamespaceExceptionFactory.php中引发的Guzzle / 3.7.2 curl / 7.15.5 PHP / 5.3.8
这是我的测试代码:
<?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);
非常感谢任何帮助:)
答案 0 :(得分:1)
您可能会对保险库和档案之间的区别感到困惑。您应该确保查看Amazon Glacier Developer Guide以熟悉Glacier的基本概念。您必须先创建保管库才能将存档上传到该保管库。 Glacier中的保险库类似于S3中的保管桶。
您还应该查看这些链接,这些链接提供了使用Glacier进行上传的代码示例: