Я использую шаблон ARM для развертывания приложения логики, которое отправляет почту через коннектор office365.Он отлично работает для развертывания, но если я обновлю шаблон и захочу повторно развернуть его, соединитель к office365 отключится, и мне придется снова авторизовать соединение.Есть ли способ избежать отсоединения разъема, когда я хочу обновить logicapp?
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"env_suffix": {
"defaultValue": null,
"type": "String"
}
},
"variables": {
"workflow_name": "[concat('GoMail', parameters('env_suffix'))]"
},
"resources": [
{
"type": "Microsoft.Web/connections",
"apiVersion": "2016-06-01",
"location": "[resourceGroup().location]",
"name": "office365",
"properties": {
"api": {
"id": "[concat(subscription().id,'/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/office365')]"
},
"displayName": "office365",
"parameterValues": {
}
}
},
{
"type": "Microsoft.Logic/workflows",
"name": "[variables('workflow_name')]",
"apiVersion": "2017-07-01",
"location": "westeurope",
"dependsOn": [
"[resourceId('Microsoft.Web/connections', 'office365')]"
],
"tags": {},
"scale": null,
"properties": {
"state": "Enabled",
"parameters": {
"$connections": {
"value": {
"office365": {
"connectionId": "[resourceId('Microsoft.Web/connections', 'office365')]",
"connectionName": "office365",
"id": "[concat(subscription().id,'/providers/Microsoft.Web/locations/westeurope/managedApis/office365')]"
}
}
}
},
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Condition": {
"actions": {},
"else": {
"actions": {
"Condition_2": {
"actions": {
"Send_an_email_2": {
"inputs": {
"body": {
"Body": "@{base64ToString(triggerBody()?['payload'])}",
"From": "@triggerBody()?['from']",
"Importance": "Normal",
"IsHtml": true,
"Subject": "@triggerBody()?['subject']",
"To": "mailme@company.com"
},
"host": {
"connection": {
"name": "@parameters('$connections')['office365']['connectionId']"
}
},
"method": "post",
"path": "/Mail"
},
"runAfter": {},
"type": "ApiConnection"
}
},
"else": {
"actions": {
"Until": {
"actions": {
"Delay": {
"inputs": {
"interval": {
"count": 10,
"unit": "Second"
}
},
"runAfter": {
"Send_an_email_3": [
"Failed"
]
},
"type": "Wait"
},
"Send_an_email_3": {
"inputs": {
"body": {
"Body": "@{base64ToString(triggerBody()?['payload'])}",
"From": "noreply@company.com",
"Importance": "Normal",
"IsHtml": true,
"Subject": "@triggerBody()?['subject']",
"To": "@triggerBody()?['email']"
},
"host": {
"connection": {
"name": "@parameters('$connections')['office365']['connectionId']"
}
},
"method": "post",
"path": "/Mail"
},
"runAfter": {},
"type": "ApiConnection"
}
},
"expression": "@equals(outputs('Send_an_email_3')['statusCode'], 200)",
"limit": {
"count": 5,
"timeout": "PT5M"
},
"runAfter": {},
"type": "Until"
}
}
},
"expression": "@endswith(triggerBody()?['email'], 'integtest.com')",
"runAfter": {},
"type": "If"
}
}
},
"expression": "@equals(triggerBody()?['email'], 'ping')",
"runAfter": {},
"type": "If"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {
"$connections": {
"defaultValue": {},
"type": "Object"
}
},
"triggers": {
"manual": {
"inputs": {
"schema": {
"properties": {
"email": {
"type": "string"
},
"payload": {
"type": "string"
},
"subject": {
"type": "string"
}
},
"type": "object"
}
},
"kind": "Http",
"type": "Request"
}
}
}
}
}
]
}