アーカイブオブジェクトを読み込む前に復元する必要があります。 非アーカイブオブジェクトに対して restoreObject を呼び出さないでください。

アーカイブオブジェクトの状態変換プロセスは次のとおりです。

  1. アーカイブオブジェクトはフリーズ状態です。
  2. 復元のために送信した後、サーバーはオブジェクトを復元します。 オブジェクトは復元中の状態です。
  3. 復元後にオブジェクトを読むことができます。 オブジェクトの復元された状態は、既定で 1 日続きます。 この期間は最大 7 日間まで延長できます。 この期間が終了すると、オブジェクトはフリーズ状態に戻ります。

次のコードを実行してオブジェクトを復元します。

<? php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\OssClient;
use OSS\Core\OssException;

// It is highly risky to log on with AccessKey of an Alibaba Cloud account because the account has permissions on all APIs in OSS. RAM ユーザーとしてログオンして API にアクセスするか、定期的な運用とメンテナンスを実行することを推奨します。 To create a RAM account, log on to https://ram.console.aliyun.com.
$accessKeyId = "<yourAccessKeyId>";
$accessKeySecret = "<yourAccessKeySecret>";
// This example uses endpoint China East 1 (Hangzhou). 要件に基づいて実際のエンドポイントを指定してください。
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
$bucket= "<yourBucketName>";
$object = "<yourObjectName>";

try {
    $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);

    $ossClient->restoreObject($bucket, $object);
} catch (OssException $e) {
    printf(__FUNCTION__ . ": FAILED\n");
    printf($e->getMessage() . "\n");
    return;
}
print(__FUNCTION__ . ": OK" . "\n");

アーカイブストレージクラスの詳細については、「ストレージクラスの概要」をご参照ください。