Compartilhar via


Database.CreateContainerIfNotExistsAsync Método

Definição

Sobrecargas

CreateContainerIfNotExistsAsync(ContainerProperties, ThroughputProperties, RequestOptions, CancellationToken)

Verifique se existe um contêiner e, se não existir, crie-o. Somente a ID do contêiner é usada para verificar se há um contêiner existente. Outras propriedades de contêiner, como taxa de transferência, não são validadas e podem ser diferentes e, em seguida, as propriedades passadas.

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

Verifique se existe um contêiner e, se não existir, crie-o. Somente a ID do contêiner é usada para verificar se há um contêiner existente. Outras propriedades de contêiner, como taxa de transferência, não são validadas e podem ser diferentes e, em seguida, as propriedades passadas.

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

Verifique se existe um contêiner e, se não existir, crie-o. Isso fará uma operação de leitura e, se o contêiner não for encontrado, ele fará uma operação de criação.

CreateContainerIfNotExistsAsync(ContainerProperties, ThroughputProperties, RequestOptions, CancellationToken)

Verifique se existe um contêiner e, se não existir, crie-o. Somente a ID do contêiner é usada para verificar se há um contêiner existente. Outras propriedades de contêiner, como taxa de transferência, não são validadas e podem ser diferentes e, em seguida, as propriedades passadas.

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)

Parâmetros

containerProperties
ContainerProperties

O objeto ContainerProperties.

throughputProperties
ThroughputProperties

(Opcional) A taxa de transferência provisionada para um contêiner na medição de Unidades de Solicitações por segundo no serviço do Azure Cosmos DB.

requestOptions
RequestOptions

(Opcional) As opções para a solicitação.

cancellationToken
CancellationToken

(Opcional) CancellationToken que representa o cancelamento da solicitação.

Retornos

Um Task que contém um ContainerResponse que encapsula um ContainerProperties que contém o registro de recurso de leitura.

StatusCodeStatus de sucesso comumCodes para a operação CreateDatabaseIfNotExistsAsync
201Criado – novo banco de dados é criado.
200OK - Isso significa que o banco de dados já existe.

Exceções

Se um dos dois containerProperties não estiver definido.

Representa uma consolidação de falhas que ocorreram durante o processamento assíncrono. Procure em InnerExceptions para encontrar as exceções reais.

Essa exceção pode encapsular muitos tipos diferentes de erros. Para determinar o erro específico, sempre examine a propriedade StatusCode. Alguns códigos comuns que você pode obter ao criar um contêiner são:

StatusCodeMotivo da exceção
400BadRequest - Isso significa que algo estava errado com a solicitação fornecida. É provável que uma ID não tenha sido fornecida para o novo contêiner.
403Proibido – isso significa que você tentou exceder sua cota de contêineres. Entre em contato com o suporte para aumentar essa cota.
409Conflito – isso significa que um ContainerProperties com uma ID correspondente à ID que você forneceu já existia.

Exemplos

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));

Aplica-se a

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

Verifique se existe um contêiner e, se não existir, crie-o. Somente a ID do contêiner é usada para verificar se há um contêiner existente. Outras propriedades de contêiner, como taxa de transferência, não são validadas e podem ser diferentes e, em seguida, as propriedades passadas.

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)

Parâmetros

containerProperties
ContainerProperties

O objeto ContainerProperties.

throughput
Nullable<Int32>

(Opcional) A taxa de transferência provisionada para um contêiner na medição de Unidades de Solicitações por segundo no serviço do Azure Cosmos DB.

requestOptions
RequestOptions

(Opcional) As opções para a solicitação.

cancellationToken
CancellationToken

(Opcional) CancellationToken que representa o cancelamento da solicitação.

Retornos

Um Task que contém um ContainerResponse que encapsula um ContainerProperties que contém o registro de recurso de leitura.

StatusCodeStatus de sucesso comumCodes para a operação CreateDatabaseIfNotExistsAsync
201Criado – novo banco de dados é criado.
200OK - Isso significa que o banco de dados já existe.

Exceções

Se um dos dois containerProperties não estiver definido.

Representa uma consolidação de falhas que ocorreram durante o processamento assíncrono. Procure em InnerExceptions para encontrar as exceções reais.

Essa exceção pode encapsular muitos tipos diferentes de erros. Para determinar o erro específico, sempre examine a propriedade StatusCode. Alguns códigos comuns que você pode obter ao criar um contêiner são:

StatusCodeMotivo da exceção
400BadRequest - Isso significa que algo estava errado com a solicitação fornecida. É provável que uma ID não tenha sido fornecida para o novo contêiner.
403Proibido – isso significa que você tentou exceder sua cota de contêineres. Entre em contato com o suporte para aumentar essa cota.
409Conflito – isso significa que um ContainerProperties com uma ID correspondente à ID que você forneceu já existia.

Exemplos

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);

Comentários

https://docs.microsoft.com/azure/cosmos-db/request-units para obter detalhes sobre a taxa de transferência de provisionamento.

Aplica-se a

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

Verifique se existe um contêiner e, se não existir, crie-o. Isso fará uma operação de leitura e, se o contêiner não for encontrado, ele fará uma operação de criação.

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)

Parâmetros

id
String

A ID do contêiner do Cosmos

partitionKeyPath
String

O caminho para a chave de partição. Exemplo: /location

throughput
Nullable<Int32>

(Opcional) A taxa de transferência provisionada para um contêiner na medição de Unidades de Solicitação por segundo no serviço do Azure Cosmos DB.

requestOptions
RequestOptions

(Opcional) As opções para a solicitação.

cancellationToken
CancellationToken

(Opcional) CancellationToken que representa o cancelamento da solicitação.

Retornos

Um Task que contém um ContainerResponse que encapsula um ContainerProperties que contém o registro de recurso de leitura.

Exceções

Se id não estiver definido.

Representa uma consolidação de falhas que ocorreram durante o processamento assíncrono. Procure em InnerExceptions para encontrar as exceções reais.

Essa exceção pode encapsular muitos tipos diferentes de erros. Para determinar o erro específico, sempre examine a propriedade StatusCode. Alguns códigos comuns que você pode obter ao criar um contêiner são:

StatusCodeMotivo da exceção
400BadRequest - Isso significa que algo estava errado com a solicitação fornecida. É provável que uma ID não tenha sido fornecida para o novo contêiner.
403Proibido – isso significa que você tentou exceder sua cota de contêineres. Entre em contato com o suporte para aumentar essa cota.
409Conflito – isso significa que um ContainerProperties com uma ID correspondente à ID que você forneceu já existia.

Exemplos

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

Comentários

https://docs.microsoft.com/azure/cosmos-db/request-units para obter detalhes sobre a taxa de transferência de provisionamento.

Aplica-se a