Creación de un contenedor de blobs con Java

Los blobs de Azure Storage se organizan en contenedores. Antes de poder cargar un blob, primero debe crear un contenedor. En este artículo se muestra cómo crear contenedores con la biblioteca cliente de Azure Storage para Java.

Requisitos previos

  • En este artículo se supone que ya tiene un proyecto configurado para trabajar con la biblioteca cliente de Azure Blob Storage para Java. Para obtener información sobre cómo configurar el proyecto, incluida la instalación de paquetes, la adición de directivas de import y la autorización de un objeto de cliente, consulte Introducción a Azure Storage y Java.
  • El mecanismo de autorización debe tener permisos para trabajar con un contenedor de blobs. Para obtener más información, consulte la guía de autorización para la siguiente operación de la API de REST:

Acerca de la nomenclatura de contenedores

Un nombre de contenedor debe ser un nombre DNS válido, ya que forma parte del URI único que se usa para direccionar el contenedor o sus blobs. Siga estas reglas al asignar un nombre a un contenedor:

  • Los nombres de contenedor pueden tener entre 3 y 63 caracteres.
  • Los nombres de contenedor deben comenzar por una letra o un número, y solo pueden contener letras en minúscula, números y el carácter de guión (-).
  • Los guiones consecutivos no están permitidos en los nombres de contenedores.

El URI de un recurso contenedor tiene el siguiente formato:

https://my-account-name.blob.core.windows.net/my-container-name

Crear un contenedor

Para crear un contenedor, llame a uno de los métodos siguientes de la clase BlobServiceClient:

También puede crear un contenedor mediante uno de los métodos siguientes de la clase BlobContainerClient:

Los contenedores se crean inmediatamente debajo de la cuenta de almacenamiento. No es posible anidar un contenedor debajo de otro. Para los métodos create y createBlobContainer se genera una excepción si ya existe un contenedor con el mismo nombre.

En el ejemplo siguiente se crea un contenedor desde un objeto BlobServiceClient:

public BlobContainerClient createContainer(BlobServiceClient blobServiceClient, String containerName) {
    // Create the container using the service client object
    BlobContainerClient blobContainerClient = blobServiceClient.createBlobContainer(containerName);

    return blobContainerClient;
}

Creación del contenedor raíz

Un contenedor raíz sirve como contenedor predeterminado para la cuenta de almacenamiento. Cada cuenta de almacenamiento puede tener un contenedor raíz, que se debe denominar $root. El contenedor raíz debe crearse o eliminarse explícitamente.

Puede hacer referencia a un blob almacenado en el contenedor raíz sin incluir el nombre del contenedor raíz. El contenedor raíz permite hacer referencia a un blob en el nivel superior de la jerarquía de la cuenta de almacenamiento. Por ejemplo, se puede hacer referencia a un blob que esté en el contenedor raíz de la siguiente manera:

https://accountname.blob.core.windows.net/default.html

En el ejemplo siguiente se crea un nuevo objeto BlobContainerClient con el nombre del contenedor $root y, a continuación, se crea el contenedor si aún no existe en la cuenta de almacenamiento:

public void createRootContainer(BlobServiceClient blobServiceClient) {
    // Creates a new BlobContainerClient object by appending the containerName to
    // the end of the URI
    BlobContainerClient blobContainerClient = blobServiceClient.getBlobContainerClient("$root");

    // If the container does not already exist, create it using the container client
    blobContainerClient.createIfNotExists();
}

Recursos

Para más información sobre cómo crear un contenedor con la biblioteca cliente de Azure Blob Storage para Java, consulte los recursos siguientes.

Operaciones de API REST

El SDK de Azure para Java contiene bibliotecas que se crean a partir de la API REST de Azure, lo que le permite interactuar con las operaciones de API REST a través de paradigmas conocidos de Java. Los métodos de la biblioteca cliente para crear un contenedor usan esta operación de API REST:

Ejemplos de código

Recursos de la biblioteca cliente