【问题标题】:Using Terraform to upload Azure APIM使用 Terraform 上传 Azure APIM
【发布时间】:2022-08-05 14:56:12
【问题描述】:

我在解析 Azure 的事物名称和 Terraform 的事物名称之间的差异时遇到了一些问题,但总的来说我做得很好。不过,我遇到了一些具体问题。我的情况是有人使用 Azure 门户构建了 APIM,而公司现在希望通过使用 Terraform 来构建它来“使其具有可扩展性”。我有一个很好的即兴演奏 - 定义、计划、导入、计划、修改 - 但是 Azure APIM 的某些部分无法(在心理上)映射到 Terraform 命令。我的第一个是这里的屏幕(APIM 中 API 的定义选项卡:)

由于我在 Stack 上的代表仍然很新鲜,因此我实际上无法显示图像。但在 API 底部的门户中,有一个名为“定义”的选项卡。我还没有看到 a) 如何使用 Azure Powershell “获取”它们,以及 b) 我如何使用 Terraform “设置”它们。

请对 AzureRM 和 Terraform 更了解的人能够引导我朝着正确的方向前进吗?

    标签: azure terraform azure-api-management terraform-provider-azure azure-rm


    【解决方案1】:

    您可以遵循其中一种解决方法来使用 api 部署 API 管理实例。

    我们尝试使用 API 创建 APIM 实例,

    这是我们使用的示例 terraform 代码,您可以根据需要添加资源名称来使用它。

    example.tf:-

    provider "azurerm" {
      features {}
       }                           
      
    
    
    resource "azurerm_resource_group" "example" {
      name     = "example-resources"
      location = "West Europe"
    }
    
    resource "azurerm_api_management" "example" {
      name                = "example-apimajmt"
      location            = azurerm_resource_group.example.location
      resource_group_name = azurerm_resource_group.example.name
      publisher_name      = "My Company"
      publisher_email     = "company@terraform.io"
    
      sku_name = "Developer_1"
    }
    
    resource "azurerm_api_management_api" "example" {
      name                = "example-apiajmt"
      resource_group_name = azurerm_resource_group.example.name
      api_management_name = azurerm_api_management.example.name
      revision            = "1"
      display_name        = "ajtest API"
      path                = "example"
      protocols           = ["https"]
    
      
    
      import {
        content_format = "swagger-link-json"
        content_value  = "http://conferenceapi.azurewebsites.net/?format=json"
      }
    }
    

    创建后我们可以使用它来添加标签

    /* resource "azurerm_api_management_api_tag" "example" {
          api_id = azurerm_api_management_api.example.id
          name   = "example-tagajmt"
        }*/
    

    terraform 应用完成后,您有时可以获取 APIM 实例以及 API 及其标签。

    注意:- 创建 APIM 最多需要 45 分钟。

    输出屏幕截图供参考:-

    有关通过 terraform 在 APIM 管理中进行配置的更多信息,请参阅此 哈希公司| Terraform Registry azurerm_api_management &这个类似的 所以线程|Tag an API in Azure API Management with Terraform

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      相关资源
      最近更新 更多