繁体   English   中英

Amazon Glacier SDK php

[英]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文档可供SDK 2. 对于GlacierClient API文档 ,如果你点击右边的小散符号列出了每个操作的参数。

编辑: AWS PHP开发博客上的最新帖子显示了如何使用单部分和多部分上传选项将存档上传到Amazon Glacier。

还有AWS发布的Amazon Glacier开发人员指南 它不是特定于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论坛是一个发布有关SDK的问题的好地方,因为SDK团队会不断监视那里的帖子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM