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
OSSClientavec 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-readoupublic-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 |
|
Crée un bucket. |
|
|
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.