Запрос CosmosDB из функции Azure.csx

Я хочу запросить коллекцию CosmosDB, чтобы узнать, существует ли уже документ из функции Azure с использованием csx.

Помимо следующего кода, у меня есть неявная привязка к коллекции cosmosDB, чтобы можно было создавать новые документы. Это сделано с помощью

binder.BindAsync<IAsyncCollector<string>>(new CosmosDBAttribute("test", "collection")

Это простая версия моей функции.

#r "System"
#r "Microsoft.Azure.WebJobs.Extensions.CosmosDB"

using System;
using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;

public static async Task<string> Run(string localityId, Binder binder, TraceWriter log)
{
    ...

    string EndpointUrl = "<your endpoint URL>";
    string PrimaryKey = "<your primary key>";
    DocumentClient client = new DocumentClient(new Uri(EndpointUrl), PrimaryKey);

    ...
}

Это приводит к следующему сообщению об ошибке:

ошибка CS0246: не удалось найти тип или имя пространства имен DocumentClient (отсутствует директива using или ссылка на сборку?)

Я установил расширение Microsoft.Azure.WebJobs.Extensions.CosmosDB

Я работаю на MacOS, используя func host start Команда для тестирования локально.

1 ответ

ошибка CS0246: не удалось найти тип или имя пространства имен DocumentClient (отсутствует директива using или ссылка на сборку?)

Похоже, вам нужно сослаться на #r "Microsoft.Azure.Documents.Client". Вы также можете получить демонстрационный код из привязок Azure Cosmos DB для функций Azure.

 #r "Microsoft.Azure.Documents.Client"

    using System;
    using Microsoft.Azure.Documents;
    using System.Collections.Generic;


    public static void Run(IReadOnlyList<Document> documents, TraceWriter log)
    {
      log.Verbose("Documents modified " + documents.Count);
      log.Verbose("First document Id " + documents[0].Id);
    }

Обновить:

Чтобы использовать пакеты NuGet в функции C#, загрузите файл project.json в папку функции в файловой системе приложения функции. Вот пример файла project.json, который добавляет ссылку

введите описание изображения здесь

Другие вопросы по тегам