Nosql 用于Azure函数的Cosmos DB模拟
我对CosmosDB和azure功能还不熟悉,不知道它是如何工作的 无论如何,我正在做的一个项目是使用CosmosDB。他们已经创建了一些azure函数来插入和从Cosmos DB获取数据。我必须在本地机器上模拟Cosmos DB来测试这些功能Nosql 用于Azure函数的Cosmos DB模拟,nosql,azure-functions,azure-cosmosdb,Nosql,Azure Functions,Azure Cosmosdb,我对CosmosDB和azure功能还不熟悉,不知道它是如何工作的 无论如何,我正在做的一个项目是使用CosmosDB。他们已经创建了一些azure函数来插入和从Cosmos DB获取数据。我必须在本地机器上模拟Cosmos DB来测试这些功能 如何测试这些方法?如何在我的本地计算机上模拟Cosmos DB?由于您已经安装了Cosmos DB Emulator,您可以使用data explorer或直接在data explorer上本地操作Cosmos DB中的文档 插入文档代码示例: usin
如何测试这些方法?如何在我的本地计算机上模拟Cosmos DB?由于您已经安装了Cosmos DB Emulator,您可以使用data explorer或直接在data explorer上本地操作Cosmos DB中的文档 插入文档代码示例:
using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
using System;
using System.Threading.Tasks;
namespace JayGongDocumentDB.module
{
class TestEmulator
{
private static readonly string endpointUrl = "https://localhost:8081";
private static readonly string authorizationKey = "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==";
private static readonly string databaseId = "db";
private static readonly string collectionId = "coll";
private static DocumentClient client;
public static async Task TestAsync()
{
client = new DocumentClient(new Uri(endpointUrl), authorizationKey);
var uri = UriFactory.CreateDocumentCollectionUri(databaseId, collectionId);
var doc = new Document();
doc.SetPropertyValue("name", "jay");
await client.CreateDocumentAsync (
"/dbs/db/colls/coll", doc,null);
Console.WriteLine("insert success");
}
}
}
您可以在azure cosmos db emulator中找到endpointUrl和密钥:
关于azure函数,您可以按照创建Cosmos DB Trigger azure函数
using System.Collections.Generic;
using Microsoft.Azure.Documents;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
namespace TestAzureFunction
{
public static class Function1
{
[FunctionName("Function1")]
public static void Run([CosmosDBTrigger(
databaseName: "db",
collectionName: "coll",
ConnectionStringSetting = "CosmosdbString",
LeaseCollectionName = "leases")]IReadOnlyList<Document> input, TraceWriter log)
{
if (input != null && input.Count > 0)
{
log.Verbose("Documents modified " + input.Count);
log.Verbose("First document Id " + input[0].Id);
}
}
}
}
使用System.Collections.Generic;
使用Microsoft.Azure.Documents;
使用Microsoft.Azure.WebJobs;
使用Microsoft.Azure.WebJobs.Host;
命名空间测试拒绝
{
公共静态类函数1
{
[功能名称(“功能1”)]
公共静态无效运行([CosmosDBTrigger(
数据库名称:“db”,
集合名称:“coll”,
ConnectionStringSetting=“CosmosdbString”,
LeaseCollectionName=“leases”)]IReadOnlyList输入,TraceWriter日志)
{
if(输入!=null&&input.Count>0)
{
log.Verbose(“文档修改”+输入.Count);
log.Verbose(“第一个文档Id”+输入[0].Id);
}
}
}
}
希望它对您有所帮助。通常,当您在Visual Studio中安装SDK时,它会让您访问本地计算机上的模拟器,我可以确认您已安装这些吗?@Captain\u Custard是的,它已嵌入。CosmosDB模拟器应与之一起安装,然后安装@Captain\u Custard。我想知道如何配置它,编写测试用例,以及如何在模拟器中运行它。谢谢你的回答。我只是有时间经历一下。希望能有帮助。如果需要任何澄清,请联系您。@Pegasus,当然。等待您的答复。您的回答对我帮助很大。非常感谢你。