#azure #powershell #azure-functions #terraform #azure-blob-trigger
#azure #powershell #azure-функции #terraform #azure-blob-триггер
Вопрос:
Я столкнулся с приведенной ниже ошибкой с помощью триггера Azure function app blob, развернутого с помощью terraform
D:a1ssrcRequestProcessor.cs:line 196 2021-01-08T14:24:46.222 [Ошибка] Выполненные функции.BlobTrigger1′ (сбой, идентификатор = 973f1e27-3dc2-43d3-9463- 7cac64bf56b7, длительность = 6625 мс) Результат: исключение FailureException: не удалось установить зависимости приложения функции. Ошибка: ‘Нет ‘requirements.psd1’ найден в корневой папке приложения функции: C:homesitewwwroot .
Я использовал это https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/function_app для создания кода terraform, используя приведенный выше документ и другие ссылки в Google, я написал приведенный ниже код на main.tf
app_settings = {
FUNCTIONS_WORKER_RUNTIME = var.FUNCTIONS_WORKER_RUNTIME
FUNCTIONS_WORKER_RUNTIME_VERSION = var.FUNCTIONS_WORKER_RUNTIME_VERSION
Присвоена переменная в переменной.tf, как показано ниже
variable "FUNCTIONS_WORKER_RUNTIME"{
default = "PowerShell"
}
variable "FUNCTIONS_WORKER_RUNTIME_VERSION" {
default = "~7"
}
Но по-прежнему не удалось увидеть основную версию PowerShell в приложении.
Комментарии:
1. Какую версию Terraform вы используете? Весь код отлично работает на моей стороне.
Ответ №1:
После моей проверки вы можете установить значение FUNCTIONS_WORKER_RUNTIME
to "powershell"
вместо "PowerShell"
и добавить version = "~3"
. Он автоматически установит зависимости приложения функций requirements.psd1
.
resource "azurerm_function_app" "example" {
name = "urewwwwfunctiona"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
app_service_plan_id = azurerm_app_service_plan.example.id
storage_account_name = azurerm_storage_account.example.name
storage_account_access_key = azurerm_storage_account.example.primary_access_key
app_settings = {
FUNCTIONS_WORKER_RUNTIME = "powershell"
FUNCTIONS_WORKER_RUNTIME_VERSION = "~7"
}
version = "~3"
}
Ответ №2:
Привет, мне удалось развернуть функциональное приложение Powershell в Azure с помощью azurerm_function_app, но базовая версия Powershell пуста.
Я последовал предложению Нэнси Сюн, но безуспешно:
resource "azurerm_function_app" "example" {
name = "functionapptest"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
app_service_plan_id = azurerm_app_service_plan.example.id
storage_account_name = azurerm_storage_account.example.name
storage_account_access_key = azurerm_storage_account.example.primary_access_key
version = "~3"
app_settings = {
FUNCTIONS_WORKER_RUNTIME = "powershell"
FUNCTIONS_WORKER_RUNTIME_VERSION = "~7"
}
}
Мне удалось установить версию Python для функционального приложения Linux с помощью linux_fx_version, но я хочу сделать то же самое для Powershell:
site_config {
linux_fx_version = "PYTHON|3.9"
}
В документации Terraform неясно, что такое функциональные приложения Powershell.