Как получить данные из Azure Cosmos Db с помощью Core (SQL) API - PullRequest
0 голосов
/ 26 февраля 2019

Добрый день,

Я разрабатываю функцию Azure с .net framework / V1 в Visual Studio. Я хочу получить данные clientDetails из коллекции TestData в функции Azure моя функция - HttpTrigger.enter image description here

Я попробовал пример по этой ссылке: Привязки Azure Cosmos DB для функций Azure 1.x

Я создал два класса свойств:

    public class DocumentClient
    {
        [JsonProperty("clientDetails")]
        public List<ClientDetails> clientDetails { get; set; }
    }

    public class ClientDetails
    {
        public string domain { get; set; }
        public string channel { get; set; }
        public string retailer { get; set; }
        public string store { get; set; }
        public string auth { get; set; }
    }

и вот конструктор:

public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function), Disable()]HttpRequestMessage req, [DocumentDB(
        databaseName: "Client",
        collectionName: "TestData",
        ConnectionStringSetting = "CosmosDBConnection"
       )] DocumentClient client, TraceWriter log)

но у меня ошибка Идентификатор требуется при запуске функции, но всякий раз, когда я пыталсядобавить

Id ="{Hardcoded - the TestData's Id}"

У меня ошибка «Для этой операции должно быть указано значение PartitionKey» при срабатывании функции

Я добавил это в свой локальный код.settings.json:

"CosmosDBConnection": "AccountEndpoint=https://test.com:443/;AccountKey=testkey==;"

С уважением

1 Ответ

0 голосов
/ 26 февраля 2019

У меня появляется ошибка «Для этой операции должно быть указано значение PartitionKey»

В соответствии с этим сообщением об ошибке, я думаю, вам нужно установить параметр partitionKey вВаш function.json файл. Пожалуйста, обратитесь к этому списку поддерживаемых свойств .

PartitionKey Определяет значение ключа раздела для поиска.Может включать параметры привязки.

Вот пример:

{
    "name": "inputDocument",
    "type": "documentDB",
    "databaseName": "MyDatabase",
    "collectionName": "MyCollection",
    "id" : "{queueTrigger}",
    "partitionKey": "{partition key value}",
    "connection": "MyAccount_COSMOSDB",
    "direction": "in"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...