【问题标题】:ARM template vs Azure SDK feature compatibilityARM 模板与 Azure SDK 功能兼容性
【发布时间】:2017-08-11 03:42:15
【问题描述】:

我正在寻找通过 Azure SDK (java) 与 ARM 模板对 Azure 资源操作的支持方面的任何差距。

到目前为止,我们只发现 ARM 无法管理 blobs/queues/tables,而包含的 StorageAccount 可以。也没有说明差异的文档。

我更喜欢使用 ARM 模板,因为它们提供跨资源创建和更新的原子性,前提是它们支持所有或大部分功能。

我们感兴趣的资源主要是 IAAS 资源 - 虚拟网络、安全组、子网等、LB、存储工件、VM 实例、DNS 等。

对于基本的创建/删除操作和频繁的更新操作(例如修补 VM 映像、修改 DNS 条目、将 ENI 从一个 VM 移动到另一个 VM 等),需要这个。

【问题讨论】:

  • arm 模板应该是要走的路,它们没有区别,所有功能都可以通过 SDK 与模板获得
  • 模板只支持ARM模式。 Azure SDK 支持 ARM 模式和 asm 模式。使用模板,您可以将多个资源部署到 Azure,但 SDK 可以做的更多。就像启动虚拟机一样,停止虚拟机。模板无法做到这一点。
  • 我们没有旧 ASM 资源的包袱。 startVM/stopVM 类操作的有效点,推广到资源上的所有管理操作。
  • @Pragya 使用模板,可以创建、修改、删除 Azure 资源。我认为 SDK 也可以做到。但我认为使用模板更容易。但是使用 SDK,您可以管理您的资源,例如停止、启动 VM、webapp。您可以将数据写入 blob。
  • @Pragya 根据我的经验,使用模板可以定义资源但不能操作资源。但是SDK可以。你最好参考Azure java SDK

标签: azure azure-resource-manager azure-cli azure-sdk azure-template


【解决方案1】:

首先,Template 只支持 ARM 模式。 Azure SDK 支持 ARM 模式和 asm 模式。

其次,使用模板可以定义资源,但不能操作该资源,例如启动、停止 VM 或 Web 应用程序。

如果你只是想将资源部署到Azure,我建议你可以选择模板,这样做更容易。 SDK更适合开发者,Azure提供强大的API。您可以管理您的 Azure 资源并将它们集成到您的服务中。

更新:

如果您只想在 Azure 中创建或修改资源。模板是更合适的选择。模板支持更多资源。 Java SDK 支持的 API 是here。模板支持资源为here。点击Reference

注意:您不能使用模板来删除资源。

【讨论】:

  • 感谢@Walter 的回复。我正在寻找模板和 SDK 之间的特定差距,以便在 Azure 中创建或修改资源。您的回答作为一种意见有所帮助,但并未完全回答我的问题。所以保持开放。
  • @Pragya 如果您只想在 Azure 中创建或修改资源,模板是更合适的选择。模板几乎支持所有 ARM Azure 资源,但 Java SDK 只能支持 API 提供的资源。我检查了API 某些资源(例如HDIcluster)不受支持。 link 支持模板。
  • @Pragya 你可以检查一下,模板支持 Azure 中的更多资源。
  • @Pragya 您将来需要更多帮助吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多