簡體   English   中英

在 C# 創建 Cosmos Db 和 Container

[英]Create a Cosmos Db and Container in C#

我正在嘗試使用 C# 創建數據庫和容器我正在嘗試使用最新版本的Azure.ResourceManager.CosmosDB 1.2.0

在我使用的以前的版本中:

var client = new CosmosDBManagementClient("someendpoint", new DefaultAzureCredential());
var database = await client.SqlResources.StartCreateUpdateSqlDatabaseAsync(
    AzureResourceGroup, AccountName, DatabaseName, 
    new SqlDatabaseCreateUpdateParameters(
        new SqlDatabaseResource(DatabaseName), 
        new CreateUpdateOptions()
    )
);

var armcontainer = await client.SqlResources.StartCreateUpdateSqlContainerAsync(
    AzureResourceGroup, AccountName, DatabaseName,
    ContainerName, 
    GetContainerParameters()
);

但是, CosmosDBManagementClient不再位於庫中。

我知道有:

var client = new CosmosClient(endpoint, new DefaultAzureCredential());

await client.CreateDatabaseIfNotExistsAsync("testing", 
    throughput: null, new RequestOptions());

由於 403 錯誤,我也無法讓它工作,即使有貢獻者權限,但我知道這是一個錯誤,因為你應該使用資源管理器。

任何建議,將不勝感激。

我沒有使用過無密碼訪問,但您是否嘗試過明確提供 ID?

string userAssignedClientId = "<your managed identity client Id>";
var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions { ManagedIdentityClientId = userAssignedClientId });
var client = new CosmosClient(endpoint, new DefaultAzureCredential());

如果這不起作用,您可以嘗試連接字符串方法:

using CosmosClient client = new(
    accountEndpoint: "endpoint here",
    authKeyOrResourceToken: "key here");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM