单个 Azure Function App 中的多个函数未部署

问题描述 投票:0回答:1

我有一个 Azure Function App,其中有两个函数在本地(Mac OS / Visual Studio Code / Node 20 / V4)上运行,在本地环境中测试时运行良好。

但是,只有在将 package.json 上的 main 属性专门指向一个特定函数(“main”:/path/to/function/indexfunction1.js)时,将 Once 部署到 Azure 才能正常工作。

如果我在 package.json ( "main": /path/to/function/*.js ) 中指定多个函数,它在本地环境中运行良好,但无法在 Azure 中正确部署函数。

关于当地环境: [2024-09-19T04:53:13.808Z]工作进程启动并初始化。

功能:

    function1: [POST] http://localhost:7071/api/function1

    function2: [PUT] http://localhost:7071/api/function2/{userId}

在蔚蓝上: 尽管文件存在于应用程序文件部分中,但 Azure Function App 不显示任何可用的函数。

我希望在 Azure 中部署包含这两个函数的函数应用程序,就像在我的本地环境中一样。

node.js azure azure-functions
1个回答
0
投票

我有一个默认的http触发函数和一个像你一样接受userId的http触发函数。我的第二个函数的代码如下。

const { app } = require('@azure/functions');

app.http('httpTrigger2', {
    methods: ['GET', 'POST'],
    authLevel: 'anonymous',
    route: 'httpTrigger2/{userId}',
    handler: async (request, context) => {
        context.log(`Http function processed request for url "${request.url}"`);

        const userId = request.params.userId; 
        const name = request.query.get('name') || await request.text() || 'world';

        return { body: `Hello, ${name}! Your user ID is ${userId}` };
    }
});
下面给出了这两个功能的

package.json文件。

{
  "name": "79005420",
  "version": "1.0.0",
  "description": "",
  "scripts": {
    "start": "func start",
    "test": "echo \"No tests yet...\""
  },
  "dependencies": {
    "@azure/functions": "^4.0.0"
  },
  "devDependencies": {},
  "main": "src/{index.js,functions/*.js}"
}

我已成功将函数部署到函数应用程序。

enter image description here

enter image description here

如果默认情况下不存在,请尝试更改

package.json
中的 "main": "src/{index.js,functions/*.js}" 以获得预期的响应。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.