本文介紹如何使用阿里雲Simple Log ServicePython SDK開發包,調用Simple Log ServiceListProject介面查詢Project資訊。
查看OpenAPI文檔
在調用OpenAPI前,建議您先閱讀對應介面文檔,瞭解、學習調用該介面所需要的參數及許可權等。更多資訊,請參見API概覽。
建立RAM使用者並完成授權
阿里雲帳號(主帳號)的AccessKey擁有所有API的存取權限,建議您建立RAM使用者並按需為其分配最小許可權。避免使用阿里雲帳號(主帳號)密碼或存取金鑰(AccessKey),從而降低企業的安全風險。
使用阿里雲帳號(主帳號)或Resource Access Management員登入RAM控制台。
建立RAM使用者。
在左側導覽列,選擇。
在使用者頁面,單擊建立使用者。
在建立使用者頁面,設定登入名稱稱和顯示名稱均為openapi-operator,訪問方式選擇OpenAPI調用訪問。
單擊確定。
重要建立RAM使用者成功後,系統將自動為該RAM使用者產生一個AccessKey ID和AccessKey Secret。更多資訊,請參見建立AccessKey。
請儲存好AccessKey ID和AccessKey Secret,您在調用OpenAPI時,需要使用RAM使用者的AccessKey ID和AccessKey Secret。
為RAM使用者授權。
說明建立RAM使用者後,該RAM使用者無任何許可權,建議您遵循最小化原則,按需授予RAM使用者必要的許可權。本樣本以授予RAM使用者AliyunLogReadOnlyAccess許可權為例,為您說明具體授權步驟。
在使用者頁面,單擊目標RAM使用者(openapi-operator)操作列的添加許可權。
在新增授權頁面,選中AliyunLogReadOnlyAccess,然後單擊確認新增授權。
確認授權結果,單擊關閉。
權限原則說明:
策略名稱稱
說明
AliyunLogFullAccess
管理Log Service(Log)的許可權
AliyunLogReadOnlyAccess
唯讀訪問Log Service(Log)的許可權
自訂策略
當系統策略無法滿足您的需求,您可以通過建立自訂策略實現精微調權限管理。
具體操作,請參見建立自訂權限原則。
權限原則樣本請參見RAM自訂授權樣本和Log ServiceRAM授權策略。
調用OpenAPI
本文介紹阿里雲Python SDK方式調用OpenAPI,其他語言SDK的用法也類似。更多資訊,請參見Log ServiceSDK。
準備Python環境
安裝Python。更多資訊,請參見Python官網。
Simple Log ServicePython SDK支援Python3及以上版本。
您可以執行python -V命令查看您已安裝的Python版本。
配置環境變數
為避免將AccessKey寫入程式碼到業務代碼中,帶來安全風險,推薦使用環境變數方式管理AccessKey。
Linux系統、macOS系統
將以下命令中的
<access_key_id>和<access_key_secret>替換為已準備好的RAM使用者的AccessKey ID和AccessKey Secret,然後在終端執行如下命令。export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>Windows系統
建立環境變數檔案,添加環境變數
ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET,並寫入已準備好的RAM使用者的AccessKey ID和AccessKey Secret,然後重啟Windows系統。
下載範例程式碼
訪問ListProject。
在左側的參數配置頁簽,填寫需要的參數資訊,例如輸入待查詢的projectName。
在右側的SDK樣本頁簽,選擇Python語言,單擊下載完整工程,下載範例程式碼包。
在本地解壓範例程式碼包並進入alibabacloud_sample目錄。
安裝依賴
下載範例程式碼後,您可以查看README.md檔案查看SDK版本、依賴項等資訊。
pip install alibabacloud-sls20201230運行代碼
運行sample.py檔案,返回樣本如下:
[LOG]
{
"headers": {
"server": "AliyunSLS",
"content-type": "application/json",
"content-length": "230",
"connection": "keep-alive",
"access-control-allow-origin": "*",
"date": "Tue, 25 Jul 2023 10:08:25 GMT",
"x-log-time": "1690279705",
"x-log-requestid": "64BF9F199ED2B749708E5445"
},
"statusCode": 200,
"body": {
"count": 1,
"projects": [
{
"createTime": "1656666120",
"description": "",
"lastModifyTime": "1665978308",
"owner": "",
"projectName": "re****-nginx",
"region": "cn-hangzhou",
"resourceGroupId": "rg-a****a",
"status": "Normal"
}
],
"total": 1
}
}