全部產品
Search
文件中心

Database Autonomy Service:Python調用SDK樣本

更新時間:Dec 11, 2024

本文介紹如何使用阿里雲Python語言SDK開發包,調用DAS的GetInstanceInspections(擷取資料庫執行個體巡檢評分結果)介面。

查看OpenAPI文檔

在調用OpenAPI前,建議您先閱讀對應介面文檔,瞭解、學習調用該介面所需要的參數及許可權等,更多資訊請參見API概覽

建立RAM使用者並完成授權

如您已建立RAM使用者並完成授權,可跳過此步驟。

  1. 建立RAM使用者:

    1. 訪問RAM使用者列表,單擊建立使用者

    2. 設定登入名稱稱das-openapi-operator,選擇訪問方式使用永久 AccessKey 訪問

    3. 單擊確定,建立RAM使用者並儲存AccessKey ID與AccessKey Secret資訊。

  2. 完成授權:

    1. 訪問RAM使用者列表,單擊目標RAM使用者操作列的添加許可權

    2. 在文字框中搜尋DAS,選擇AliyunHDMReadOnlyAccess策略。

      說明

      AliyunHDMReadOnlyAccess策略擁有隻讀訪問DAS的操作許可權,您也可以按需選擇AliyunHDMFullAccess許可權(DAS的完全系統管理權限)或進行自訂策略,更多資訊請參見建立自訂權限原則

    3. 單擊確認新增授權,完成授權操作。

調用OpenAPI

本文介紹阿里雲Python語言SDK調用OpenAPI,其他語言SDK的用法也類似,更多資訊請參見資料庫自治服務DAS SDK

準備Python環境

下載並安裝Python 3。如您已安裝Python,查看Python版本的命令樣本:python --version

配置環境變數

配置環境變數ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

  • Linux和macOS系統:將以下命令中的<access_key_id><access_key_secret>替換為您自己的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_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,並寫入已準備好的AccessKey ID和AccessKey Secret。然後重啟Windows系統。

安裝依賴

在終端裝置中,逐條運行如下命令,安裝環境依賴。

pip install alibabacloud_das20200116==2.4.2

下載範例程式碼

  1. 訪問GetInstanceInspections,進入該介面在OpenAPI門戶的調試地址。

  2. 參數配置頁簽,填寫需要的參數資訊,本樣本以RDS MySQL為例,參數配置如下。

    參數

    取值

    Engine

    MySQL

    StartTime

    1718776527000

    重要

    任務開始時間,格式為 Unix 時間戳記,單位為毫秒,請將其替換為實際數值。

    EndTime

    1718776827000

    重要
    • 任務結束時間,格式為 Unix 時間戳記,單位為毫秒,請將其替換為實際數值。

    • 在指定時間段內需要執行已完成的巡檢評分任務。如果沒有相應任務,您可以選擇一個執行個體,手動發起巡檢評分,待任務完成後再執行該樣本。手動發起巡檢評分請參見巡檢評分

    InstanceArea

    RDS

    PageNo

    1

    PageSize

    10

  1. 在右側的SDK樣本頁簽,選擇Python語言,單擊下載完整工程按鈕,下載範例程式碼包。

  2. 本地解壓並進入alibabacloud_sample目錄。

運行代碼

執行以下命令。

python sample.py

返回樣本如下。

{
  "headers": {
    "date": "Wed, 19 Jun 2024 06:24:10 GMT",
    "content-type": "application/json;charset=utf-8",
    "content-length": "1428",
    "connection": "keep-alive",
    "keep-alive": "timeout=25",
    "vary": "Accept-Encoding",
    "access-control-allow-origin": "*",
    "access-control-expose-headers": "*",
    "x-acs-request-id": "B576DACC-D08A-5058-8843-E613CBF474CF",
    "x-acs-trace-id": "2fb5b5b76565ce67233288b9369f6d96",
    "etag": "1rcNeDQg43APurk7PohefuQ8"
  },
  "statusCode": 200,
  "body": {
    "Code": 200,
    "Data": {
      "List": [
        {
          "AutoFunction": {
            "AutoIndex": 1,
            "AutoLimitedSql": 0,
            "AutoResourceOptimize": 2,
            "AutoScale": 0,
            "EventSubscription": 0
          },
          "Data": {
            "hasDeadLock": false,
            "slowSqlCount": 0,
            "exceptionTableMap": {},
            "spaceItem": {
              "valid": true,
              "current": 0.16416015625,
              "avg": 0.16416015625,
              "min": 0.16416015625,
              "max": 0.16416015625
            },
            "maxIops": 3100,
            "bigTransactionCount": 0,
            "cpu": 2,
            "isRds": true,
            "storage": 20,
            "lastHourRate": 0.0,
            "lastDayCount": 0,
            "lastHourCount": 0,
            "slowSqlList": [],
            "lastDayRate": 0.0,
            "activeSessions": [],
            "enable": false,
            "bigTransactionList": [],
            "bigSessionList": [
              {
                "User": "system user",
                "Command": "Query",
                "State": "Replica has read all relay log; waiting for more updates",
                "active": false,
                "Host": "",
                "Time": 24,
                "Id": 61,
                "Info": "",
                "db": ""
              }
            ],
            "tableStats": [],
            "bigSessionCount": 1,
            "spaceUsage": 0.16416015625,
            "availableDays": 76
          },
          "EnableDasPro": 0,
          "EndTime": 1718726400000,
          "GmtCreate": 1718776692000,
          "Instance": {
            "AccountId": "1648821913965368",
            "Category": "standard",
            "Cpu": "2",
            "Engine": "MySQL",
            "EngineVersion": "8.0",
            "InstanceArea": "RDS",
            "InstanceClass": "mysql.n2m.medium.2c",
            "InstanceId": "rm-bp1s6jtqtr41m****",
            "Memory": 4096,
            "NetworkType": "VPC",
            "Region": "cn-hangzhou",
            "Storage": 20,
            "Uuid": "hdm_6d00b701adcb484d5fa4d2800dc0****",
            "VpcId": "vpc-bp1ov7as4yvz4kxei****"
          },
          "Score": 100,
          "StartTime": 1718640000000,
          "State": 2,
          "TaskType": 1
        }
      ],
      "PageNo": 1,
      "PageSize": 10,
      "Total": 1
    },
    "Message": "Successful",
    "RequestId": "B576DACC-D08A-5058-8843-E613CBF474CF",
    "Success": true
  }
}