Share via


Creare un contenitore BLOB con TypeScript

I BLOB in Archiviazione di Azure sono organizzati in contenitori. Prima di poter caricare un BLOB, è necessario creare un contenitore. Questo articolo illustra come creare i contenitori con la libreria client di Archiviazione di Azure per JavaScript.

Prerequisiti

  • Gli esempi in questo articolo presuppongono che sia già stato configurato un progetto per l’uso con la libreria client di Archiviazione BLOB di Azure per JavaScript. Per informazioni sulla configurazione del progetto, incluse l'installazione del pacchetto, l'importazione di moduli e la creazione di un oggetto client autorizzato per l'uso con le risorse dati, consultare Introduzione ad Archiviazione BLOB di Azure e TypeScript.
  • Il meccanismo di autorizzazione deve disporre delle autorizzazioni per elencare i contenitori BLOB. Per altre informazioni, vedere le linee guida per l'autorizzazione per l'operazione API REST seguente:

Informazioni sulla denominazione dei contenitori

Un nome contenitore deve essere un nome DNS valido, perché fa parte dell'URI univoco utilizzato per indirizzare il contenitore o i relativi BLOB. Seguire queste regole per la denominazione di un contenitore:

  • I nomi dei contenitori devono avere una lunghezza compresa fra 3 e 63 caratteri.
  • I nomi dei contenitori devono iniziare con una lettera o un numero e possono contenere solo lettere, numeri e il carattere del trattino (-).
  • I caratteri trattini consecutivi non sono consentiti nei nomi dei contenitori.

L'URI per una risorsa contenitore è formattato come segue:

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

Creazione di un contenitore

Per creare un contenitore, creare un oggetto BlobServiceClient o un oggetto ContainerClient, quindi utilizzare uno dei metodi di creazione seguenti:

I contenitori vengono creati immediatamente sotto l'account di archiviazione. Non è possibile annidare un contenitore in un altro. Viene generata un'eccezione se esiste già un contenitore con lo stesso nome.

L'esempio seguente crea un contenitore in modo asincrono da 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;
}

Informazioni sul contenitore radice

Un contenitore radice, con il nome specifico $root, consente di fare riferimento a un BLOB al livello superiore della gerarchia dell'account di archiviazione. Ad esempio, è possibile fare riferimento a un BLOB senza usare un nome contenitore nell'URI:

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

Il contenitore radice deve essere creato o eliminato in modo esplicito. Non viene creato per impostazione predefinita come parte della creazione del servizio. Lo stesso codice visualizzato nella sezione precedente può creare la radice. Il nome del contenitore è $root.

Risorse

Per altre informazioni sulla creazione di un contenitore usando la libreria client di Archiviazione BLOB di Azure per JavaScript, vedere le risorse seguenti.

Operazioni dell'API REST

Azure SDK per JavaScript contiene librerie basate sull'API REST di Azure che consentono di interagire con le operazioni dell'API REST tramite paradigmi noti di JavaScript. I metodi della libreria client per la creazione dei contenitori usano l'operazione API REST seguente:

Esempi di codice