Azure托管应用-带有指向应用的链接的ViewDefinition.json操作

问题描述

我们想在Azure服务目录/市场应用程序的概述仪表板上提供一个链接,以跳转到我们的自定义WebApp(作为应用程序的一部分部署)。 Screenshot of overview dashboard with sample link

根据文档commands可以在viewDefinition.jsonoverview中进行定义,例如:

{
    "kind": "Overview","properties": {
        "header": "Welcome to your Azure Managed Application","description": "This managed application is for demo purposes only.","commands": [
            {
                "displayName": "Launch App","path": "testAction","icon": "Link"
            }
        ]
    }
}

由于我们要提供作为托管应用程序一部分部署的WebApp的(动态)链接,因此我们可能需要部署中的一些信息(例如,CreateUiDefinition.json输出),也可以选择检索此类数据在viewDeFinition.json中创建URL。

但是,即使仅提供path的静态链接在我们的测试中也不起作用:

{
    "displayName": "Static Link","path": "https://my-domain.com/",//<-- not working
    "icon": "Link"
}

根据文档,path的{​​{1}}可以触发对custom resource provider的操作。资源提供者可以proxy the request使用自定义服务。如果您想例如,这可能很好用提供了启动/停止服务的操作,但是由于代理期望服务提供JSON响应,因此我们不能简单地显示重定向到我们的页面。我们也无法弄清楚如何使用JSON响应来设置command

我们只想提供一个命令,即可在新标签中打开指向自定义WebApp的链接重定向至该链接。有谁知道我们如何实现这样的链接

我们已经看到Azure上的托管应用(例如SendGrid)提供了这样的选项,因此必须有一种(未记录的)方式。 Screenshot of SendGrid App overview dashboard with link

相似的问题:Opening a web app page using View Definition


更新(2020-11-24):
我们联系了MS支持部门,并得到以下答复:

很遗憾,我们收到了产品团队的确认,无法在摘要页面添加动态链接。这是因为自定义操作仅设计用于执行自定义提供程序操作,而不能打开硬编码链接等。

解决方法

不支持从托管应用程序命令中打开外部链接。但是,您可以在“概述”页面中对托管应用程序的描述中具有指向外部网站的链接。 "Overview" page中的“ description”属性支持Markdown。

链接之类的URL示例:

Here is a link to the Azure Portal: <https://portal.azure.com/>

哪个呈现为:

以下是指向Azure门户的链接:https://portal.azure.com/

命名链接示例:

Here is a named link to the Azure Portal: [Azure Portal](https://portal.azure.com/)

哪个呈现为:

以下是指向Azure门户的命名链接:Azure Portal

编辑:受管应用程序当前不支持打开动态链接