你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Database.CreateContainerIfNotExistsAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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
- throughputProperties
- ThroughputProperties
(可选) 为容器预配的吞吐量,以测量 Azure Cosmos DB 服务中的每秒请求单位数。
- requestOptions
- RequestOptions
(可选) 请求的选项。
- cancellationToken
- CancellationToken
(表示请求取消的可选) CancellationToken 。
返回
包含 Task 的 , ContainerResponse 它包装 ContainerProperties 包含读取资源记录的 。
StatusCode | CreateDatabaseIfNotExistsAsync 操作的常见成功状态代码 |
---|---|
201 | 已创建 - 创建新数据库。 |
200 | 确定 - 这意味着数据库已存在。 |
例外
如果未设置任何一 containerProperties
个。
表示异步处理期间发生的故障的合并。 在 InnerExceptions 中查找实际异常 () 。
此异常可以封装许多不同类型的错误。 若要确定特定错误,请始终查看 StatusCode 属性。 创建容器时可能会获取的一些常见代码包括:
StatusCode | 异常原因 |
---|---|
400 | BadRequest - 这意味着所提供的请求出现问题。 很可能没有为新容器提供 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
- requestOptions
- RequestOptions
(可选) 请求的选项。
- cancellationToken
- CancellationToken
(表示请求取消的可选) CancellationToken 。
返回
包含 Task 的 , ContainerResponse 它包装 ContainerProperties 包含读取资源记录的 。
StatusCode | CreateDatabaseIfNotExistsAsync 操作的常见成功状态代码 |
---|---|
201 | 已创建 - 创建新数据库。 |
200 | 确定 - 这意味着数据库已存在。 |
例外
如果未设置任何一 containerProperties
个。
表示异步处理期间发生的故障的合并。 在 InnerExceptions 中查找实际异常 () 。
此异常可以封装许多不同类型的错误。 若要确定特定错误,请始终查看 StatusCode 属性。 创建容器时可能会获取的一些常见代码包括:
StatusCode | 异常原因 |
---|---|
400 | BadRequest - 这意味着所提供的请求出现问题。 很可能没有为新容器提供 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
- requestOptions
- RequestOptions
(可选) 请求的选项。
- cancellationToken
- CancellationToken
(表示请求取消的可选) CancellationToken 。
返回
一个 TaskContainerResponse ,它包含包装 ContainerProperties 包含读取资源记录的 。
例外
如果未 id
设置 。
表示异步处理期间发生的故障的合并。 在 InnerExceptions 中查找实际异常 () 。
此异常可以封装许多不同类型的错误。 若要确定特定错误,请始终查看 StatusCode 属性。 创建容器时可能会获取的一些常见代码包括:
StatusCode | 异常原因 |
---|---|
400 | BadRequest - 这意味着所提供的请求出现问题。 很可能没有为新容器提供 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 有关预配吞吐量的详细信息。