Mel*_*nga 4 azure docker azure-functions
最近,我使用具有HttpTrigger的Azure功能(节点)创建了一个docker映像。这是默认情况下生成的基本HttpTrigger。我正在Macbook Pro(MoJave)上进行开发,并且安装了以下工具。
适用于macOS Azure Function核心工具的NodeJs-node / 10.13.0 .NET Core 2.1(通过brew)
当我使用“ func host start”在本地运行该函数时,一切正常,我可以看到该函数正在加载消息。我还可以使用触发器端点执行Azure函数。但是,当我尝试构建Docker容器并运行该容器时,我可以加载应用程序的主页,但无法到达函数端点。在日志中,我只能看到以下内容:
Hosting environment: Production
Content root path: /
Now listening on: http://[::]:80
Application started. Press Ctrl+C to shut down.
Run Code Online (Sandbox Code Playgroud)
我的Docker文件如下(由Azure核心工具生成);
FROM mcr.microsoft.com/azure-functions/node:2.0
ENV AzureWebJobsScriptRoot=/home/site/wwwroot
COPY . /home/site/wwwroot
Run Code Online (Sandbox Code Playgroud)
当我尝试使用“ microsoft / azure-functions-runtime:v2.0.0-beta1”作为基本映像时,可以看到该函数正在加载并且也可以访问http触发器。
是否缺少任何内容,还是需要使用其他图像?
在Dockerfile中,添加ENV AzureFunctionsJobHost__Logging__Console__IsEnabled=true
以启用日志记录,该设置在基本映像中被省略,因此我们现在必须手动进行设置。
如果您获得401 Unauthorized,请找到文件function.json,将authLevel更改为anonymous
if function
(模板中的默认值)。我们无法在authlevel以外的本地容器中访问http触发器anonymous
。因为我们还没有功能键,所以我们在使用容器创建Function应用程序后可以使用这些功能键。
至于为什么我们在容器外function
使用时可以使用authlevel 访问http触发器func host start
,所以在本地运行时,无论指定的身份验证级别如何,都将禁用授权。
归档时间: |
|
查看次数: |
814 次 |
最近记录: |