Skapa en blobcontainer med TypeScript
Blobar i Azure Storage är ordnade i containrar. Innan du kan ladda upp en blob måste du först skapa en container. Den här artikeln visar hur du skapar containrar med Azure Storage-klientbiblioteket för JavaScript.
Förutsättningar
- Exemplen i den här artikeln förutsätter att du redan har ett projekt konfigurerat för att fungera med Azure Blob Storage-klientbiblioteket för JavaScript. Mer information om hur du konfigurerar projektet, inklusive paketinstallation, import av moduler och att skapa ett auktoriserat klientobjekt för att arbeta med dataresurser, finns i Kom igång med Azure Blob Storage och TypeScript.
- Auktoriseringsmekanismen måste ha behörighet att skapa en blobcontainer. Mer information finns i auktoriseringsvägledningen för följande REST API-åtgärd:
Om namngivning av containrar
Ett containernamn måste vara ett giltigt DNS-namn eftersom det utgör en del av den unika URI som används för att adressera containern eller dess blobar. Följ dessa regler när du namnger en container:
- Containernamn kan vara mellan 3 och 63 tecken långa.
- Containernamn måste börja med en bokstav eller siffra och får endast innehålla gemener, siffror och bindestreck (-).
- På varandra följande bindestreckstecken tillåts inte i containernamn.
URI:n för en containerresurs är formaterad på följande sätt:
https://my-account-name.blob.core.windows.net/my-container-name
Skapa en container
Skapa en container genom att skapa ett BlobServiceClient-objekt eller ContainerClient-objekt och sedan använda någon av följande metoder för att skapa:
Containrar skapas omedelbart under lagringskontot. Det går inte att kapsla en container under en annan. Ett undantag utlöses om det redan finns en container med samma namn.
I följande exempel skapas en container asynkront från 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;
}
Förstå rotcontainern
Med en rotcontainer med det specifika namnet $root
kan du referera till en blob på den översta nivån i lagringskontohierarkin. Du kan till exempel referera till en blob utan att använda ett containernamn i URI:n:
https://myaccount.blob.core.windows.net/default.html
Rotcontainern måste skapas eller tas bort uttryckligen. Den skapas inte som standard som en del av skapandet av tjänsten. Samma kod som visas i föregående avsnitt kan skapa roten. Containernamnet är $root
.
Resurser
Mer information om hur du skapar en container med hjälp av Azure Blob Storage-klientbiblioteket för JavaScript finns i följande resurser.
REST API-åtgärder
Azure SDK för JavaScript innehåller bibliotek som bygger på Azure REST API, så att du kan interagera med REST API-åtgärder via välbekanta JavaScript-paradigm. Klientbiblioteksmetoderna för att skapa en container använder följande REST API-åtgärd:
- Skapa container (REST API)