你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Database.CreateContainerIfNotExistsAsync 方法

定义

重载

CreateContainerIfNotExistsAsync(ContainerProperties, ThroughputProperties, RequestOptions, CancellationToken)

检查容器是否存在,如果不存在,请创建它。 仅使用容器 ID 来验证是否存在现有容器。 其他容器属性(如吞吐量)不会验证,可以与传递的属性不同。

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

检查容器是否存在,如果不存在,请创建它。 仅使用容器 ID 来验证是否存在现有容器。 其他容器属性(如吞吐量)不会验证,可以与传递的属性不同。

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

检查容器是否存在,如果不存在,请创建它。 这将执行读取操作,如果未找到容器,它将执行创建操作。

CreateContainerIfNotExistsAsync(ContainerProperties, ThroughputProperties, RequestOptions, CancellationToken)

检查容器是否存在,如果不存在,请创建它。 仅使用容器 ID 来验证是否存在现有容器。 其他容器属性(如吞吐量)不会验证,可以与传递的属性不同。

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)

参数

containerProperties
ContainerProperties

ContainerProperties 对象。

throughputProperties
ThroughputProperties

(可选) 为容器预配的吞吐量,以测量 Azure Cosmos DB 服务中的每秒请求单位数。

requestOptions
RequestOptions

(可选) 请求的选项。

cancellationToken
CancellationToken

(表示请求取消的可选) CancellationToken

返回

包含 Task 的 , ContainerResponse 它包装 ContainerProperties 包含读取资源记录的 。

StatusCodeCreateDatabaseIfNotExistsAsync 操作的常见成功状态代码
201已创建 - 创建新数据库。
200确定 - 这意味着数据库已存在。

例外

如果未设置任何一 containerProperties 个。

表示异步处理期间发生的故障的合并。 在 InnerExceptions 中查找实际异常 () 。

此异常可以封装许多不同类型的错误。 若要确定特定错误,请始终查看 StatusCode 属性。 创建容器时可能会获取的一些常见代码包括:

StatusCode异常原因
400BadRequest - 这意味着所提供的请求出现问题。 很可能没有为新容器提供 ID。
403禁止 - 这意味着你尝试超过容器配额。 请联系支持人员以增加此配额。
409冲突 - 这表示 ContainerProperties ID 与所提供的 ID 匹配的 已存在。

示例

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

适用于

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

检查容器是否存在,如果不存在,请创建它。 仅使用容器 ID 来验证是否存在现有容器。 其他容器属性(如吞吐量)不会验证,可以与传递的属性不同。

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)

参数

containerProperties
ContainerProperties

ContainerProperties 对象。

throughput
Nullable<Int32>

(可选) 为容器预配的吞吐量,以测量 Azure Cosmos DB 服务中的每秒请求单位数。

requestOptions
RequestOptions

(可选) 请求的选项。

cancellationToken
CancellationToken

(表示请求取消的可选) CancellationToken

返回

包含 Task 的 , ContainerResponse 它包装 ContainerProperties 包含读取资源记录的 。

StatusCodeCreateDatabaseIfNotExistsAsync 操作的常见成功状态代码
201已创建 - 创建新数据库。
200确定 - 这意味着数据库已存在。

例外

如果未设置任何一 containerProperties 个。

表示异步处理期间发生的故障的合并。 在 InnerExceptions 中查找实际异常 () 。

此异常可以封装许多不同类型的错误。 若要确定特定错误,请始终查看 StatusCode 属性。 创建容器时可能会获取的一些常见代码包括:

StatusCode异常原因
400BadRequest - 这意味着所提供的请求出现问题。 很可能没有为新容器提供 ID。
403禁止 - 这意味着你尝试超过容器配额。 请联系支持人员以增加此配额。
409冲突 - 这表示 ContainerProperties ID 与所提供的 ID 匹配的 已存在。

示例

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

注解

https://docs.microsoft.com/azure/cosmos-db/request-units 有关预配吞吐量的详细信息。

适用于

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

检查容器是否存在,如果不存在,请创建它。 这将进行读取操作,如果未找到容器,它将执行创建操作。

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)

参数

id
String

Cosmos 容器 ID

partitionKeyPath
String

分区键的路径。 示例:/location

throughput
Nullable<Int32>

(可选) 为容器预配的吞吐量,以测量 Azure Cosmos DB 服务中的每秒请求单位数。

requestOptions
RequestOptions

(可选) 请求的选项。

cancellationToken
CancellationToken

(表示请求取消的可选) CancellationToken

返回

一个 TaskContainerResponse ,它包含包装 ContainerProperties 包含读取资源记录的 。

例外

如果未 id 设置 。

表示异步处理期间发生的故障的合并。 在 InnerExceptions 中查找实际异常 () 。

此异常可以封装许多不同类型的错误。 若要确定特定错误,请始终查看 StatusCode 属性。 创建容器时可能会获取的一些常见代码包括:

StatusCode异常原因
400BadRequest - 这意味着所提供的请求出现问题。 很可能没有为新容器提供 ID。
403禁止 - 这意味着你尝试超过容器配额。 请联系支持人员以增加此配额。
409冲突 - 这表示 ContainerProperties ID 与所提供的 ID 匹配的 已存在。

示例

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

注解

https://docs.microsoft.com/azure/cosmos-db/request-units 有关预配吞吐量的详细信息。

适用于