作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将订阅加入到我的租户中,一旦完成,我想调用 HTTP 端点,以处理我这边的一些其他逻辑。
由于我的 ARM 模板在订阅范围内执行,因此我无法使用 deployment script ,因为它需要资源组。我发现的另一个解决方法是使用 deployment that gets the template from a URL 。但是,这也有一个问题。就我而言,即使我设置了 dependsOn
参数,端点也会被调用 3 次。它被称为:
以下是 ARM 模板的部分内容:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
// Other properties
"resources": [
{
"type": "Microsoft.ManagedServices/registrationDefinitions",
"apiVersion": "2019-09-01",
"name": "[variables('mspRegistrationName')]",
"properties": {
"registrationDefinitionName": "[parameters('mspOfferName')]",
"description": "[parameters('mspOfferDescription')]",
"managedByTenantId": "[variables('managedByTenantId')]",
"authorizations": "[variables('authorizations')]"
}
},
{
"type": "Microsoft.ManagedServices/registrationAssignments",
"apiVersion": "2019-09-01",
"name": "[variables('mspAssignmentName')]",
"dependsOn": [
"[resourceId('Microsoft.ManagedServices/registrationDefinitions/', variables('mspRegistrationName'))]"
],
"properties": {
"registrationDefinitionId": "[resourceId('Microsoft.ManagedServices/registrationDefinitions/', variables('mspRegistrationName'))]"
}
},
{
"name": "Callback",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-10-01",
"location": "westus",
"dependsOn": [
"[resourceId('Microsoft.ManagedServices/registrationDefinitions/', variables('mspRegistrationName'))]",
"[resourceId('Microsoft.ManagedServices/registrationAssignments/', variables('mspRegistrationName'))]"
],
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[variables('TemplateUri')]"
},
"parameters": {}
}
}
],
当然,我可以硬编码第三次调用有效,但这不是一个好方法。是否有任何“更安全”的方式从 ARM 模板调用端点?
最佳答案
您可以使用 ARM 模板创建资源组,然后将包含部署脚本的嵌套模板部署到其中。 RG 和 RG 级部署都可以创建为订阅级模板中的资源。
另一种方法是创建一个带有事件网格触发器的 Azure 函数,监听 ARM events ,尽管这也需要只能在资源组级别部署的资源。
关于Azure Lighthouse - 部署完所有内容后调用 HTTP 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71464965/
我们面临一个用例,我们需要在 S3 上存储用户的 secret 图像。现在 S3 可以通过 HTTP 访问,如果我们授予对对象的读取权限,它们将通过 Web 提供给全世界。我们需要将图像/文件仅限于该
我是一名优秀的程序员,十分优秀!