【问题标题】:Amazon Glacier SDK phpAmazon Glacier SDK php
【发布时间】:2013-07-12 01:52:43
【问题描述】:

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

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

【问题讨论】:

    标签: php amazon-web-services amazon-glacier


    【解决方案1】:

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

    编辑: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 团队一直在监控那里的帖子。

    【讨论】:

    • 感谢您花时间回答我的问题,代码 sn-p 和冰川客户端文档链接真的很有帮助。
    猜你喜欢
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    相关资源
    最近更新 更多