azure - Azure 托管应用程序 - 带有应用程序链接的 ViewDefinition.json 操作
问题描述
我们希望在 Azure 服务目录/市场应用程序的概览仪表板上提供一个链接,以跳转到我们的自定义 Web 应用程序(作为应用程序的一部分部署)。 带有示例链接的概览仪表板屏幕截图
根据文档commands
可以在之overview
类中定义viewDefinition.json
:
{
"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
,command
可以触发对自定义资源提供程序的操作。资源提供者可以将请求代理到自定义服务。如果您想提供启动/停止服务的操作,这可能会很好用,但由于代理需要来自服务的 JSON 响应,我们不能简单地显示或重定向到我们的页面。我们也不知道如何使用 JSON 响应来设置path
.
我们只想提供一个命令,在新选项卡中打开指向我们自定义 WebApp 的链接或重定向到它。有谁知道我们如何实现这样的链接?
我们已经看到像 SendGrid 这样的 Azure 托管应用程序提供了这样的选项,因此必须有一个(未记录的)方式。 带有链接的 SendGrid 应用程序概览仪表板的屏幕截图
类似问题:Open a web app page using View Definition
更新(2020-11-24):
我们联系了 MS 支持并得到以下回复:
我们得到了产品团队的确认,很遗憾,无法在摘要页面添加动态链接。这是因为自定义操作仅用于执行自定义提供程序操作,而不应该打开硬编码链接等。
解决方案
不支持从托管应用程序命令打开外部链接。但是,您可以在“概览”页面中的托管应用程序描述中包含指向外部网站的链接。“概览”页面中的“描述”属性支持 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 门户
编辑:托管应用程序当前不支持打开动态链接。
推荐阅读
- python - 如何通过截断日期时间对象来节省存储空间?
- asp.net-mvc - 如何修复视图中未找到页面的错误?
- r - 比较 R 循环中多个数据集的多个模型的 R-Squared、AIC 和 BIC 结果
- c# - 在 Unity 中移动玩家前面的对象,基于玩家移动而不是玩家相机
- json - 为 Syncfusion Datamanager 的多部分/混合帖子构建 Spring 控制器
- snowflake-cloud-data-platform - 高信用使用 - information_schema.query_history
- c++11 - 如何在不使用外部库的情况下序列化通用对象(C++ 11)
- javascript - React Router - 未通过链接或 history.push 显式到达动态路由 URL 时未找到页面
- asp.net-core - .net Core 中的 HttpGet Web APi 未从 [FromBody] Body 读取数据
- laravel - 作曲家安装地平线错误不安装照明/队列