このトピックでは、SDKを使用してAPIを呼び出し、特定のリージョンで作成されたインスタンスを照会する方法について説明します。
APIドキュメントの表示
[関数別の操作の一覧] を参照して、特定のリージョンで作成されたインスタンスを照会するために呼び出すことができるAPIを選択できます。 たとえば、DescribeDBInstances操作を呼び出して、特定のリージョンのインスタンスを照会できます。 DescribeDBInstances操作の詳細については、「DescribeDBInstances」をご参照ください。 構成する必要があるリクエストパラメーターと、Resource Access Management (RAM) ユーザーに付与する必要があるアクセス許可については、DescribeDBInstancesのトピックを参照してください。
RAMユーザーを作成し、RAMユーザーに権限を付与する
ID
Alibaba Cloudアカウント、Resource Access Management (RAM) ロール、およびRAMユーザーのいずれかのIDを使用して、操作を呼び出すことができます。 ID間の違いの詳細については、「ID、資格情報、および権限付与」をご参照ください。 この例では、RAMユーザーを使用してDescribeDBInstances操作を呼び出します。 RAMコンソールにログインします。 次に、DescribeDBInstances操作を呼び出すために使用するRAMユーザーを作成し、RAMユーザーのAccessKeyペア情報を記録します。 詳細については、「RAMユーザーの作成」をご参照ください。
権限付与
RAMコンソールの [ユーザー] ページに移動します。 次に、管理するRAMユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。
[権限付与] パネルの [ポリシー] セクションで、検索フィールドに
[MongoDB]
と入力し、RAMユーザーにアタッチするポリシーを選択します。説明AliyunMongoDBFullAccess: ApsaraDB for MongoDBへのフルアクセスを提供します。
AliyunMongoDBReadOnlyAccess: ApsaraDB for MongoDBへの読み取り専用アクセスを提供します。
カスタムポリシーの作成方法については、「RAM権限付与」をご参照ください。
[権限付与] をクリックします。
認証情報
デフォルトでは、RAMユーザーを作成するとAccessKeyペアが生成されます。 ユーザー詳細ページに移動して、AccessKeyペアを作成することもできます。 ページの [認証] タブで、[AccessKeyの作成] をクリックします。 詳細については、「AccessKeyペアの作成」をご参照ください。
DescribeDBInstances操作の呼び出し
このセクションでは、 SDK for Javaは、DescribeDBInstances操作を呼び出すために使用されます。
環境変数を設定します。
環境変数でAccessKeyペアを設定できます。 このように、AccessKeyペアはコード内でハードコードされず、サービスはリスクにさらされません。
環境変数の設定方法の詳細については、「Linux、macOS、およびWindowsでの環境変数の設定」をご参照ください。
サンプルコードのダウンロード
DescribeDBInstancesページに移動します。
ページの [パラメーター] タブで、必要なパラメーターを設定します。
RegionId: リージョンID。 このパラメーターは、クエリするインスタンスのリージョンを指定します。
ページの [SDKサンプルコード] タブで、SDKバージョンの場合はV2.0、言語の場合はJavaを選択します。 次に、[プロジェクトのダウンロード] をクリックして、サンプルコードパッケージをダウンロードします。
コンピューター上のサンプルコードパッケージを解凍し、alibabacloud_sampleディレクトリにアクセスします。
プロジェクトを開いて実行する
IntelliJ IDEAを使用してプロジェクトを読み込みます。 関連する依存関係がロードされたら、src/main/java/com/aliyun/sample/Sample.javaファイルを開きます。 コード内のコメントに基づいて、返された値を出力するために使用されるコードを追加します。
IDEの右上隅にある [実行] をクリックして、出力ログを表示します。 この例では、次のコンテンツが返されます。
{
"headers": {
"access-control-allow-origin": "*",
"date": "Wed, 26 Jul 2023 05:45:58 GMT",
"keep-alive": "timeout=25",
"transfer-encoding": "chunked",
"vary": "Accept-Encoding",
"x-acs-request-id": "CF00C412-4BB5-5D02-803C-46D0AF71DC23",
"connection": "keep-alive",
"content-type": "application/json;charset=utf-8",
"access-control-expose-headers": "*",
"x-acs-trace-id": "48df4a01d258338ee5327a6a48628426"
},
"statusCode": 200,
"body": {
"DBInstances": {
"DBInstance": [
{
"capacityUnit": "",
"chargeType": "PostPaid",
"creationTime": "2023-07-25T06:32:25Z",
"DBInstanceClass": "mdb.shard.2x.xlarge.d",
"DBInstanceId": "dds-***",
"DBInstanceStatus": "Running",
"DBInstanceStorage": 500,
"DBInstanceType": "replicate",
"engine": "MongoDB",
"engineVersion": "5.0",
"expireTime": "2999-09-08T16:00Z",
"kindCode": "18",
"lockMode": "Unlock",
"mongosList": { "mongosAttribute": [] },
"networkType": "VPC",
"regionId": "cn-shanghai",
"replicationFactor": "3",
"resourceGroupId": "rg-***",
"shardList": { "shardAttribute": [] },
"storageType": "cloud_essd1",
"tags": { "tag": [] },
"zoneId": "cn-shanghai-m"
}
]
},
"pageNumber": 1,
"pageSize": 30,
"requestId": "CF00C412-4BB5-5D02-803C-***",
"totalCount": 3
}
}