Criar um contêiner de blob com Java

Os blobs no Armazenamento do Azure são organizados em contêineres. Antes de carregar um blob, é necessário primeiro criar um contêiner. Este artigo mostra como criar contêineres com a biblioteca de clientes do Armazenamento do Microsoft Azure para Java.

Pré-requisitos

  • Este artigo pressupõe que você já tenha um projeto configurado para funcionar com a biblioteca cliente Armazenamento de Blobs do Azure para Java. Para saber mais sobre como configurar seu projeto, incluindo a instalação de pacote, a adição de diretivas import e a criação de um objeto do cliente autorizado, consulte Introdução ao Armazenamento do Microsoft Azure e Java.
  • O mecanismo de autorização deve ter permissões para criar um contêiner de blob. Para saber mais, confira as diretrizes de autorização para as seguintes operações de API REST:

Sobre a nomenclatura de contêiner

Um nome de contêiner deve ser um nome DNS válido, pois ele faz parte do URI exclusivo usado para endereçar o contêiner ou seus blobs. Siga estas regras ao nomear um contêiner:

  • O comprimento dos nomes do contêiner pode ser entre 3 e 63  aracteres.
  • Os nomes de contêiner devem começar com uma letra ou número e podem conter apenas letras minúsculas, números e o caractere traço (-).
  • Caracteres de traço consecutivos não são permitidos em nomes de contêineres.

O URI de um recurso de contêiner é formatado da seguinte maneira:

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

Criar um contêiner

Para criar um contêiner, chame um dos seguintes métodos da classe BlobServiceClient:

Você também pode criar um contêiner usando um dos seguintes métodos da classe BlobContainerClient:

Os contêineres são criados imediatamente sob a conta de armazenamento. Não é possível aninhar um contêiner sob outro. Para os métodos create e createBlobContainer, uma exceção é lançada se já existir um contêiner com o mesmo nome.

O seguinte exemplo cria um contêiner de um objetoBlobServiceClient:

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

    return blobContainerClient;
}

Criar o contêiner raiz

Um contêiner raiz funciona como um contêiner padrão para sua conta de armazenamento. Cada conta de armazenamento pode ter um contêiner raiz, que deve ser nomeado $root. O contêiner raiz deve ser explicitamente criado ou excluído.

Você pode fazer referência a um blob armazenado no contêiner raiz sem incluir o nome do contêiner raiz. O contêiner raiz permite que você consulte um blob no nível superior da hierarquia da conta de armazenamento. Por exemplo, faça referência a um blob que resida no contêiner raiz da seguinte maneira:

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

O exemplo a seguir cria um novo objeto BlobContainerClient com o nome do contêiner $root e, em seguida, cria o contêiner se ele ainda não existir na conta de armazenamento:

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 saber mais sobre como criar um contêiner usando a biblioteca de clientes do Armazenamento de Blobs do Azure para Java, consulte os recursos a seguir.

Operações da API REST

O SDK do Azure para Java contém bibliotecas que criam sobre a API REST do Azure, permitindo a interação com as operações de API REST por meio de paradigmas conhecidos do Java. Os métodos da biblioteca de clientes para criar um contêiner usam a seguinte operação de API REST:

Exemplos de código

Recursos da biblioteca de clientes