Todos los productos
Search
Centro de documentos

Object Storage Service:Crear buckets con OSS SDK for PHP 1.0

Última actualización: Sep 22, 2026

Un bucket es un contenedor para almacenar objetos. Todos los objetos deben guardarse en un bucket. En este tema se describe cómo crear un bucket.

Notas de uso

  • En este tema se utiliza el endpoint público de la región China (Hangzhou). Para acceder a OSS desde otros servicios de Alibaba Cloud en la misma región, use un endpoint interno. Para obtener más información sobre las regiones y los endpoints compatibles, consulte Regions and endpoints.

  • Este tema muestra cómo crear una instancia de OSSClient con un endpoint de OSS. Para conocer otras opciones de configuración, como usar un dominio personalizado o autenticarse con credenciales de Security Token Service (STS), consulte Create an OssClient.

  • A partir de las 10:00:00 (UTC+8) del 13 de octubre de 2025, OSS habilita gradualmente Block public access de forma predeterminada en los buckets que se crean mediante llamadas a API, OSS SDK u ossutil en todas las regiones. Para conocer la fecha exacta en la que este cambio entra en vigor en cada región, consulte Anuncio. Una vez habilitada esta función, no podrá otorgar permisos de acceso público, lo que incluye las ACL public-read o public-read-write y las políticas de bucket que permiten el acceso público. Si su negocio requiere acceso público, deshabilite el bloqueo de acceso público después de crear el bucket.

Permisos

De forma predeterminada, una cuenta de Alibaba Cloud tiene todos los permisos. Los usuarios y roles de RAM asociados a una cuenta de Alibaba Cloud no cuentan con ningún permiso de manera predeterminada. La cuenta de Alibaba Cloud o el administrador de la cuenta debe otorgar los permisos de operación mediante RAM policies o Bucket Policy.

API

Action

Descripción

PutBucket

oss:PutBucket

Crea un bucket.

oss:PutBucketAcl

Después de crear un bucket, este permiso es obligatorio para modificar la ACL del bucket.

Ejemplos

El código a continuación muestra cómo crear un bucket llamado 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");        

Referencias

  • Para consultar el código de ejemplo completo sobre cómo crear un bucket, visite el ejemplo de GitHub.

  • Para obtener más información sobre la operación de API que permite crear un bucket, consulte PutBucket.