Partager via


Créer un conteneur d’objets blob avec TypeScript

Les objets BLOB dans le stockage Azure sont organisés en conteneurs. Avant de pouvoir télécharger un objet BLOB, vous devez d’abord créer un conteneur. Cet article explique comment créer des conteneurs à l’aide de la bibliothèque de client de Stockage Azure pour JavaScript.

Prérequis

  • Les exemples de cet article supposent que vous disposez déjà d'un projet configuré pour fonctionner avec la bibliothèque client Azure Blob Storage pour JavaScript. Pour en savoir plus sur la configuration de votre projet, y compris l’installation du package, l’importation de modules et la création d’un objet client autorisé à utiliser les ressources de données, consultez Prise en main de Stockage Blob Azure et TypeScript.
  • Le mécanisme d’autorisation doit disposer des autorisations nécessaires à la création d’un conteneur d’objets blob. Pour en savoir plus, consultez les conseils d’autorisation pour l’opération d’API REST suivante :

À propos de la dénomination des conteneurs

Un nom de conteneur doit être un nom DNS valide, car il fait partie de l’URI unique utilisé pour adresser le conteneur ou ses objets BLOB. Suivez ces règles lorsque vous nommez un conteneur :

  • Les noms de conteneur doivent comprendre entre 3 et 63 caractères.
  • Les noms de conteneur doivent commencer par une lettre ou un chiffre, et peuvent comporter uniquement des lettres minuscules, des chiffres et des tirets (-).
  • Deux tirets consécutifs ne sont pas autorisés dans les noms de conteneurs.

L’URI d’une ressource de conteneur est mis en forme comme suit :

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

Créez un conteneur.

Pour créer un conteneur, créez un objet BlobServiceClient ou ContainerClient, puis utilisez l’une des méthodes de création suivantes :

Les conteneurs sont créés immédiatement sous le compte de stockage. Il n’est pas possible d’imbriquer un conteneur sous un autre. Une exception est levée s’il existe un conteneur portant le même nom.

L’exemple suivant crée un conteneur de manière asynchrone à partir de l’objet 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;
}

Comprendre le conteneur racine

Un conteneur racine, avec le nom spécifique $root, vous permet de référencer un objet blob au niveau supérieur de la hiérarchie du compte de stockage. Par exemple, vous pouvez référencer un objet blob sans utiliser de nom de conteneur dans l’URI :

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

Le conteneur racine doit être créé ou supprimé de manière explicite. Il n’est pas créé par défaut dans le cadre de la création de service. Le même code affiché dans la section précédente peut créer la racine. $root est le nom du conteneur.

Ressources

Pour en savoir plus sur la création d’un conteneur à l’aide de la bibliothèque de client Stockage Blob Azure pour JavaScript, consultez les ressources suivantes.

Opérations de l'API REST

Le Kit de développement logiciel (SDK) Azure pour JavaScript contient des bibliothèques qui s’appuient sur l’API REST Azure, vous permettant d’interagir avec des opérations de l’API REST par le biais de paradigmes JavaScript familiers. Les méthodes de bibliothèque cliente pour créer un conteneur utilisent l’opération d’API REST suivante :

Exemples de code