【问题标题】:Is it possible to create an Azure Blob Storage Connector using a ARM template or a script?是否可以使用 ARM 模板或脚本创建 Azure Blob 存储连接器?
【发布时间】:2018-09-08 07:12:57
【问题描述】:

我正在创建一个逻辑应用程序,它将在 blob 存储上执行一些操作,因此它需要一个连接到特定 blob 存储的连接器。我能够定义应该使用哪个连接器(提供它的名称和其他属性),但是如果它还不存在,则模板无法部署。我知道我们可以通过逻辑应用程序设计器创建这些连接器,但我非常希望自动化该过程。因此问题是:

是否可以使用 ARM 模板或脚本来部署/创建此连接器?

【问题讨论】:

    标签: azure azure-logic-apps azure-blob-storage


    【解决方案1】:

    您可以查看与Logic App connector相关的帖子。

    这是一个 ARM 模板,用于创建与 Blob 存储的 API 连接:

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "azureBlobConnectionAPIName": {
          "type": "string",
          "metadata": {
            "description": "The name of the connection api to access the azure blob storage."
          }
        },
        "storageAccountName": {
          "type": "string",
          "metadata": {
            "description": "The Storage Account Name."
          }
        }    
      },
      "variables": {
        "storageAccountId": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
      },
      "resources": [
        {
          "type": "Microsoft.Web/connections",
          "name": "[parameters('azureBlobConnectionAPIName')]",
          "apiVersion": "2016-06-01",
          "location": "[resourceGroup().location]",
          "scale": null,
          "properties": {
            "displayName": "[parameters('azureBlobConnectionAPIName')]",
            "parameterValues": {
              "accountName": "[parameters('storageAccountName')]",
              "accessKey": "[listKeys(variables('storageAccountId'),'2015-05-01-preview').key1]"
            },
            "api": {
              "id": "[concat('subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', parameters('defaultResourceLocation'), '/managedApis/azureblob')]"
            }
          },
          "dependsOn": []
        }
      ]
    }
    

    【讨论】:

    • 你能解释一下这行:[listKeys(variables('storageAccountId'),'2015-05-01-preview').key1] 的工作原理吗?这与将密钥放入参数中是否相同?这条线会一直有效吗?
    • 这样做,您告诉 ARM 模板在内部为您检索密钥,因此您不必将其作为参数传递。它应该始终有效。请注意,2015-05-01-preview 是 ARM 资源的版本,因此如果您使用不同的版本,则实现可能会有所不同。查看文档以获取更多信息
    猜你喜欢
    • 2019-07-23
    • 1970-01-01
    • 2019-01-17
    • 2020-09-04
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    相关资源
    最近更新 更多