Пользовательская точка входа функций Azure Node.js - PullRequest
0 голосов
/ 18 октября 2018

Я пишу облачную функцию и пытаюсь добавить поддержку нескольких провайдеров.В настоящее время для Google Cloud и AWS Lambda это было достаточно просто, поскольку оба позволяют мне указывать именованный экспорт данного файла (index.js в корневой папке) в качестве точки входа для выполнения функции.

Все было хорошоЯ подумал, но теперь я хочу добавить поддержку Azure, но, похоже, настаиваю на том, чтобы иметь папку с именем функции с собственным index.js, который является точкой входа для выполнения.К сожалению, это нарушает имеющуюся у меня архитектуру (сделала ее общей, чтобы разрешить одной точке входа для нескольких поставщиков с некоторым определением среды выполнения среды выполнения возвращать правильный тип функции для этого поставщика).

Можно ли вообще с Azure сделать что-то похожее на GCF или Lambda и просто сказать «Я хочу, чтобы сработала HTTPS-функция, которая запускается при этом экспорте этого файла», и она доверяет вам делать все остальное?

Документация по Azure не сильно помогла, и я не смог найти много полезного в Google.

1 Ответ

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

Вам нужна папка для каждой функции, чтобы сопоставить точку входа с правильным файлом сценария.Но для этой папки нужен только файл function.json, чтобы настроить это.Ваш код может находиться в другом месте, например, все функции, связанные внутри одного файла - это то, что делает Пакет функций Azure .

Внутри function.json вы можете установить файл сценария следующим образомэто:

{
 "disabled": false,
 "bindings": [
  {
   "authLevel": "anonymous",
   "type": "httpTrigger",
   "direction": "in",
   "name": "req",
   "methods": [
    "get"
   ]
  },
  {
   "type": "http",
   "direction": "out",
   "name": "res"
  }
 ],
 "scriptFile": "../.funcpack/index.js",
 "entryPoint": "HttpTrigger1"
}
...