Если вам нужно использовать SDK Cosmos DB в функциях Azure, вы можете:
Использовать JS SDK Cosmos DB
Пакет: https://github.com/Azure/azure-cosmos-js/
Ссылка: https://docs.microsoft.com/azure/azure-functions/manage-connections#cosmosclient-code-example-javascript
const cosmos = require('@azure/cosmos');
const endpoint = process.env.COSMOS_API_URL;
const key = process.env.COSMOS_API_KEY;
const { CosmosClient } = cosmos;
const client = new CosmosClient({ endpoint, key });
const container = client.database("MyDatabaseName").container("MyContainerName");
module.exports = async function (context) {
const itemDefs = JSON.parse('[{"id":"SomeId", "fname":"John","lname":"Doe"}]');
await Promise.all(itemDefs.map((itemDef: any) => container.items.create(itemDef)));
}
Использование привязок функций Cosmos DB
Связывания - это простой способ взаимодействия с Cosmos DB, поскольку они охватывают основные сценарии без необходимости выполнять такие вещи, как поддержаниеэкземпляр singleton-клиента, но если вы хотите сделать много вещей (запросить документы, сохранить их, обновить и т. д.) при выполнении одной и той же функции, то лучше всего выбрать первый вариант.
Ссылка: https://docs.microsoft.com/azure/azure-functions/functions-bindings-cosmosdb-v2#output---javascript-examples
module.exports = function (context) {
const itemDefs = JSON.parse('[{"id":"SomeId", "fname":"John","lname":"Doe"}]');
context.bindings.documentsToSave = itemDefs;
context.done();
};
Определив ваш function.json
с привязкой:
{
"name": "documentsToSave",
"type": "cosmosDB",
"databaseName": "MyDatabase",
"collectionName": "MyCollection",
"createIfNotExists": true,
"connectionStringSetting": "MyAccount_COSMOSDB",
"direction": "out"
}