用于逻辑应用程序的ARM模板Office 365连接

时间:2018-04-09 13:16:24

标签: azure office365 azure-resource-manager azure-logic-apps

我有一个逻辑应用程序,我试图通过ARM模板自动化。

逻辑应用程序需要连接到Office 365.下面我有从Azure门户的自动化窗格生成的连接的模板。

当我运行脚本失败时 - Azure订阅和Office 365订阅之间存在身份验证问题。

  

LinkedAuthorizationFailed

     

客户端有权在范围内执行“Microsoft.Web / locations / managedApis / join / action”操作...但是当前租户“curr-tenant-guid”未经授权   访问链接订阅'linked-sub-guid'...

我无法创建此信任以自动化配置,但我想创建连接作为占位符,以便可以部署逻辑应用程序,我可以返回到门户以授权连接。这可能吗?还有其他选择吗?

 {
      "comments": "Office 365 user for file monitoring",
      "type": "Microsoft.Web/connections",
      "name": "MyOffice365User",
      "apiVersion": "2016-06-01",
      "location": "northeurope",
      "scale": null,
      "properties": {
        "displayName": "readuser@example.com",
        "customParameterValues": {},
        "api": {
          "id": "[concat('/subscriptions/a6720ff8-f7cb-4bc8-a542-e7868767686/providers/Microsoft.Web/locations/northeurope/managedApis/', 'MyOffice365User')]"
        }
      },
      "dependsOn": []
    }

2 个答案:

答案 0 :(得分:4)

我发现有三个帖子与同一个问题有关:

所有API连接的问题都是相同的。 用于访问特定服务的连接参数存储在Azure上,当您尝试导出ARM模板时,没有任何关于这些特定参数的信息(因为Azure不会泄露您的密码,密码......)。

诀窍是查询Azure资源管理API以返回逻辑应用程序中任何连接所需的参数。

请按照本文中的说明操作:

答案 1 :(得分:0)

使用下面的链接安装逻辑应用程序工具,该工具可以帮助设计工作流程 https://marketplace.visualstudio.com/items?itemName=VinaySinghMSFT.AzureLogicAppsToolsforVisualStudio-18551

完成后,您可以创建office 365连接器,并且在打开ARM模板时可以在ARM模板中看到o365组件。 我的模板看起来像:-

{
  "type": "MICROSOFT.WEB/CONNECTIONS",
  "apiVersion": "2016-06-01",
  "name": "[parameters('office365_1_Connection_Name')]",
  "location": "[parameters('location')]",
  "properties": {
    "api": {
      "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('location'), '/managedApis/', 'office365')]"
    },
    "displayName": "[parameters('office36`enter code here`5_1_Connection_DisplayName')]"
  }
}

以及内部工作流程

"triggers": {
            "When_a_new_event_is_created_(V2)": {
              "type": "ApiConnection",
              "inputs": {
                "host": {
                  "connection": {
                    "name": "@parameters('$connections')['office365']['connectionId']"
                  }
                },
                "method": "get",
                "path": "/datasets/calendars/v2/tables/@{encodeURIComponent(encodeURIComponent('AAMkNbPwESLK3F8s5n1Q3BwAhXXXXXXXXXXXXXXXXXXXXXXXXXXX'))}/onnewitems"
              },
              "recurrence": {
                "frequency": "Minute",
                "interval": 1
              },
              "splitOn": "@triggerBody()?['value']"
            }
          }

================================================ ================= 以及工作流程的参数

"parameters": {
          "$connections": {
            "value": {
              "office365": {
                "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('location'), '/managedApis/', 'office365')]",
                "connectionId": "[resourceId('Microsoft.Web/connections', parameters('office365_1_Connection_Name'))]",
                "connectionName": "[parameters('office365_1_Connection_Name')]"
              }

================================================ =================