ファイルアップロードからのTerraformAzure関数アプリ

Aug 24 2020

ローカルファイルシステムからzipファイルをアップロードしてJavaAzure関数アプリを作成しようとしています。以下はコードです。Windows 10システムから実行した場合、期待どおりに機能しています。同じコードがubuntuシステムから実行すると機能しないようです。エラーは発生しませんでしたが、関数アプリにはAzureポータルに関数がありません。Terraformのバージョンは、Windowsとubuntuの両方で同じです(Terraform v0.12.28)。それでも、Ubuntuでは機能しないようです。以下は、

Azureポータルのエラーメッセージです。functionappvar.functionapp= "func_java.zip"、zipファイルはmain.tfの同じフォルダーにあります

├── main.tf
├── tran_fun.zip
└── variables.tf


resource "azurerm_storage_blob" "appcode" {
    name = "functionapp.zip"
    storage_account_name = "${azurerm_storage_account.storage_account.name}" storage_container_name = "${azurerm_storage_container.storage_container_deployement.name}"
    type = "Block"
    source = "${var.functionapp}" } # // /***********************function app **********************************/ resource "azurerm_app_service_plan" "spp_service_plan" { name = "${local.app_serv_plan_name}"
  resource_group_name = azurerm_resource_group.rg_creation.name
  location            = azurerm_resource_group.rg_creation.location
  kind                = "FunctionApp"

  sku {
    tier = "Dynamic"
    size = "Y1"
  }
}

resource "azurerm_function_app" "function_app" {
  name                      =  "${local.app_serv_name}" resource_group_name = azurerm_resource_group.rg_creation.name location = azurerm_resource_group.rg_creation.location app_service_plan_id = azurerm_app_service_plan.spp_service_plan.id storage_connection_string = azurerm_storage_account.storage_account.primary_connection_string app_settings = { FUNCTIONS_WORKER_RUNTIME = "java" FUNCTIONS_EXTENSION_VERSION = "~3" APPINSIGHTS_INSTRUMENTATIONKEY = azurerm_application_insights.app_insights.instrumentation_key APPLICATIONINSIGHTS_CONNECTION_STRING = "InstrumentationKey=${azurerm_application_insights.app_insights.instrumentation_key}"
    HANA_CREDENTIALS = var.hanaCredentials
    TENANT_ID = var.cptenantId
    HASH = "${filebase64sha256("${var.functionapp}")}"
    WEBSITE_RUN_FROM_PACKAGE = "https://${azurerm_storage_account.storage_account.name}.blob.core.windows.net/${azurerm_storage_container.storage_container_deployement.name}/${azurerm_storage_blob.appcode.name}${data.azurerm_storage_account_sas.sas.sas}"
   
 }
}

以下は、関数アプリコンソールからのエラーメッセージです

回答

1 NancyXiong Aug 25 2020 at 02:59

.zipファイルがの同じフォルダにある場合は、このように変数を定義できますmain.tf

variable "functionapp" {
    type = "string"
    default = "./func_java.zip"
}

それは私の側で働いた。

詳細については、このブログを読むことができます。

karas27 Aug 25 2020 at 10:32

問題はzipファイルにありました。Windowsから移動するとZipファイルが破損しました