如何访问应用程序名称和托管资源组自动插入字段作为输出以在 createUIDefintion.json 中使用?

问题描述 投票:0回答:1

我已经设置了一个 Azure Marketoffer 作为托管应用程序。我有一个 createUiDefinition.json 文件,它定义了用于创建托管应用程序的必要选项卡/输入/字段等。

通过市场进行测试时,“基本”选项卡会自动插入两个附加字段;托管应用程序详细信息部分中的应用程序名称托管资源组

自动生成的托管应用程序字段

通过我的所有搜索,我无法在 Microsoft 文档中找到 createUiDefinition.json 模板和/或示例如何读取这两个字段的输出。

如果有

[resourceGroup().name]
[subscription().subscriptionId]
[location()]
的参考,我无法找到上述字段的参考值。

然后可以在 createUiDefinition.json 文件中传递它们以供以后使用:

"outputs": {
      "applicationName": "...", //need reference to inserted fields
      "applicationManagedResourceGroup": "...", 
      "managedApplicationSubscriptionId": "[subscription().subscriptionId]",
      "managedApplicationResourceGroup": "[resourceGroup().name]",
      "location": "[location()]",
      "vNetNewOrExisting": "[steps('deploymentDetails').vnet.newOrExisting]",
      "vNetName": "[steps('deploymentDetails').vnet.name]",
...

注意:这些字段由托管应用程序市场自动插入。使用沙盒工具时它们不会显示,因为它未链接到托管应用程序。

有人知道如何引用这两个值吗?

我已尝试在 Microsoft 网站上搜索对这些自动插入字段的任何引用,但没有找到任何引用它们的内容。

我尝试用

[applicationResourceName()]
进行猜测,但这似乎不起作用。拔掉我的头发,因为我不可能是唯一需要捕捉这些价值观的人。

azure-bicep azure-marketplace azure-managed-app
1个回答
0
投票

事实证明,可以通过抓取二头肌文件中的

 resourceGroup().?managedBy
属性找到托管应用程序的名称。

此值仅在上述情况下存在,当您允许 Azure 门户创建托管应用程序名称和资源组字段时。在我的二头肌文件中,如果在沙箱中进行测试,我使用了以下必要的内容(注意空检查)。

var managedApplicationId = resourceGroup().?managedBy ?? null

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.