Skapa en container i Azure Cosmos DB for NoSQL med hjälp av .NET

GÄLLER FÖR: NoSQL

Containrar i Azure Cosmos DB lagrar uppsättningar med objekt. Innan du kan skapa, fråga eller hantera objekt måste du först skapa en container.

Namnge en container

I Azure Cosmos DB motsvarar en container en tabell i en relationsdatabas. När du skapar en container utgör containernamnet ett segment av den URI som används för att komma åt containerresursen och eventuella underordnade objekt.

Här följer några snabba regler när du namnger en container:

  • Containernamn får inte vara tomma.
  • Containernamn får inte vara längre än 256 tecken.

När URI:n för en container har skapats har den följande format:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>

Tips

Mer information om containernamnsgränser finns i Tjänstkvoter och gränser

Skapa en container

Om du vill skapa en container anropar du någon av följande metoder:

Skapa en container asynkront

I följande exempel skapas en container asynkront:

// New instance of Container class referencing the server-side container
Container container1 = await database.CreateContainerAsync(
    id: "products-1",
    partitionKeyPath: "/category",
    throughput: 400
);

Metoden Database.CreateContainerAsync genererar ett undantag om det redan finns en databas med samma namn.

Skapa en container asynkront om den inte redan finns

I följande exempel skapas endast en container asynkront om den inte redan finns på kontot:

// New instance of Container class referencing the server-side container
Container container2 = await database.CreateContainerIfNotExistsAsync(
    id: "products-2",
    partitionKeyPath: "/category",
    throughput: 400
);

Metoden Database.CreateContainerIfNotExistsAsync skapar bara en ny container om den inte redan finns. Den här metoden är användbar för att undvika fel om du kör samma kod flera gånger.

Parsa svaret

I alla exempel hittills har svaret från den asynkrona begäran omvandlats omedelbart till Container typen . Du kanske vill parsa metadata om svaret, inklusive rubriker och HTTP-statuskoden. Den sanna returtypen för metoderna Database.CreateContainerAsync och Database.CreateContainerIfNotExistsAsync är ContainerResponse.

I följande exempel visas metoden Database.CreateContainerIfNotExistsAsync som returnerar en ContainerResponse. När det har returnerats kan du parsa svarsegenskaper och sedan så småningom hämta det underliggande containerobjektet :

// New instance of Container class referencing the server-side container
ContainerResponse response = await database.CreateContainerIfNotExistsAsync(
    id: "products-3",
    partitionKeyPath: "/category",
    throughput: 400
);
// Parse additional response properties
Container container3 = response.Container;

Nästa steg

Nu när du har skapat en container använder du nästa guide för att skapa objekt.