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

DocumentClient.CreateDocumentCollectionIfNotExistsAsync 方法

定义

重载

CreateDocumentCollectionIfNotExistsAsync(Uri, DocumentCollection, RequestOptions)

如果不存在) 创建 (;如果集合) 集合已存在,则创建 (作为 Azure Cosmos DB 服务中的异步操作。

CreateDocumentCollectionIfNotExistsAsync(String, DocumentCollection, RequestOptions)

如果不存在) ,则创建 (;如果集合) 集合已存在,则创建 (作为 Azure Cosmos DB 服务中的异步操作。 可以从响应中检查状态代码,以确定集合是新创建的 (201) ,还是 (200) 返回现有集合。

CreateDocumentCollectionIfNotExistsAsync(Uri, DocumentCollection, RequestOptions)

如果不存在) 创建 (;如果集合) 集合已存在,则创建 (作为 Azure Cosmos DB 服务中的异步操作。

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.DocumentCollection>> CreateDocumentCollectionIfNotExistsAsync (Uri databaseUri, Microsoft.Azure.Documents.DocumentCollection documentCollection, Microsoft.Azure.Documents.Client.RequestOptions options = default);
abstract member CreateDocumentCollectionIfNotExistsAsync : Uri * Microsoft.Azure.Documents.DocumentCollection * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.DocumentCollection>>
override this.CreateDocumentCollectionIfNotExistsAsync : Uri * Microsoft.Azure.Documents.DocumentCollection * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.DocumentCollection>>
Public Function CreateDocumentCollectionIfNotExistsAsync (databaseUri As Uri, documentCollection As DocumentCollection, Optional options As RequestOptions = Nothing) As Task(Of ResourceResponse(Of DocumentCollection))

参数

databaseUri
Uri

要创建集合的数据库的 URI。

documentCollection
DocumentCollection

DocumentCollection 对象。

options
RequestOptions

(可选) 创建集合时要提供的任何 RequestOptions 选项。 例如 RequestOptions.OfferThroughput = 400。

返回

DocumentCollection在 表示异步操作的服务响应的 对象中Task创建的 。

实现

适用于

CreateDocumentCollectionIfNotExistsAsync(String, DocumentCollection, RequestOptions)

如果不存在) ,则创建 (;如果集合) 集合已存在,则创建 (作为 Azure Cosmos DB 服务中的异步操作。 可以从响应中检查状态代码,以确定集合是新创建的 (201) ,还是 (200) 返回现有集合。

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.DocumentCollection>> CreateDocumentCollectionIfNotExistsAsync (string databaseLink, Microsoft.Azure.Documents.DocumentCollection documentCollection, Microsoft.Azure.Documents.Client.RequestOptions options = default);
abstract member CreateDocumentCollectionIfNotExistsAsync : string * Microsoft.Azure.Documents.DocumentCollection * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.DocumentCollection>>
override this.CreateDocumentCollectionIfNotExistsAsync : string * Microsoft.Azure.Documents.DocumentCollection * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.DocumentCollection>>
Public Function CreateDocumentCollectionIfNotExistsAsync (databaseLink As String, documentCollection As DocumentCollection, Optional options As RequestOptions = Nothing) As Task(Of ResourceResponse(Of DocumentCollection))

参数

databaseLink
String

要创建集合的数据库链接。 例如 dbs/db_rid/。

documentCollection
DocumentCollection

DocumentCollection 对象。

options
RequestOptions

(可选) 创建集合时要提供的任何 RequestOptions 选项。 例如 RequestOptions.OfferThroughput = 400。

返回

DocumentCollection在 表示异步操作的服务响应的 对象中Task创建的 。

实现

例外

databaseLink如果未设置 或 documentCollection

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

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

StatusCode异常原因
400BadRequest - 这意味着所提供的请求出错。 很可能没有为新集合提供 ID。
403禁止 - 这意味着你尝试超过集合配额。 请联系支持人员以增加此配额。

示例

using (IDocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key"))
{
    //Create a new collection with an OfferThroughput set to 10000
    //Not passing in RequestOptions.OfferThroughput will result in a collection with the default OfferThroughput set.
    DocumentCollection coll = await client.CreateDocumentCollectionIfNotExistsAsync(databaseLink,
        new DocumentCollection { Id = "My Collection" },
        new RequestOptions { OfferThroughput = 10000} );
}

另请参阅

适用于