使用Python獲取ECS相關資訊
阿里云為很多產品提供了相關的SDK,我們可以通過呼叫相關的SDK來獲取相關的產品資訊.這裡展示一下如何使用Pyhton來獲取相關的ECS資訊
1.環境準備
使用SDK前我們要先準備一個RAM賬號以及一對AccessKey ID和AccessKey Secret.當然主賬號也是可以開通AccessKey ID和AccessKey Secret的,但是並不推薦這樣做.因為主賬號對賬戶擁有完全操作許可權,在程式碼的編寫過程中很容產生誤操作,所以建議建立一個RAM賬戶,只給予需要的許可權即可.此處不再詳細寫出如何建立RAM賬號和賦予許可權,需要的朋友可以檢視阿里雲相關文件.
接下來就要安裝阿里雲提供的SDK了.本人使用的是Python3.7,直接使用pip安裝即可
安裝python SDK 核心庫
pip install aliyun-python-sdk-core-v3
安裝ECS的SDK
pip install aliyun-python-sdk-ecs
引入相關模組
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkecs.request.v20140526 import DescribeInstancesRequest
from aliyunsdkecs.request.v20140526 import StopInstanceRequest
準備工作已經完成
2.使用阿里雲SDK
使用阿里雲的SDK主要有以下三個步驟
1.建立Client例項
2.建立API請求並設定請求引數
3.傳送請求並處理應答或異常
為什麼要建立Client例項和如何建立Client例項呢?
當我們使用阿里雲SDK訪問相關資訊時需要獲取到相關API的服務地址,而Client例項就是為了獲取這個服務地址
在Python中這樣建立Client例項
client = AcsClient(
"<your-access-key-id>",
"<your-access-key-secret>",
"<your-region-id>"
);
其中我們需要提供三個引數,分別是 AccessKey ID 和 AccessKey Secret 以及 Region ID,而且必須按照這樣的順序來寫,這樣才能成功獲取到對應的服務地址
其中第一個和第二個引數就是我們之前為子賬號開通的東西,第三個則是地域ID,相關的地域ID可以在阿里雲官方文件中找到.這樣我們就可以成功的獲取到相應的服務地址了
接下來就是建立API請求並設定請求引數程式碼如下:
request = DescribeInstancesRequest.DescribeInstancesRequest()
request.set_PageSize(10)
第一句建立了一個request物件,並且呼叫了類DescribeInstancesRequest中的DescribeInstancesRequest方法
在阿里雲裡面,類的命名規則是api中對應的方法名加上一個Request.所以說我們從api文件中找到DecribeInstances這個方法得知:
這個方法可以查詢一臺或多臺例項的資訊,並且返回json或者xml格式的資訊
第二句設定頁的大小為10個每頁
最後我們發起請求並且列印出相關的資訊即可
response = client.do_action_with_exception(request)
print(response)
在python3.7中可能會返回一些以 x 開頭的 utf-8 編碼資料,我們可以使用decode()方法將其轉換成更加容易讀寫的方式
之後我們就可以將返回的資訊進行處理並且輸出的表格或者進一步的開發了
以上純屬本人理解,有什麼錯誤的地方還望各位大神指正
相關文章
- 獲取app版本號相關資訊APP
- 獲取網路卡的相關資訊
- C++獲取硬體相關資訊C++
- 使用ttXactAdmin、ttSQLCmdCacheInfo、ttSQLCmdQueryPlan獲取SQL相關詳細資訊TTSSQL
- python獲取aliyun ECS例項Python
- PHP獲取客戶端、PHP獲取伺服器相關資訊PHP客戶端伺服器
- PHP獲取上級(來路)URL相關資訊PHP
- 【Python】獲取機器使用資訊Python
- js獲取瀏覽器相關資訊簡單介紹JS瀏覽器
- iOS獲取當前裝置的資訊-網路相關iOS
- 使用 Python 獲取 Linux 系統資訊PythonLinux
- python使用ldap3獲取使用者資訊PythonLDA
- oracle資料庫獲取指定表的列的相關資訊Oracle資料庫
- 【Spring Boot】使用JDBC 獲取相關的資料Spring BootJDBC
- 車輛資訊查詢 - 高效快捷地獲取車輛相關資訊的利器
- hyperic-sigar-1.6.4 java獲取軟硬體相關資訊Java
- python-help()獲取關於物件的幫助資訊Python物件
- SAP中關於使用者IP資訊的獲取
- Python Web 框架 Django 如何使用jwt獲取使用者資訊PythonWeb框架DjangoJWT
- 使用python收集獲取Linux系統主機資訊PythonLinux
- 關於模型關聯 獲取不到關聯資訊 求教模型
- Python 指令碼之獲取CPU資訊Python指令碼
- 【Python小隨筆】 SSH 獲取資訊Python
- 分享下 PHP 使用 getID3 來獲取音訊、影片等媒體檔案相關資訊PHP音訊
- C#使用ManagementObjectSearcher獲取本計算機CPU,硬碟,記憶體條等相關裝置資訊C#Object計算機硬碟記憶體
- C# 獲取系統相關時間C#
- 關於獲取事件相應的結果事件
- python相關工具使用Python
- 分享下 PHP 使用 getID3 來獲取音訊、視訊等媒體檔案相關資訊PHP音訊
- 分析:關於 「關注後使用者資訊獲取介面」調整的通知
- python使用requests獲取cookiePythonCookie
- c++任意變數型別獲取相關C++變數型別
- 用JS獲取函式相關的程式碼JS函式
- 樹莓派使用python獲取GY-85九軸模組資訊樹莓派Python
- Linux環境程式設計簡明教程(1)獲取程式相關資訊的操作Linux程式設計
- SAP ABAP使用CDS獲取系統資訊
- 微信小程式 獲取使用者資訊微信小程式
- thinkphp6 使用FFMpeg獲取影片資訊PHP