Freigeben über


Database.CreateContainerIfNotExistsAsync Methode

Definition

Überlädt

CreateContainerIfNotExistsAsync(ContainerProperties, ThroughputProperties, RequestOptions, CancellationToken)

Überprüfen Sie, ob ein Container vorhanden ist, und erstellen Sie ihn, falls nicht. Nur die Container-ID wird verwendet, um zu überprüfen, ob ein Container vorhanden ist. Andere Containereigenschaften wie der Durchsatz werden nicht überprüft und können sich von den übergebenen Eigenschaften unterscheiden.

CreateContainerIfNotExistsAsync(ContainerProperties, Nullable<Int32>, RequestOptions, CancellationToken)

Überprüfen Sie, ob ein Container vorhanden ist, und erstellen Sie ihn, falls nicht. Nur die Container-ID wird verwendet, um zu überprüfen, ob ein Container vorhanden ist. Andere Containereigenschaften wie der Durchsatz werden nicht überprüft und können sich von den übergebenen Eigenschaften unterscheiden.

CreateContainerIfNotExistsAsync(String, String, Nullable<Int32>, RequestOptions, CancellationToken)

Überprüfen Sie, ob ein Container vorhanden ist, und erstellen Sie ihn, falls nicht. Dadurch wird ein Lesevorgang ausgeführt, und wenn der Container nicht gefunden wird, wird ein Erstellungsvorgang ausgeführt.

CreateContainerIfNotExistsAsync(ContainerProperties, ThroughputProperties, RequestOptions, CancellationToken)

Überprüfen Sie, ob ein Container vorhanden ist, und erstellen Sie ihn, falls nicht. Nur die Container-ID wird verwendet, um zu überprüfen, ob ein Container vorhanden ist. Andere Containereigenschaften wie der Durchsatz werden nicht überprüft und können sich von den übergebenen Eigenschaften unterscheiden.

