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

ApsaraDB for ClickHouse:SDK for Pythonを使用する

最終更新日:Oct 17, 2024

このトピックでは、Alibaba Cloud SDK for Pythonを使用して、ApsaraDB for ClickHouseのDescribeDBClusters操作を呼び出して、ApsaraDB for ClickHouseクラスターとクラスター情報を照会する方法について説明します。

APIドキュメントの表示

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

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

RAMユーザーを作成し、そのユーザーに権限を付与している場合は、この手順をスキップできます。

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

    1. [ユーザー] ページに移動し、[ユーザーの作成] をクリックします。

    2. ログイン名clickhouse-openapi-operatorに、アクセスモードOpenAPI Accessに設定します。

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

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

    1. [ユーザー] ページに移動し、作成したRAMユーザーの [操作] 列で [権限の追加] をクリックします。

    2. [ポリシー] セクションで、テキストボックスにAliyunClickHouseと入力し、AliyunClickHouseReadOnlyAccessポリシーを選択します。

      説明

      AliyunClickHouseReadOnlyAccessポリシーは、ApsaraDB for ClickHouseクラスターを照会する権限をRAMユーザーに付与できます。 また、AliyunClickHouseFullAccessポリシーを選択して、RAMユーザーにApsaraDB for ClickHouseクラスターのクエリと変更、またはポリシーのカスタマイズ権限を付与することもできます。 詳細については、「カスタマイズポリシーの作成」をご参照ください。

    3. [OK] をクリックします。

API操作の呼び出し

このセクションでは、Alibaba Cloud SDK for Pythonを使用してAPI操作を呼び出す方法について説明します。 他のプログラミング言語にも同様の方法でSDKを使用できます。 詳細については、次をご参照ください: ApsaraDB for ClickHouse 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_IDおよびALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数を追加するファイルを作成し、AccessKey IDおよびAccessKeyシークレットに変数を設定します。 次に、Windowsオペレーティングシステムを再起動します。

依存関係のインストール

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

pip install alibabacloud_clickhouse20191111

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

  1. OpenAPI ExplorerのDescribeDBClustersページに移動し、APIをデバッグできます。

  2. [パラメーター] タブで、必要なパラメーターを設定します。 この例では、RegionIdcn-hangzhouに設定されています。

  3. 右側の [SDKサンプルコード] タブで、[Python] [言語用] を選択し、[プロジェクトのダウンロード] をクリックしてサンプルコードパッケージをダウンロードします。

  4. デバイスでパッケージを解凍し、alibabacloud_sampleディレクトリに移動します。

サンプルコードの実行

以下のコマンドを実行します。

python sample.py

レスポンス例:

[
    LOG
]{
    "headers": {
        "date": "Thu, 27 Jul 2023 10:03:39 GMT",
        "content-type": "application/json;charset=utf-8",
        "content-length": "1665",
        "connection": "keep-alive",
        "keep-alive": "timeout=25",
        "vary": "Accept-Encoding",
        "access-control-allow-origin": "*",
        "access-control-expose-headers": "*",
        "x-acs-request-id": "F2F4B6CB-3C03-51A0-9300-F78BC94E****",
        "x-acs-trace-id": "4d9ceb1f6cb98086cd8333f0bb30****",
        "etag": "1YlaXvHZ3H5CjZic1Oeo****"
    },
    "statusCode": 200,
    "body": {
        "DBClusters": {
            "DBCluster": [
                {
                    "Category": "Basic",
                    "ResourceGroupId": "rg-acfmz7u4zzr****",
                    "ControlVersion": "v2",
                    "Port": "8123",
                    "DBClusterId": "cc-bp1084nnobip9****",
                    "DBClusterNetworkType": "vpc",
                    "DBNodeCount": 1,
                    "CommodityCode": "clickhouse_go_public_cn",
                    "Bid": "26842",
                    "LockReason": "",
                    "Tags": {
                        "Tag": [
                            {
                                "Value": "01",
                                "Key": "test"
                            }
                        ]
                    },
                    "DBNodeStorage": 100,
                    "IsExpired": false,
                    "StorageType": "CloudESSD",
                    "ZoneId": "cn-hangzhou-h",
                    "DBClusterStatus": "Running",
                    "CreateTime": "2023-07-27T07:47:19Z",
                    "VSwitchId": "vsw-bp11dxnc500olkyyf****",
                    "DBClusterDescription": "cc-bp1084nnobip9****",
                    "PayType": "Postpaid",
                    "LockMode": "Unlock",
                    "DBNodeClass": "S8",
                    "ScaleOutStatus": {
                        
                    },
                    "VpcId": "vpc-bp1pf7eciga85yo53****",
                    "VpcCloudInstanceId": "cc-bp1084nnobip9****",
                    "RegionId": "cn-hangzhou",
                    "ConnectionString": "cc-bp1084nnobip9****.clickhouse.ads.aliyuncs.com",
                    "ExpireTime": "",
                    "AliUid": 164882191396****
                },
                {
                    "Category": "Basic",
                    "ResourceGroupId": "rg-acfmz7u4zzr****",
                    "ControlVersion": "v2",
                    "Port": "8123",
                    "DBClusterId": "cc-bp166xfnay4rw****",
                    "DBClusterNetworkType": "vpc",
                    "DBNodeCount": 1,
                    "CommodityCode": "clickhouse_go_public_cn",
                    "Bid": "26842",
                    "LockReason": "",
                    "Tags": {
                        "Tag": [
                            {
                                "Value": "01",
                                "Key": "test"
                            }
                        ]
                    },
                    "DBNodeStorage": 100,
                    "IsExpired": false,
                    "StorageType": "CloudESSD",
                    "ZoneId": "cn-hangzhou-h",
                    "DBClusterStatus": "Running",
                    "CreateTime": "2023-07-27T06:53:54Z",
                    "VSwitchId": "vsw-bp1mbnyrjtf3ihga1****",
                    "DBClusterDescription": "cc-bp166xfnay4rw****",
                    "PayType": "Postpaid",
                    "LockMode": "Unlock",
                    "DBNodeClass": "S8",
                    "ScaleOutStatus": {
                        
                    },
                    "VpcId": "vpc-bp1ov7as4yvz4kxei****",
                    "VpcCloudInstanceId": "cc-bp166xfnay4rw****",
                    "RegionId": "cn-hangzhou",
                    "ConnectionString": "cc-bp166xfnay4rw****.clickhouse.ads.aliyuncs.com",
                    "ExpireTime": "",
                    "AliUid": 164882191396****
                }
            ]
        }
    }
}