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
- Assinatura do Azure - criar uma gratuitamente
- Conta de armazenamento do Azure – criar uma conta de armazenamento
- JDK (Java Development Kit) versão 8 ou posterior (recomendamos a versão 17 para ter a melhor experiência)
- O Apache Maven é usado para o gerenciamento de projetos neste exemplo
Configure seu ambiente
Se você não tiver um projeto existente, esta seção mostrará como configurar um projeto para que ele funcione com a biblioteca de clientes do Armazenamento de Blobs do Azure para Java. Para obter mais informações, confira Introdução ao Armazenamento de Blobs do Azure e ao Java.
Para trabalhar com os exemplos de código neste artigo, siga estas etapas para configurar seu projeto.
Observação
Este artigo usa a ferramenta de build do Maven para compilar e executar o código de exemplo. Outras ferramentas de build, como o Gradle, também funcionam com o SDK do Azure para Java.
Instalar Pacotes
Abra o arquivo pom.xml
no seu editor de texto. Instale os pacotes incluindo o arquivo BOM ou incluindo uma dependência direta.
Adicionar instruções de importação
Adicione as seguintes declarações de import
:
import com.azure.storage.blob.*;
Autorização
O mecanismo de autorização precisa ter as permissões necessárias para criar um contêiner. Para autorização com o Microsoft Entra ID (recomendado), você precisa da função interna de Colaborador de Dados de Blob de Armazenamento ou superior do RBAC do Azure. Para saber mais, consulte as diretrizes de autorização para Criar Contêiner (API REST).
Criar um objeto cliente
Para conectar um aplicativo ao Armazenamento de Blobs, crie uma instância do BlobServiceClient.
O exemplo a seguir usa BlobServiceClientBuilder para criar um objeto BlobServiceClient
usando DefaultAzureCredential
e mostra como criar clientes de contêiner e blob, se necessário:
// Azure SDK client builders accept the credential as a parameter
// TODO: Replace <storage-account-name> with your actual storage account name
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint("https://<storage-account-name>.blob.core.windows.net/")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
// If needed, you can create a BlobContainerClient object from the BlobServiceClient
BlobContainerClient containerClient = blobServiceClient
.getBlobContainerClient("<container-name>");
// If needed, you can create a BlobClient object from the BlobContainerClient
BlobClient blobClient = containerClient
.getBlobClient("<blob-name>");
Para saber mais sobre como criar e gerenciar objetos clientes, confira Criar e gerenciar objetos clientes que interagem com recursos de dados.
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.
Exemplos de código
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:
- Criar contêiner (API REST)
Recursos da biblioteca de clientes
- Documentação de referência da biblioteca de clientes
- Código-fonte da biblioteca de clientes
- Pacote (Maven)
Conteúdo relacionado
- Este artigo faz parte do guia do desenvolvedor do Armazenamento de Blobs para Java. Para saber mais, veja a lista completa de artigos do guia do desenvolvedor em Criar seu aplicativo Java.