public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ContainerResponse> CreateContainerIfNotExistsAsync (Microsoft.Azure.Cosmos.ContainerProperties containerProperties, Microsoft.Azure.Cosmos.ThroughputProperties throughputProperties, Microsoft.Azure.Cosmos.RequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateContainerIfNotExistsAsync : Microsoft.Azure.Cosmos.ContainerProperties * Microsoft.Azure.Cosmos.ThroughputProperties * Microsoft.Azure.Cosmos.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ContainerResponse>
Public MustOverride Function CreateContainerIfNotExistsAsync (containerProperties As ContainerProperties, throughputProperties As ThroughputProperties, Optional requestOptions As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ContainerResponse)

Parameter

containerProperties
ContainerProperties

Das ContainerProperties-Objekt.

throughputProperties
ThroughputProperties

(Optional) Der für einen Container bereitgestellte Durchsatz bei der Messung von Anforderungseinheiten pro Sekunde im Azure Cosmos DB-Dienst.

requestOptions
RequestOptions

(Optional) Die Optionen für die Anforderung.

cancellationToken
CancellationToken

(Optional) CancellationToken stellt den Anforderungsabbruch dar.

Gibt zurück

Eine Task , die ein ContainerResponse enthält, das einen ContainerProperties umschließt, der den gelesenen Ressourcendatensatz enthält.

StatusCodeAllgemeine ErfolgsstatusCodes für den CreateDatabaseIfNotExistsAsync-Vorgang
201Erstellt: Neue Datenbank wird erstellt.
200OK: Dies bedeutet, dass die Datenbank bereits vorhanden ist.

Ausnahmen

Wenn beides containerProperties nicht festgelegt ist.

Stellt eine Konsolidierung von Fehlern dar, die während der asynchronen Verarbeitung aufgetreten sind. Suchen Sie in InnerExceptions nach den tatsächlichen Ausnahmen.

Diese Ausnahme kann viele verschiedene Fehlertypen kapseln. Um den spezifischen Fehler zu ermitteln, sehen Sie sich immer die StatusCode-Eigenschaft an. Einige häufige Codes, die Sie beim Erstellen eines Containers erhalten können, sind:

StatusCodeGrund für die Ausnahme
400BadRequest: Dies bedeutet, dass mit der bereitgestellten Anforderung ein Fehler aufgetreten ist. Es ist wahrscheinlich, dass für den neuen Container keine ID angegeben wurde.
403Verboten: Dies bedeutet, dass Sie versucht haben, Ihr Kontingent für Container zu überschreiten. Wenden Sie sich an den Support, um dieses Kontingent zu erhöhen.
409Konflikt: Dies bedeutet, dass ein ContainerProperties mit einer ID übereinstimmt, die der von Ihnen angegebenen ID entspricht, bereits vorhanden ist.

Beispiele

ContainerProperties containerProperties = new ContainerProperties()
{
    Id = Guid.NewGuid().ToString(),
    PartitionKeyPath = "/pk",
    IndexingPolicy = new IndexingPolicy()
   {
        Automatic = false,
        IndexingMode = IndexingMode.Lazy,
   }
};

ContainerResponse response = await this.cosmosDatabase.CreateContainerIfNotExistsAsync(
     containerProperties,
     ThroughputProperties.CreateAutoscaleThroughput(5000));

Gilt für:

CreateContainerIfNotExistsAsync(ContainerProperties, Nullable<Int32>, RequestOptions, CancellationToken)

Überprüfen Sie, ob ein Container vorhanden ist, und erstellen Sie ihn, falls nicht. Nur die Container-ID wird verwendet, um zu überprüfen, ob ein Container vorhanden ist. Andere Containereigenschaften wie der Durchsatz werden nicht überprüft und können sich von den übergebenen Eigenschaften unterscheiden.

public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ContainerResponse> CreateContainerIfNotExistsAsync (Microsoft.Azure.Cosmos.ContainerProperties containerProperties, int? throughput = default, Microsoft.Azure.Cosmos.RequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateContainerIfNotExistsAsync : Microsoft.Azure.Cosmos.ContainerProperties * Nullable<int> * Microsoft.Azure.Cosmos.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ContainerResponse>
Public MustOverride Function CreateContainerIfNotExistsAsync (containerProperties As ContainerProperties, Optional throughput As Nullable(Of Integer) = Nothing, Optional requestOptions As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ContainerResponse)

Parameter

containerProperties
ContainerProperties

Das ContainerProperties-Objekt.

throughput
Nullable<Int32>

(Optional) Der für einen Container bereitgestellte Durchsatz bei der Messung von Anforderungseinheiten pro Sekunde im Azure Cosmos DB-Dienst.

requestOptions
RequestOptions

(Optional) Die Optionen für die Anforderung.

cancellationToken
CancellationToken

(Optional) CancellationToken stellt den Anforderungsabbruch dar.

Gibt zurück

Eine Task , die ein ContainerResponse enthält, das einen ContainerProperties umschließt, der den gelesenen Ressourcendatensatz enthält.

StatusCodeAllgemeine ErfolgsstatusCodes für den CreateDatabaseIfNotExistsAsync-Vorgang
201Erstellt: Neue Datenbank wird erstellt.
200OK: Dies bedeutet, dass die Datenbank bereits vorhanden ist.

Ausnahmen

Wenn beides containerProperties nicht festgelegt ist.

Stellt eine Konsolidierung von Fehlern dar, die während der asynchronen Verarbeitung aufgetreten sind. Suchen Sie in InnerExceptions nach den tatsächlichen Ausnahmen.

Diese Ausnahme kann viele verschiedene Fehlertypen kapseln. Um den spezifischen Fehler zu ermitteln, sehen Sie sich immer die StatusCode-Eigenschaft an. Einige häufige Codes, die Sie beim Erstellen eines Containers erhalten können, sind:

StatusCodeGrund für die Ausnahme
400BadRequest: Dies bedeutet, dass mit der bereitgestellten Anforderung ein Fehler aufgetreten ist. Es ist wahrscheinlich, dass für den neuen Container keine ID angegeben wurde.
403Verboten: Dies bedeutet, dass Sie versucht haben, Ihr Kontingent für Container zu überschreiten. Wenden Sie sich an den Support, um dieses Kontingent zu erhöhen.
409Konflikt: Dies bedeutet, dass ein ContainerProperties mit einer ID übereinstimmt, die der von Ihnen angegebenen ID entspricht, bereits vorhanden ist.

Beispiele

ContainerProperties containerProperties = new ContainerProperties()
{
    Id = Guid.NewGuid().ToString(),
    PartitionKeyPath = "/pk",
    IndexingPolicy = new IndexingPolicy()
   {
        Automatic = false,
        IndexingMode = IndexingMode.Lazy,
   }
};

ContainerResponse response = await this.cosmosDatabase.CreateContainerIfNotExistsAsync(containerProperties);

Hinweise

https://docs.microsoft.com/azure/cosmos-db/request-units weitere Informationen zum Bereitstellungsdurchsatz.

Gilt für:

CreateContainerIfNotExistsAsync(String, String, Nullable<Int32>, RequestOptions, CancellationToken)

Überprüfen Sie, ob ein Container vorhanden ist, und erstellen Sie ihn, falls nicht. Dadurch wird ein Lesevorgang ausgeführt, und wenn der Container nicht gefunden wird, wird ein Erstellungsvorgang ausgeführt.

public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ContainerResponse> CreateContainerIfNotExistsAsync (string id, string partitionKeyPath, int? throughput = default, Microsoft.Azure.Cosmos.RequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateContainerIfNotExistsAsync : string * string * Nullable<int> * Microsoft.Azure.Cosmos.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ContainerResponse>
Public MustOverride Function CreateContainerIfNotExistsAsync (id As String, partitionKeyPath As String, Optional throughput As Nullable(Of Integer) = Nothing, Optional requestOptions As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ContainerResponse)

Parameter

id
String

Die Cosmos-Container-ID

partitionKeyPath
String

Der Pfad zum Partitionsschlüssel. Beispiel: /location

throughput
Nullable<Int32>

(Optional) Der für einen Container bereitgestellte Durchsatz bei der Messung von Anforderungseinheiten pro Sekunde im Azure Cosmos DB-Dienst.

requestOptions
RequestOptions

(Optional) Die Optionen für die Anforderung.

cancellationToken
CancellationToken

(Optional) CancellationToken stellt den Anforderungsabbruch dar.

Gibt zurück

Eine Task , die einen ContainerResponse enthält, der einen ContainerProperties umschließt, der den Leseressourcendatensatz enthält.

Ausnahmen

Wenn id nicht festgelegt ist.

Stellt eine Konsolidierung von Fehlern dar, die während der asynchronen Verarbeitung aufgetreten sind. Suchen Sie in InnerExceptions nach den tatsächlichen Ausnahmen.

Diese Ausnahme kann viele verschiedene Fehlertypen kapseln. Um den spezifischen Fehler zu ermitteln, sehen Sie sich immer die StatusCode-Eigenschaft an. Einige häufige Codes, die Sie beim Erstellen eines Containers erhalten können, sind:

StatusCodeGrund für die Ausnahme
400BadRequest: Dies bedeutet, dass mit der bereitgestellten Anforderung ein Fehler aufgetreten ist. Es ist wahrscheinlich, dass für den neuen Container keine ID angegeben wurde.
403Verboten: Dies bedeutet, dass Sie versucht haben, Ihr Kontingent für Container zu überschreiten. Wenden Sie sich an den Support, um dieses Kontingent zu erhöhen.
409Konflikt: Dies bedeutet, dass ein ContainerProperties mit einer ID übereinstimmt, die der von Ihnen angegebenen ID entspricht, bereits vorhanden ist.

Beispiele

ContainerResponse response = await this.cosmosDatabase.CreateContainerIfNotExistsAsync(Guid.NewGuid().ToString(), "/pk");

Hinweise

https://docs.microsoft.com/azure/cosmos-db/request-units weitere Informationen zum Bereitstellungsdurchsatz.

Gilt für: