可以使用触发器调用 Azure 容器实例吗?

Can Azure Container Instances be invoked using triggers?

我想使用 Azure 容器实例 运行 使用旧应用程序进行长时间(10 分钟)的分析测试。当一个项目出现在 CosmosDB 中时,我想触发启动一个新的容器实例。

容器将有一个轻量级代理,它将从 CosmosDB 中提取数据,将其写入容器文件系统,运行 遗留应用程序,获取输出并将其推回 CosmosDB。

Cosmos 只是一个例子。可以是 blob,或任何其他可以存储几 Mb 数据的东西。

是否可以通过这种方式触发创建新容器?任何 references/sample 代码?

您可以从逻辑应用程序或 Azure 函数中触发容器 运行。两种情况都有示例:

事件驱动使用函数:https://github.com/Azure-Samples/aci-event-driven-worker-queue

使用逻辑应用触发:https://github.com/Azure-Samples/aci-logicapps-integration

我找到的另一种方法:

使用事件网格订阅触发 Azure 自动化 runbook(通过在该 runbook 上创建的 webhook)。在我的例子中,事件网格响应 storage account event,即 blob 创建。 Runbook 依次通过 Powershell 脚本启动容器组,如下所示:

Select-AzureRmSubscription -SubscriptionName "yourSubscription"

Invoke-AzureRmResourceAction -ResourceGroupName yourResourceGroup -ResourceName yourContainerGroupName -Action Start -ResourceType Microsoft.ContainerInstance/containerGroups -Force