用于连接Azure的Linux脚本,可获取有关所有可用资源的信息

时间:2015-01-15 09:36:12

标签: linux azure

是否可以从Linux脚本连接到Azure云,以获取有关所有可用资源(虚拟机,网络,云服务等)的信息?

我不是相关Azure云的管理员,但我可以访问网络,可以访问管理门户,并可以通过SSH访问该云中的所有Linux服务器。

我希望能够: 1)连接到云(使用与登录Azure管理门户时相同的凭据) 2)检索资源列表,并从该列表中检索有关每个资源的详细信息 3)登录每个Linux实例并检索一些文件(这一点我知道如何)

PS。如果有人知道如何在Java中使用上述两点,我也会非常感激。任何其他语言都不相关。

2 个答案:

答案 0 :(得分:0)

我会评论并提出这些问题,但我还没有足够的意见。我假设你知道azure java sdk:

http://dl.windowsazure.com/javadoc/

我们需要确切地知道您要查询的服务。

Azure服务分为几类,需要单独完成查询。像“计算”这样可以获得vm,Web角色和工作者角色列表的内容可以通过以下方式完成:

DeploymentOperations getDeploymentsOperations()

http://dl.windowsazure.com/javadoc/com/microsoft/windowsazure/management/compute/DeploymentOperations.html

同样适用于: 网络 http://dl.windowsazure.com/javadoc/com/microsoft/windowsazure/management/network/NetworkManagementClient.html

mediaservices http://dl.windowsazure.com/javadoc/com/microsoft/windowsazure/management/mediaservices/package-summary.html

......和存储等等。每个都有不同的对象类型需要以不同的方式处理。如果您只是在寻找一个列表,那么管理门户网站的所有项目绝对是最简单的。

希望这有帮助,

= Devon

答案 1 :(得分:0)

Azure提供了azure-cli(Node.js模块),您可以从shell或其他脚本调用它。如果将--json传递给操作,则可以使用jq或类似的JSON解析工具解析输出。

一旦你有了Node.js和npm,请安装:

npm install azure-cli -g

然后你需要登录(azure login,如果你登录的是任何不能用来登录的东西,比如Xbox - 或azure account download然后azure account import其他的<) / p>

以下是一个例子:

azure site list --json | jq '.[] | [.name, .state]'
[
  "alpha",
  "Stopped"
]
[
  "beta",
  "Running"
]
[
...

Python scripts MS Open Tech在GitHub上开源也可以节省一些时间。他们与Zabbix和Nagios合作。 HTH。