Freigeben über


Erstellen eines Containers in Azure Cosmos DB für NoSQL mithilfe von .NET

Container in Azure Cosmos DB speichern Sammlungen von Elementen. Bevor Sie Elemente erstellen, abfragen oder verwalten können, müssen Sie zuerst einen Container erstellen.

Benennen eines Containers

In Azure Cosmos DB entspricht ein Container einer Tabelle in einer relationalen Datenbank. Wenn Sie einen Container erstellen, bildet der Containername ein Segment des URI, der für den Zugriff auf die Containerressource und alle untergeordneten Elemente verwendet wird.

Hier sind einige schnelle Regeln beim Benennen eines Containers:

  • Containernamen dürfen nicht leer sein.
  • Containernamen dürfen maximal 256 Zeichen lang sein.

Nach der Erstellung befindet sich der URI für einen Container in diesem Format:

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

Tipp

Weitere Informationen zu Grenzwerten für Containernamen finden Sie unter Dienstkontingente und Grenzwerte.

Einen Container erstellen

Rufen Sie zum Erstellen eines Containers eine der folgenden Methoden auf:

Asynchrones Erstellen eines Containers

Im folgenden Beispiel wird asynchron ein Container erstellt:

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

Die Database.CreateContainerAsync Methode löst eine Ausnahme aus, wenn bereits eine Datenbank mit demselben Namen vorhanden ist.

Erstellen eines Containers asynchron, wenn er noch nicht vorhanden ist

Im folgenden Beispiel wird ein Container nur dann asynchron erstellt, wenn er noch nicht auf dem Konto existiert.

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

Die Database.CreateContainerIfNotExistsAsync Methode erstellt nur einen neuen Container, wenn er noch nicht vorhanden ist. Diese Methode ist nützlich, um Fehler zu vermeiden, wenn Sie denselben Code mehrmals ausführen.

Analysieren der Antwort

In allen bisherigen Beispielen wurde die Antwort der asynchronen Anfrage sofort in den Container Typ gecastet. Möglicherweise möchten Sie Metadaten zu der Antwort analysieren, einschließlich Headern und dem HTTP-Statuscode. Der true-Rückgabetyp für die Methoden Database.CreateContainerAsync und Database.CreateContainerIfNotExistsAsync lautet ContainerResponse.

Das folgende Beispiel zeigt die Database.CreateContainerIfNotExistsAsync-Methode , die einen ContainerResponse zurückgibt. Nach der Rückgabe können Sie Antworteigenschaften analysieren und schließlich das zugrunde liegende Containerobjekt abrufen:

// 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ächste Schritte

Nachdem Sie nun einen Container erstellt haben, verwenden Sie das nächste Handbuch zum Erstellen von Elementen.