Azure-Function-Express - не удается разрешить компоненты URI из сегментов * - PullRequest
0 голосов
/ 03 октября 2018

Я использую модуль узла azure-function-express.Документация упоминает об использовании {*segments}, но не предоставляет большого контекста.

Вот как выглядит мой function.json файл:

{
  "disabled": false,
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "route": "{*segments}",
      "methods": [
        "get"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "type": "cosmosDB",
      "name": "inputDocument",
      "databaseName": "GBuckets",
      "collectionName": "buckets",
      "sqlQuery": "select *  from GBuckets c join b in c.buckets where b.bucketid = {bucketId}",
      "connectionStringSetting": "bucketsdb",
      "direction": "in"
    }

  ]
}

Предполагается, что bucketId входит в состав {*segments} и моего кода node.jsсправляется.

Однако, когда я пытаюсь запустить этот код, он выдает следующую ошибку:

Exception while executing function: Functions.func_name. System.Private.CoreLib: The given key 'bucketId' was not present in the dictionary.

Очевидно, что он не может разрешить 'bucketId' изfunction.json файл.Как мне исправить это без необходимости идти по маршруту CosmosClient?

Заранее спасибо.

1 Ответ

0 голосов
/ 03 октября 2018

Это может не работать с azure-functions-express.Функции Azure не могут определить, какой «bucketId» взят из пути, если он не назван.Для azure-functions-express требуется доступ с подстановочными знаками, поэтому они несовместимы.

Вместо этого я бы рекомендовал использовать Cosmos SDK напрямую, если вы хотите продолжать использовать azure-functions-express.Есть новая версия этого (@ azure / cosmos), которая современна с обещаниями / и т.д.и это действительно хорошо.(но я пристрастен, потому что я написал это ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...