すべてのプロダクト
Search
ドキュメントセンター

Database Autonomy Service:DAS SDK for Pythonを使用する

最終更新日:Dec 25, 2024

このトピックでは、Python用Database Autonomy Service (DAS) SDKを使用して、GetInstanceInspections操作を呼び出して、インスペクションとスコアリング機能を使用してデータベースインスタンスで実行されるインスペクションの結果を照会する方法について説明します。

APIドキュメントの表示

GetInstanceInspections操作を呼び出す前に、API操作に関するドキュメントを読んで、API操作の呼び出しに必要なパラメーターとアクセス許可について確認することをお勧めします。 詳細については、「機能別操作一覧」をご参照ください。

RAMユーザーを作成し、RAMユーザーに権限を付与する

RAM (Resource Access Management) ユーザーを作成し、RAMユーザーに権限を付与している場合は、この手順をスキップしてください。

  1. RAM ユーザーを作成します。

    1. RAMコンソールにログインし、[ユーザー] ページに移動し、[ユーザーの作成] をクリックします。

    2. [ログイン名] パラメーターをdas-openapi-operatorに設定し、[access Mode] パラメーターに [Using permanent AccessKey to Access] を選択します。

    3. [OK] をクリックします。 RAMユーザーが作成されたら、RAMユーザーのAccessKey IDとAccessKey secretを保存します。

  2. RAMユーザーに権限を付与します。

    1. [ユーザー] ページでRAMユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。

    2. 検索ボックスにDASと入力し、AliyunHDMReadOnlyAccessポリシーを選択します。

      説明

      AliyunHDMReadOnlyAccessポリシーには、DASの読み取り権限が含まれています。 DASの読み取りおよび書き込み権限を含むAliyunHDMFullAccessポリシーを選択するか、ビジネス要件に基づいてカスタムポリシーを作成することもできます。 詳細については、「カスタムポリシーの作成」をご参照ください。

    3. [権限付与] をクリックします。

APIの呼び出し

このセクションでは、DAS SDK for Pythonを使用してAPI操作を呼び出す方法について説明します。 他のプログラミング言語にも同様の方法でSDKを使用できます。 詳細については、「

DAS SDKを使用します。

Pythonのインストール

Python 3をダウンロードしてインストールします。 Pythonをインストールしている場合は、python -- versionコマンドを実行してPythonのバージョンを表示できます。

環境変数の設定

このセクションでは、ALIBABA_CLOUD_ACCESS_KEY_IDおよびALIBABA_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シークレットを指定します。 次に、Windowsオペレーティングシステムを再起動します。

依存関係のインストール

デバイスで次のコマンドを実行して、依存関係をインストールします。

pip install alibabacloud_das20200116==2.4.2

サンプルコードのダウンロード

  1. のデバッグページに移動します。

    OpenAPIエクスプローラーでのGetInstanceInspections操作。

  2. [パラメーター] タブで、次の表に示すリクエストパラメーターを設定します。 この例では、ApsaraDB RDS for MySQLインスタンスで操作が呼び出されます。

    パラメーター

    Engine

    MySQL

    StartTime

    1718776527000

    重要

    照会する期間の開始時刻です。 このパラメーターには、1970年1月1日00:00:00 UTCから経過したミリ秒数を表すUNIXタイムスタンプを設定します。 このパラメーターを実際の値に設定します。

    EndTime

    1718776827000

    重要
    • 照会する期間の終了時刻を設定します。 このパラメーターには、1970年1月1日00:00:00 UTCから経過したミリ秒数を表す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
  }
}