Tous les produits
Search
Centre de documentation

Object Storage Service:Restaurer des fichiers (PHP SDK V1)

Dernière mise à jour :Aug 18, 2026

Vous devez restaurer les objets Archive, Cold Archive et Deep Cold Archive avant de pouvoir les lire. Cette rubrique explique comment restaurer les objets Archive et Cold Archive.

Notes

  • Seuls les objets Archive, Cold Archive et Deep Cold Archive prennent en charge l'opération RestoreObject.

  • Cette rubrique utilise le point de terminaison public de la région Chine (Hangzhou). Pour accéder à OSS depuis d'autres services Alibaba Cloud dans la même région, utilisez un point de terminaison interne. Pour plus d'informations sur les régions et les points de terminaison pris en charge, consultez Régions et points de terminaison.

  • Cette rubrique montre comment créer une instance OssClient avec un point de terminaison OSS. Pour d'autres configurations, telles que l'utilisation d'un domaine personnalisé ou l'authentification avec des identifiants issus du Security Token Service (STS), consultez Créer un OssClient.

  • Pour restaurer un fichier, vous devez disposer de l'autorisation oss:RestoreObject. Pour plus d'informations, consultez Accorder des autorisations personnalisées à un utilisateur RAM.

Restaurer un objet Archive

Le code suivant montre comment restaurer un objet Archive :

<?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\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;

// Obtain access credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
$provider = new EnvironmentVariableCredentialsProvider();
// The Endpoint is set to the China (Hangzhou) region. Replace it with the actual Endpoint.
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// Specify the bucket name. Example: examplebucket.
$bucket= "examplebucket";
// Specify the full path of the Archive object. Do not include the bucket name. Example: srcexampleobject.txt.
$object = "srcexampleobject.txt";

try {
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);
    // Restore the file.
    $ossClient->restoreObject($bucket, $object);
} catch (OssException $e) {
    printf(__FUNCTION__ . ": FAILED\n");
    printf($e->getMessage() . "\n");
    return;
}
print(__FUNCTION__ . ": OK" . "\n");        

Restaurer un objet Cold Archive

Le code suivant montre comment restaurer un objet Cold Archive :

<?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\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;
use OSS\Model\RestoreConfig;

// Obtain access credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
$provider = new EnvironmentVariableCredentialsProvider();
// The Endpoint is set to the China (Hangzhou) region. Replace it with the actual Endpoint.
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// Specify the bucket name. Example: examplebucket.
$bucket= "examplebucket";
// Specify the full path of the Cold Archive object. Do not include the bucket name. Example: srcexampleobject.txt.
$object = "srcexampleobject.txt";

try {
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);
    // The number of days for which the object remains in the restored state. Valid values: 1 to 7.
    $day = 3; 
    // The restoration priority. This is set to Bulk, which means the object is restored within 5 to 12 hours.
    // To restore the object within 2 to 5 hours, set this parameter to Standard. To restore the object within 1 hour, set this parameter to Expedited.
    $tier = "Bulk"; 

    $config = new RestoreConfig($day,$tier);

    $options = array(
      OssClient::OSS_RESTORE_CONFIG => $config
    );

        $result = $ossClient->restoreObject($bucket, $object,$options);
} catch (OssException $e) {
    printf($e->getMessage() . "\n");
    return;
}            

Références

Pour plus d'informations sur l'opération API utilisée pour restaurer les fichiers Archive et Cold Archive, consultez RestoreObject.