Alibaba Cloud SDK for Python を使用して DescribeDBInstances オペレーションを呼び出し、ApsaraDB RDS インスタンスをクエリします。
事前準備
API オペレーションを呼び出す前に、「API の概要」を確認し、必須パラメーターと権限を理解してください。
RAM ユーザーの作成と権限の付与
必要な権限を持つ RAM ユーザーが既にある場合は、このセクションをスキップしてください。
-
RAM ユーザーを作成します。
-
RAM コンソールで [ユーザー] ページに移動し、ユーザーの作成 をクリックします。
-
ログイン名 を rds-openapi-operator に設定し、Access Method を [プログラムによるアクセス] に設定します。
-
OK をクリックし、新しい RAM ユーザーの AccessKey ID と AccessKey Secret を保存します。
-
-
RAM ユーザーに権限を付与します。
-
[ユーザー] ページで対象の RAM ユーザーを見つけ、操作 列の 権限の追加 をクリックします。
-
検索ボックスに
AliyunRDSと入力し、AliyunRDSReadOnlyAccess ポリシーを選択します。説明AliyunRDSReadOnlyAccess は、ApsaraDB RDS インスタンスへの読み取り専用アクセスを許可します。フルアクセスが必要な場合は、AliyunRDSFullAccess を選択します。また、カスタムポリシーを作成することもできます。
-
[OK] をクリックします。
-
API の呼び出し
以下の手順では Python を例として使用します。他の言語については、ApsaraDB RDS SDK ページから SDK をダウンロードしてください。
Python 環境の準備
Python 3 をダウンロードしてインストールします。既存のインストールを確認するには、python --version を実行します。
環境変数の設定
環境変数 ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET を設定します。
-
Linux および macOS では、
<access_key_id>と<access_key_secret>を実際の値に置き換えて、次のコマンドを実行します。export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret> -
Windows では、ご利用の AccessKey ペアの値で環境変数
ALIBABA_CLOUD_ACCESS_KEY_IDとALIBABA_CLOUD_ACCESS_KEY_SECRETを作成し、システムを再起動します。
依存関係のインストール
次のコマンドを実行して SDK をインストールします。
pip install alibabacloud_rds20140815==5.0.1
サンプルコードのダウンロード
-
OpenAPI Explorer で、DescribeDBInstances ページに移動します。
-
パラメーター タブでパラメーターを設定します。この例では、RegionId を cn-beijing (中国 (北京)) に設定します。
-
右側のパネルの [SDK サンプル] タブで Python を選択し、[プロジェクトのダウンロード] をクリックします。
-
ダウンロードしたパッケージを展開し、alibabacloud_sample ディレクトリに移動します。
コードの実行
次のコマンドを実行します。
python sample.py
応答の例:
{
"headers": {
"date": "Tue, 18 Jun 2024 10:12:14 GMT",
"content-type": "application/json;charset=utf-8",
"content-length": "1018",
"connection": "keep-alive",
"keep-alive": "timeout=25",
"access-control-allow-origin": "*",
"access-control-expose-headers": "*",
"x-acs-request-id": "3BBF9A9B-E74C-5EF5-99BB-4F65B4B67499",
"x-acs-trace-id": "dcfce27991f7d63647cc3c31ae3daa65",
"etag": "1se2pACCKd0kse87Rqtbprg8"
},
"statusCode": 200,
"body": {
"Items": {
"DBInstance": [
{
"ConnectionMode": "Standard",
"ConnectionString": "rm-2zea24972vgw2****.mysql.rds.aliyuncs.com",
"CreateTime": "2024-06-18T10:09:56Z",
"DBInstanceClass": "mysql.n1e.small.1",
"DBInstanceId": "rm-2zea24972vgw2****",
"DBInstanceMemory": 1024,
"DBInstanceNetType": "Intranet",
"DBInstanceStatus": "Creating",
"DBInstanceStorageType": "general_essd",
"DBInstanceType": "Primary",
"DeletionProtection": false,
"Engine": "MySQL",
"EngineVersion": "8.0",
"ExpireTime": "2024-07-18T16:00:00Z",
"InstanceNetworkType": "VPC",
"LockMode": "Unlock",
"MutriORsignle": false,
"PayType": "Prepaid",
"ReadOnlyDBInstanceIds": {
"ReadOnlyDBInstanceId": []
},
"RegionId": "cn-beijing",
"ResourceGroupId": "rg-acfmz7u4zzr****",
"TipsLevel": 0,
"VSwitchId": "vsw-2zeyawzswr2lno0ys****",
"VpcCloudInstanceId": "rm-2zea24972vgw2****-20240618180950",
"VpcId": "vpc-2zeev9fov0chw8hjt****",
"ZoneId": "cn-beijing-l"
}
]
},
"NextToken": "o7PHCFqQhehg8NUW9EJ7Yw",
"PageNumber": 1,
"PageRecordCount": 1,
"RequestId": "3BBF9A9B-E74C-5EF5-99BB-4F65B4B67499",
"TotalRecordCount": 1
}
}