php - 亚马逊冰川 SDK php

标签 php amazon-web-services amazon-glacier

我正在尝试将 php sdk 与 Glacier 结合使用来上传数据库备份,我能够使用以下代码创建和删除保险库。

<?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 ,参数是一个参数数组,我找不到每个方法需要什么才能正常工作,而且关于 glacier 和 php sdk 的文档实际上不存在。

有人做这个吗?或者找到好的文档?

最佳答案

有发表API docs可用于 SDK 2。API docs for the GlacierClient如果您单击右侧的小哈希符号,则会列出每个操作的参数。

编辑:A recent post on the AWS PHP Development Blog展示了如何使用单个和分段上传选项将文件上传到 Amazon Glacier。

还有 Amazon Glacier Developer Guide由 AWS 发布。它并不特定于 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 - 亚马逊冰川 SDK php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13574390/

相关文章:

memory - 为什么 EMR 实例没有像映射器那样多的缩减器?

python - 允许用户下载在 AWS 上生成的 zip 文件

amazon-s3 - 删除在 Glacier 中存档了一些数据的 S3 存储桶

PHP,foreach 奇怪的行为

php - google oauth 用户配置文件

PHP OOP 多重调用

amazon-web-services - 内部负载均衡器的 AWS Route 53 DNS 别名

python - 按需将 S3 存储到 Glacier 是否可以从 boto3 API 获得?

java - 使用存储类 Glacier 访问 S3 对象

php - MySQL 通过多个内连接进行过滤