Partilhar via


Criar um contêiner de blob com TypeScript

Os blobs no Armazenamento do Azure são organizados em contêineres. Antes de carregar um blob, você deve primeiro criar um contêiner. Este artigo mostra como criar contêineres com a biblioteca de cliente do Armazenamento do Azure para JavaScript.

Pré-requisitos

  • Os exemplos neste artigo pressupõem que você já tenha um projeto configurado para trabalhar com a biblioteca de cliente do Armazenamento de Blobs do Azure para JavaScript. Para saber mais sobre como configurar seu projeto, incluindo instalação de pacotes, importação de módulos e criação de um objeto cliente autorizado para trabalhar com recursos de dados, consulte Introdução ao Armazenamento de Blobs do Azure e TypeScript.
  • O mecanismo de autorização deve ter permissões para criar um contêiner de blob. Para saber mais, consulte as diretrizes de autorização para a seguinte operação da API REST:

Sobre a nomenclatura de contêineres

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

  • Os nomes dos contêineres podem ter entre 3 e 63 caracteres.
  • 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 contentor

Para criar um contêiner, crie um objeto BlobServiceClient ou um objeto ContainerClient e use um dos seguintes métodos de criação:

Os contêineres são criados imediatamente abaixo da conta de armazenamento. Não é possível aninhar um recipiente sob outro. Uma exceção é lançada se já existir um contêiner com o mesmo nome.

O exemplo a seguir cria um contêiner de forma assíncrona a partir do BlobServiceClient:

async function createContainer(
  blobServiceClient: BlobServiceClient,
  containerName: string
): Promise<ContainerClient> {
  // public access at container level
  const options: ContainerCreateOptions = {
    access: 'container'
  };

  // creating client also creates container
  const {
    containerClient,
    containerCreateResponse
  }: {
    containerClient: ContainerClient;
    containerCreateResponse: ContainerCreateResponse;
  } = await blobServiceClient.createContainer(containerName, options);

  if (containerCreateResponse.errorCode)
    throw Error(containerCreateResponse.errorCode);

  console.log(`container ${containerName} created`);

  // do something with container
  // ...
  // containerClient.listBlobsFlat({    includeMetadata: true,
  // includeSnapshots: false,
  // includeTags: true,
  // includeVersions: false,
  // prefix: ''});

  return containerClient;
}

Entenda o contêiner raiz

Um contêiner raiz, com o nome $rootespecífico, permite que você faça referência a um blob no nível superior da hierarquia da conta de armazenamento. Por exemplo, você pode fazer referência a um blob sem usar um nome de contêiner no URI:

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

O contêiner raiz deve ser explicitamente criado ou excluído. Ele não é criado por padrão como parte da criação do serviço. O mesmo código exibido na seção anterior pode criar a raiz. O nome do contêiner é $root.

Recursos

Para saber mais sobre como criar um contêiner usando a biblioteca de cliente do Armazenamento de Blobs do Azure para JavaScript, consulte os recursos a seguir.

Operações da API REST

O SDK do Azure para JavaScript contém bibliotecas que se baseiam na API REST do Azure, permitindo que você interaja com operações da API REST por meio de paradigmas JavaScript familiares. Os métodos de biblioteca de cliente para criar um contêiner usam a seguinte operação de API REST:

Amostras de código