Amazon Glacier SDK php
作者:互联网
我正在尝试使用带有Glacier的php sdk上传数据库备份,我能够使用以下代码创建和删除保管库.
<?php
require 'aws.phar';
use Aws\Glacier\GlacierClient;
use Aws\Common\Enum\Region;
$aws = GlacierClient::factory(array(
'key' => 'key',
'secret' => 'secret',
'region' => Region::US_WEST_2
));
$aws->createVault(array('vaultName'=>'newvault'));
我看到了函数uploadArchive(),initiateMultiPartUpload()和uploadMultipartPart().
据我所知,我必须初始化上传,然后开始上传文件,但我不确定该函数采用的参数.
我知道方法,因为它们在这里提到https://github.com/aws/aws-sdk-php/blob/master/src/Aws/Glacier/GlacierClient.php,参数是一个参数数组我找不到每个方法需要正确工作的内容,关于冰川和php sdk的文档实际上并不存在.
有人做这个工作吗?还是找到了好的文档?
解决方法:
已发布API docs可用于SDK 2.如果单击右侧的小哈希符号,API docs for the GlacierClient将列出每个操作的参数.
编辑:A recent post on the AWS PHP Development Blog显示了如何使用单部分和多部分上传选项将存档上传到Amazon Glacier.
还有由AWS发布的Amazon Glacier Developer Guide.它不是特定于PHP,但它确实更多地讨论了如何使用服务以及参数的含义.
尽管未在API文档中记录,但PHP SDK会在后台进行一些工作以帮助您上传Glacier.在大多数情况下,accountId参数应设置为“ – ”,因此如果您未设置,则SDK将默认为此值.此外,如果未提供,SDK会为您计算SHA哈希值.
因此,简单的UploadArchive示例(构建问题中提供的内容)可能是:
<?php
require 'vendor/autoload.php'; // Include Composer autoloader
use Aws\Glacier\GlacierClient;
use Aws\Common\Enum\Region;
$glacier = GlacierClient::factory(array(
'key' => 'key',
'secret' => 'secret',
'region' => Region::US_WEST_2
));
$glacier->createVault(array('vaultName' => 'new-vault'));
$result = $glacier->uploadArchive(array(
'vaultName' => 'new-vault',
'archiveDescription' => 'This is my new archive',
'body' => 'the contents of the archive',
));
$archiveId = $result->get('archiveId');
仍然缺乏可用的示例,但我希望随着时间的推移而改进.此外,AWS SDK for PHP forum是一个发布有关SDK的问题的好地方,因为SDK团队一直在监控那里的帖子.
标签:php,amazon-web-services,amazon-glacier 来源: https://codeday.me/bug/20190826/1725276.html