如何查找资源的Azure ARM模板输出属性

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

在编写ARM模板的输出部分时,如何为资源执行哪些属性。在下面的公共IP资源示例中,我如何找到dnsSettings.fqdn或.ipAddress可用

"outputs": {
    "fqdn": {
        "value": "[reference(parameters('publicIPAddresses_name')).dnsSettings.fqdn]",
        "type": "string"
    },
    "ipaddress": {
        "value": "[reference(parameters('publicIPAddresses_name')).ipAddress]",
        "type": "string"
    }
}
azure azure-resource-manager
3个回答
2
投票

你的问题与Retrieve FQDN of Azure SQL from a linkted template问题有关。

完成您的要求的最简单方法如下面的屏幕截图所示。

enter image description here

希望这可以帮助!!干杯!!

注意:如果您认为您的问题已得到解答,请“接受”,如果只是帮助,请点击“此答案有用”并提供投票。这对阅读此主题的其他社区成员有益。


0
投票

你真的不知道,因为默认修改了一些属性(而另一个答案根本就没有提到,这可能会误导你)。您可以做的一件事是查看资源的其余api定义并使用Full对资源的引用,这样您将始终获得您在api定义中看到的内容。

reference(parameters('publicIPAddresses_name'), 'api-version', 'Full')

但是,对象结构会有所不同,据我记得你需要访问对象的属性以获得大部分输出。我倾向于做的是 - 创建一个模板,除了输出我感兴趣的现有对象并运行它并检查输出之外什么都不做。

输出几乎从不需要,因此在我看来并不是一个大问题。

休息Api定义:https://docs.microsoft.com/en-us/rest/api/azure/


0
投票

我发现,仅使用ARM的一种方法是输出整个对象:

    "outputs": {
    "ipaddress": {
        "type": "Object",
        "value": "[reference(parameters('publicIPAddresses_name'))]"
    }

应用策略时,输出将显示所有可能的属性及其值。

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