Используя пакет Microsoft.Azure.Cosmos
, существует два способа создания элементов в контейнере:
public abstract Task<ItemResponse<T>> CreateItemAsync<T>(T item, PartitionKey? partitionKey = null, ItemRequestOptions requestOptions = null, CancellationToken cancellationToken = default(CancellationToken));
public abstract Task<ResponseMessage> CreateItemStreamAsync(Stream streamPayload, PartitionKey partitionKey, ItemRequestOptions requestOptions = null, CancellationToken cancellationToken = default(CancellationToken));
Я могу найти обходной путь для вашего запроса, вы можете воспользоваться пакетом Newtonsoft.Json
.
Вот быстрый образец, который я использовал для тестирования:
class Program
{
private static string EndpointUrl = "https://jackdemo.documents.azure.com:443/";
private static string PrimaryKey = "AWgnKF********odqAkQwA==";
private static CosmosClient cosmosClient;
private static Database database;
private static Container container;
private static string databaseId = "db";
private static string containerId = "demo";
static void Main(string[] args)
{
cosmosClient = new CosmosClient(EndpointUrl, PrimaryKey);
database = cosmosClient.CreateDatabaseIfNotExistsAsync(databaseId).Result;
container = database.CreateContainerIfNotExistsAsync(containerId, "/key").Result;
string json = "{\"id\":\"bbb\",\"key\":\"bbb\"}";
var obj = JsonConvert.DeserializeObject(json);
container.CreateItemAsync<Object>(obj).Wait();
cosmosClient.Dispose();
Console.ReadLine();
}
}
Результат
![enter image description here](https://i.stack.imgur.com/3VweW.png)