我们正在构建一个系统,一些客户将在Azure中运行,一些客户将通过docker-compose在他们自己的硬件上在Docker中运行。我们的微服务基于Azure Functions。
我已经编写了一个docker compose文件来设置各种图像(网站、Azure函数和RabbitMQ)
docker compose如下所示(简化):
version: "3"
services:
abmicroservice:
build:
context: ./AbMicroservice
depends_on:
- rabbitmq
当docker-comuse启动时,我在Azure Function项目启动时收到此错误:
abmicroservice_1 |未找到工作职能。尝试公开您的工作类和方法。如果使用的是绑定扩展(例如 Azure 存储、ServiceBus、计时器等),请确保已在启动代码(例如生成器)中调用了扩展的注册方法。AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers() 等)。
但是,当我使用func.exe工具或Visual Studio Debug运行相同的Azure Function时,它运行正常。
我猜问题出在我的各种主持人身上。json等以及docker-compose.yml中的设置。
我的函数只是一个hello world测试,在Visual Studio 2019运行时运行得非常好:
public static class TriggerFunction
{
[FunctionName("TriggerFunction")]
public static void Run(
[RabbitMQTrigger("hello")] string message,
ILogger log)
{
log.LogInformation($"************* Message received from RabbitMQ trigger: {message}");
}
}
很少有事情可以解决它:
>
检查连接字符串
确保连接字符串作为 env 变量提供给 docker(查看 function.json,“connection”的值应该是带有连接字符串的 env 变量的名称)
{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "msg",
"type": "serviceBusTrigger",
"direction": "in",
"queueName": "nameOfTheQue",
"connection": "connectionVariable"
}
]
}
这意味着您的 docker 应该有一个 env 变量 “connectionVariable” 和连接字符串(在本例中为服务总线)
问题内容: 这已经使我烦恼了几天,但我解决不了。 我遵循了一个在线教程,该教程向您展示了如何使用实体框架中的模型优先方法连接和使用Azure数据库。这样,您必须将数据库迁移设置为在将网站发布到Azure时更新Azure数据库。 我已经在Azure上创建了一个数据库,所以我认为我会采用使用数据库优先模型的方法(而且它不需要设置迁移),并使用Entity Framework向导来创建我的模型。一切运行
我正在尝试在本地运行一个azure队列触发函数。我安装了Azure Storage Emulator并运行命令“AzureStorageEmulator.exe init”以在“(localdb)\mssqllocaldb”服务器上创建“AzureStorageEmulatorDB59”数据库。 在具有队列触发器函数的azure functions项目中,我有一个local.settings.js
我有Azure功能,并试图在本地启动,但启动后命令行显示和隐藏不到1秒。我试着在截图上抓住它: 看起来没有正确的启动参数。 my local.settings.json: 我的csproj文件是: 另外,我设置了“可执行文件”在调试属性窗口和完整路径上启动: 因为没有它,azure函数无法在本地启动,出现错误: 我能在哪里检查它?
我在C#中设置了一个非常简单的Azure函数来响应。当我按照Microsoft Azure指令在本地运行该函数时,我得到的只是一个空的404响应。 我用的是Visual Studio 2017 v15.3预览版,安装了Azure Function Tools扩展。这是我的Azure函数的代码: 当我在本地运行时(通过右键单击VS项目并进行调试) 但是,当我获取或POST到上述URL(将Conten
我有一个功能。Net标准2.0: 根据本文:https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local部分"非HTTP触发函数" “对于HTTP触发器和Webhook以外的所有类型的函数,您都可以通过调用管理终结点在本地测试您的函数。在本地服务器上使用HTTP POST请求调用此终结点会触发该函数。您可以选择
您好,我在Azure门户中创建了一个函数并看到队列数据出队。 我在我的计算机上安装了一个CLI,当我运行项目时,它将显示一个func。exe命令提示符。我在local.settings.json中添加了如下连接字符串: 当我在门户中向队列中添加消息时,应用程序未收到该消息。我需要更新哪些其他设置。