В вашей функции вы можете запускать и останавливать контейнеры в ACI с помощью Microsoft. Azure .Management.ContainerInstance Пространство имен в C#. Вот ссылка на пакет Nuget и пример, который я нашел:
var containerGroup = azure.ContainerGroups.Define(containerGroupName)
.WithRegion(azureRegion)
.WithExistingResourceGroup(resourceGroupName)
.WithLinux()
.WithPublicImageRegistryOnly()
.WithoutVolume()
.DefineContainerInstance(containerGroupName)
.WithImage(containerImage)
.WithExternalTcpPort(80)
.WithCpuCoreCount(1.0)
.WithMemorySizeInGB(1)
.Attach()
.WithDnsPrefix(containerGroupName)
.Create();
Есть много способов достичь своей цели. Вместо использования функций вы можете использовать приложение Logi c для запуска и остановки контейнеров в ACI с использованием ACI-разъема . Можно подумать о рабочем процессе, подобном следующему:
- Добавить действие, которое вызовет приложение Logi c, как новое сообщение в очереди.
- Создать группу контейнеров ACI используя соединитель.
- Запустите контейнер в ACI, используя соединитель.
- Вы можете наблюдать за состоянием контейнера, чтобы убедиться, что он был успешно создан.
- Можно передать значения в Контейнер путем установки переменных env с помощью соединителя ACI, например, имени файла или номера задания.
- Вы добавляете все oop, которые следят за завершением вашего кода в контейнере (вывод, который вы отправляете в журнале)
- Вы удаляете ACI, используя соединитель
Конечно, вы можете запускать несколько приложений Logi c параллельно.