使用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
- 【Python】獲取機器使用資訊Python
- 【Spring Boot】使用JDBC 獲取相關的資料Spring BootJDBC
- PHP獲取上級(來路)URL相關資訊PHP
- python使用ldap3獲取使用者資訊PythonLDA
- hyperic-sigar-1.6.4 java獲取軟硬體相關資訊Java
- 分享下 PHP 使用 getID3 來獲取音訊、視訊等媒體檔案相關資訊PHP音訊
- 分享下 PHP 使用 getID3 來獲取音訊、影片等媒體檔案相關資訊PHP音訊
- python-help()獲取關於物件的幫助資訊Python物件
- Python Web 框架 Django 如何使用jwt獲取使用者資訊PythonWeb框架DjangoJWT
- 車輛資訊查詢 - 高效快捷地獲取車輛相關資訊的利器
- 【Python小隨筆】 SSH 獲取資訊Python
- 使用捕獲 獲取身份證號的資訊
- 關於模型關聯 獲取不到關聯資訊 求教模型
- python使用cx_Oracle連線oracle資料庫獲取常用資訊PythonOracle資料庫
- C#使用ManagementObjectSearcher獲取本計算機CPU,硬碟,記憶體條等相關裝置資訊C#Object計算機硬碟記憶體
- Python下獲取視訊的旋轉角度資訊Python
- python相關工具使用Python
- 分析:關於 「關注後使用者資訊獲取介面」調整的通知
- Python呼叫ansible API系列(一)獲取資產資訊PythonAPI
- 使用URLConnection物件獲取網路資源資訊物件
- 獲取位置資訊
- 使用Python呼叫API介面獲取京東關鍵詞詳情資料PythonAPI
- 使用Python獲取HTTP請求頭資料PythonHTTP
- 獲取微信使用者基本資訊
- SAP ABAP使用CDS獲取系統資訊
- thinkphp6 使用FFMpeg獲取影片資訊PHP
- 使用 C# 獲取 Kubernetes 叢集資源資訊C#
- python 呼叫 shell ,獲取返回值和返回資訊Python
- Python獲取jsonp資料PythonJSON
- 微信小程式 獲取使用者資訊微信小程式
- 使用PHP獲取影像檔案的EXIF資訊PHP
- c++任意變數型別獲取相關C++變數型別
- 強烈推薦:如何找到免費大資料,獲取相關資料大資料
- Python 系統資源資訊獲取工具,你用過沒?Python
- 網頁快取相關的HTTP頭部資訊詳解網頁快取HTTP
- Oracle獲取所有表名資訊和獲取指定表名欄位資訊Oracle
- Python獲取IP地址對應的地理位置資訊!Python