Tous les produits
Search
Centre de documentation

Object Storage Service:Create a bucket (PHP SDK V1)

Dernière mise à jour :Aug 18, 2026

Un bucket est un conteneur de stockage d’objets. Tous les objets doivent résider dans un bucket. Cette rubrique explique comment créer un bucket.

Notes d'utilisation

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

  • Cette rubrique illustre la création d’une instance OSSClient avec un endpoint OSS. Pour d’autres configurations, telles que l’utilisation d’un domaine personnalisé ou l’authentification via des identifiants issus du Security Token Service (STS), consultez Créer une instance OssClient.

  • À partir du 13 octobre 2025 à 10 h 00 (UTC+8), OSS active progressivement par défaut la fonctionnalité Block public access pour les buckets créés via des appels d’API, à l’aide des SDK OSS ou d’ossutil, dans toutes les régions. Pour connaître la date d’entrée en vigueur de cette modification dans chaque région, consultez l’annonce. Une fois cette fonctionnalité activée, vous ne pouvez pas accorder d’autorisations d’accès public, notamment via les listes de contrôle d’accès (ACL) public-read ou public-read-write, ni via des politiques de bucket autorisant l’accès public. Si votre activité nécessite un accès public, désactivez la fonctionnalité Block public access après la création du bucket.

Autorisations

Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM ou les rôles RAM associés à un compte Alibaba Cloud n’ont aucune autorisation par défaut. Le compte Alibaba Cloud ou l’administrateur du compte doit accorder les autorisations d’opération nécessaires via des politiques RAM ou une Bucket Policy.

API

Action

Description

PutBucket

oss:PutBucket

Crée un bucket.

oss:PutBucketAcl

Après la création d’un bucket, cette autorisation est requise pour modifier l’ACL du bucket.

Exemples

Le code suivant montre comment créer un bucket nommé examplebucket.

<?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 the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured. 
$provider = new EnvironmentVariableCredentialsProvider();
// In this example, the endpoint of the China (Hangzhou) region is used. Specify your actual endpoint.
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// Specify the name of the bucket. Example: examplebucket.
$bucket= "examplebucket";
try {
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);
    // Set the storage class of the bucket to Infrequent Access (IA). The default storage class is Standard.
    $options = array(
        OssClient::OSS_STORAGE => OssClient::OSS_STORAGE_IA
    );
    // Set the ACL of the bucket to public-read. The default bucket ACL is private.
    $ossClient->createBucket($bucket, OssClient::OSS_ACL_TYPE_PUBLIC_READ, $options);
} catch (OssException $e) {
    printf(__FUNCTION__ . ": FAILED\n");
    printf($e->getMessage() . "\n");
    return;
}
print(__FUNCTION__ . ": OK" . "\n");        

Références

  • Pour obtenir l’exemple de code complet relatif à la création d’un bucket, consultez l’exemple GitHub.

  • Pour plus d’informations sur l’opération API de création d’un bucket, consultez PutBucket.