azure-functions - 如何获取使用 Terraform 部署的 Function-App 中的 "Function Url"?

标签 azure-functions terraform terraform-provider-azure infrastructure-as-code

作为 IaC 的一部分,A 功能应用 ,让我们将其命名为 FuncAppX 是使用 Terraform 部署的,它有一个内置函数。
我需要使用 Terraform 在函数应用程序中访问相同函数的 Url。我在这里分享相同的屏幕截图以供引用,其中很容易获得“GetFunction Url”,但使用 terraform,我没有办法返回相同的内容,需要将其作为输入传递给另一个函数应用程序。
Function App
Function within FunctionApp

最佳答案

您需要自己构建特定功能端点的 URL。由于具体的函数名称是通过 function.json 定义的,您需要将其复制到您的 Terraform 脚本中。

locals {
  function_foo = "foo"
}
该 URL 包含一个 secret 作为查询参数,您可以通过数据源获取它 azurerm_function_app_host_keys .
data "azurerm_function_app_host_keys" "example" {
  name                = azurerm_function_app.example.name
  resource_group_name = azurerm_function_app.example.resource_group_name

  depends_on = [azurerm_function_app.example]
}
现在您可以自己构建 URL。
output "url" {
  value = "https://${azurerm_function_app.example.default_hostname}/api/${local.function_foo}?code=${data.azurerm_function_app_host_keys.example.default_function_key}"
}
请注意,azurerm_function_app_host_keys值可能不会立即可用,因为具体功能应用程序的部署与 azurerm_function_app 分离。服务创建。根据您的情况,您可能需要添加一些手动同步(例如使用 null_resource )。

关于azure-functions - 如何获取使用 Terraform 部署的 Function-App 中的 "Function Url"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69255107/

相关文章:

terraform - 修复 Terraform 中的 "Interpolation-only expressions are deprecated"警告

azure - 如何使用 Azure Devops 将 powershell 列表变量传输到 terraform?

带有内部负载平衡器的 azurerm terraform 秤

python - 对 Python Azure 计时器函数进行单元测试

azure - Terraform 为 Linux 容器创建应用程序服务

azure - 在多个 Azure Functions 应用之间共享 AAD 身份验证

azure - 如何获取 terraform 计划以在集群内创建私有(private) AKS 集群和命名空间?

azure - Terraform Azure Databricks 提供程序错误

c# - 无法将 JSON 数组用于 Azure 函数

azure函数代码在第一个azure函数中记录信息,并且不记录另一个azure函数