docker - 在本地 Docker 容器和 K8S 中运行 Azure Function Service Bus Trigger

标签 docker azure-functions

这可能是一件简单的事情,但我正在努力了解如何在 Azure Functions 3.0 下的 docker 容器中运行服务总线触发器(或任何后台任务触发器),以便在本地运行(对于测试)并最终在 K8S 中。

我发现的大多数示例(包括来自 MS 的示例)似乎都使用了简单的 HTTP 触发器。虽然我使用的是已编译的 C# 函数,但我发现了一个用于服务总线的 python 示例,但目前还不清楚您实际上是如何在本地容器中运行该函数一次以进行测试或在无 AKS 中环境。我发现的示例未提及此步骤 - 它看起来很“神奇”。

我使用 func init --docker-only --csharp 将这个 docker 文件拼接在一起:

FROM mcr.microsoft.com/azure-functions/dotnet:3.0

COPY bin/Release/netcoreapp3.1/publish/bin/ /home/site/wwwroot
ENV AzureWebJobsScriptRoot=/home/site/wwwroot

但这并没有告诉我需要如何启动 azure 函数。 azure functions 基础 docker 镜像不包含 func 工具,因此我可以在我的 dockerfile 中调用 func xxxxxx 来启动该函数。

我期待像 ENTRYPOINT 这样的东西,我会用它来用于普通的 web api 或其他一些步骤来调用 BASH 命令来启动 azure 函数,但由“func”创建的默认 dockerfile 不包括这个。

我认为这不重要,但最终我们将在本地 K8S 部署上运行这些以进行开发测试——它们可能永远不会真正在 AKS 本身中运行。

最佳答案

我也在努力让它工作,但给我带来最多问题的是连接字符串。 这些是通过环境变量给出的。

对于服务总线,请仔细研究何时使用命名空间的字符串以及何时使用队列/主题之一。

如果您想更多地查看 k8s 中 azure 函数的一些文档,请查看包 KEDA。

关于docker - 在本地 Docker 容器和 K8S 中运行 Azure Function Service Bus Trigger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65693582/

相关文章:

Docker:旧版--link参数的等价物是什么

azure - AzureRM 中的 "az functionapp"相当于什么?

c# - 使用 HTTP 触发器将 Azure Function 连接到 Azure 存储 Blob

Docker 限制用户定义的桥接网络

docker - 使用 ELK 堆栈的最佳 Docker 日志记录架构

Azure Orchestration触发断点未命中

Azure Function App 与 Application Insights 的集成停止了函数监视选项卡

azure - 从 Azure Function 进行身份验证并调用 Sharepoint Online Api

python - 启用 Universal Repos 时无法在 Dockerfile 中找到包 python3-pip

docker - 为什么loop-lvm设备存储不适合生产?