3

Glacierでphpsdkを使用してデータベースのバックアップをアップロードしようとしていますが、次のコードを使用してボールトを作成および削除できました。

<?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とphpsdkに関するドキュメントは実際には存在しません。

誰かがこれを機能させますか?または良いドキュメントを見つけましたか?

4

1 に答える 1

6

SDK 2で利用できる公開されたAPIドキュメントがあります。GlacierClientのAPIドキュメントには、右側の小さなハッシュ記号をクリックすると、各操作のパラメーターが一覧表示されます。

編集:AWS PHP開発ブログの最近の投稿は、シングルパートとマルチパートの両方のアップロードオプションを使用してアーカイブをAmazonGlacierにアップロードする方法を示しています。

AWSによって公開されているAmazonGlacier開発者ガイドもあります。これは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に関する質問を投稿するのに適した場所です。

于 2012-12-05T19:18:15.590 に答える