このトピックでは、Alibaba Cloud SDK for Pythonを使用して、ApsaraDB for ClickHouseのDescribeDBClusters操作を呼び出して、ApsaraDB for ClickHouseクラスターとクラスター情報を照会する方法について説明します。
APIドキュメントの表示
API操作を呼び出す前に、API操作に関するドキュメントを読んで、API操作を呼び出すために必要なパラメーターとアクセス許可について確認することをお勧めします。 詳細については、「機能別操作一覧」をご参照ください。
RAMユーザーを作成し、RAMユーザーに権限を付与する
RAMユーザーを作成し、そのユーザーに権限を付与している場合は、この手順をスキップできます。
RAM ユーザーを作成します。
[ユーザー] ページに移動し、[ユーザーの作成] をクリックします。
ログイン名をclickhouse-openapi-operatorに、アクセスモードをOpenAPI Accessに設定します。
[OK] をクリックします。 RAMユーザーが作成されたら、ユーザーのAccessKey IDとAccessKey secretを保存します。
RAMユーザーに権限を付与します。
[ユーザー] ページに移動し、作成したRAMユーザーの [操作] 列で [権限の追加] をクリックします。
[ポリシー] セクションで、テキストボックスに
AliyunClickHouse
と入力し、AliyunClickHouseReadOnlyAccessポリシーを選択します。説明AliyunClickHouseReadOnlyAccessポリシーは、ApsaraDB for ClickHouseクラスターを照会する権限をRAMユーザーに付与できます。 また、AliyunClickHouseFullAccessポリシーを選択して、RAMユーザーにApsaraDB for ClickHouseクラスターのクエリと変更、またはポリシーのカスタマイズ権限を付与することもできます。 詳細については、「カスタマイズポリシーの作成」をご参照ください。
[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
サンプルコードのダウンロード
OpenAPI ExplorerのDescribeDBClustersページに移動し、APIをデバッグできます。
[パラメーター] タブで、必要なパラメーターを設定します。 この例では、RegionIdはcn-hangzhouに設定されています。
右側の [SDKサンプルコード] タブで、[Python] [言語用] を選択し、[プロジェクトのダウンロード] をクリックしてサンプルコードパッケージをダウンロードします。
デバイスでパッケージを解凍し、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****
}
]
}
}
}