首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure Function不使用http触发器

Azure Function不使用http触发器
EN

Stack Overflow用户
提问于 2018-11-21 12:41:06
回答 1查看 2.6K关注 0票数 6

最近,我创建了一个带有HttpTrigger的Azure函数(Node)的码头映像。这是一个默认生成的基本HttpTrigger。我正在Macbook (MoJave)上开发这个程序,我安装了以下工具。

NodeJs /10.13.0用于.NET Azure函数核心工具的macOS Core2.1(通过brew)

当我用"func主机开始“在本地运行该函数时,所有操作都很好,并且我可以看到函数加载消息。此外,我还能够使用触发器endpoint.However执行Azure函数,当我试图构建Docker容器并运行它时,我可以加载应用程序的主页,但无法到达函数端点。在日志中,我只能看到下面的内容;

代码语言:javascript
复制
Hosting environment: Production
Content root path: /
Now listening on: http://[::]:80
Application started. Press Ctrl+C to shut down.

我的Docker文件如下(由Azure核心工具生成);

代码语言:javascript
复制
FROM mcr.microsoft.com/azure-functions/node:2.0
ENV AzureWebJobsScriptRoot=/home/site/wwwroot
COPY . /home/site/wwwroot

当我尝试使用'microsoft/azure-functions-runtime:v2.0.0-beta1‘作为基本映像时,我可以看到函数的加载,也可以访问http触发器。

有遗漏什么吗?还是需要使用不同的图像?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-22 04:13:54

  1. 在Dockerfile中,添加ENV AzureFunctionsJobHost__Logging__Console__IsEnabled=true以启用日志记录,设置为在基本图像中省略,因此我们现在必须手动执行。
  2. 如果您获得401个未经授权,请查找文件function.json,如果它是function(模板中的默认值),则将authLevel更改为anonymous。除了anonymous之外,我们无法访问本地容器中的http触发器。因为我们还没有功能键,它在我们使用容器创建函数应用程序之后就可以使用了。 至于为什么当我们在容器外使用function时,可以使用func host start来访问http触发器,在本地运行时,不管指定的身份验证级别如何,都会禁用授权。
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53412259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档