このトピックでは、Alibaba Cloud Darabonba SDK でエンドポイントを設定する方法について説明します。
エンドポイントは、Alibaba Cloud サービス API のドメイン名です。たとえば、Elastic Compute Service (ECS) のエンドポイントは ecs.cn-hangzhou.aliyuncs.com です。各 Alibaba Cloud サービスには、固有のエンドポイントがあります。サービスのエンドポイントは、リージョンによって異なる場合があります。
API リクエストの送信先エンドポイントの設定
Darabonba SDK では、API リクエストの送信先エンドポイントを 2 つのモードで指定できます。次のリストは、優先順位の高い順にモードを示しています。
ユーザー定義エンドポイント: このモードでは、SDK クライアントを初期化するときに正確なエンドポイントを指定できます。
[OpenAPI Explorer] にアクセスして、エンドポイントを照会できます。 OpenAPI Explorer でエンドポイントを照会する方法の詳細については、このトピックの「エンドポイントの照会」セクションをご参照ください。次のサンプルコードは、TypeScript でユーザー定義エンドポイントを指定する方法の例を示しています。
import * as $OpenApi from '@alicloud/openapi-client'; export default class Client { static async main(): Promise<void> { const config = new $OpenApi.Config({ // 認証情報の設定は省略します。 // 指定するエンドポイント。 endpoint: 'Endpoint' }); } }次のサンプルコードは、JavaScript でユーザー定義エンドポイントを指定する方法の例を示しています。
const { Config } = require('@alicloud/openapi-client'); async function main() { const config = new Config({ // 認証情報の設定は省略します。 // 指定するエンドポイント。 endpoint: 'Endpoint' }); }
2. 連結エンドポイント: このモードでは、Darabonba SDK がエンドポイントを生成するためのリージョン ID を指定できます。このモードは、Alibaba Cloud サービスの SDK にエンドポイントデータファイルがある場合にのみ有効です。そうでない場合、SDK クライアントを初期化するときに例外がスローされ、config.endpoint can not be empty というエラーメッセージが返されます。この場合は、正確なエンドポイントを指定する必要があります。エンドポイントデータファイルの例の詳細については、[ECS エンドポイントデータファイル] をご参照ください。アクセスするリージョンがデータファイルに含まれていない場合、リージョンのエンドポイントは ${Alibaba Cloud サービスのコード}.${リージョン ID}.aliyuncs.com 形式で生成されます。次のサンプルコードは、TypeScript で連結エンドポイントを指定する方法の例を示しています。
import * as $OpenApi from '@alicloud/openapi-client';
export default class Client {
static async main(): Promise<void> {
const config = new $OpenApi.Config({
// 認証情報の設定は省略します。
// アクセスするリージョン。
regionId: 'RegionId'
});
}
}次のサンプルコードは、JavaScript で連結エンドポイントを指定する方法の例を示しています。
const { default: Ecs20140526 } = require('@alicloud/ecs20140526');
const { Config } = require('@alicloud/openapi-client');
async function main() {
const config = new Config({
// 認証情報の設定は省略します。
// アクセスするリージョン。
regionId: 'RegionId'
});
}ファイルアップロード用のエンドポイントの設定
Darabonba SDK では、ファイルアップロード用のエンドポイントを 2 つ設定できます。
認証に使用するオープン プラットフォームのエンドポイント。仮想プライベートクラウド (VPC) エンドポイントを設定して、VPC 経由で認証情報をリクエストできます。認証情報は、ファイルのアップロードに使用されます。次のサンプルコードは、TypeScript でオープン プラットフォームのエンドポイントを設定する方法の例を示しています。
import Facebody20191230, * as $Facebody20191230 from '@alicloud/facebody20191230'; import * as $OpenApi from '@alicloud/openapi-client'; import * as $Util from '@alicloud/tea-util'; import { createReadStream } from 'fs'; export default class Client { static async main(): Promise<void> { const config = new $OpenApi.Config({ // 認証情報の設定は省略します。 // アクセスするリージョン。 regionId: 'RegionId', // オープン プラットフォームのエンドポイント。 openPlatformEndpoint: 'openplatform-vpc.cn-shanghai.aliyuncs.com' }); const client = new Facebody20191230(config); const request = new $Facebody20191230.DetectBodyCountAdvanceRequest({ imageURLObject: createReadStream("アップロードするファイルのコンピューター上のディレクトリ"), }); // RuntimeObject インスタンスを作成し、ランタイムパラメーターを設定します。 const runtime = new $Util.RuntimeOptions({}); const resp = await client.DetectBodyCountAdvance(request, runtime); console.log(resp.headers); console.log(resp.body); } }次のサンプルコードは、JavaScript でオープン プラットフォームのエンドポイントを設定する方法の例を示しています。
const { default: Facebody20191230, DetectBodyCountAdvanceRequest } = require('@alicloud/facebody20191230'); const { Config } = require('@alicloud/openapi-client'); const { RuntimeOptions } = require('@alicloud/tea-util'); const { createReadStream } = require('fs'); async function main() { const config = new Config({ // 認証情報の設定は省略します。 // アクセスするリージョン。 regionId: 'RegionId', // オープン プラットフォームのエンドポイント。 openPlatformEndpoint: 'openplatform-vpc.cn-shanghai.aliyuncs.com' }); const client = new Facebody20191230(config); const request = new DetectBodyCountAdvanceRequest({ imageURLObject: createReadStream("アップロードするファイルのコンピューター上のディレクトリ"), }); // RuntimeObject インスタンスを作成し、ランタイムパラメーターを設定します。 const runtime = new RuntimeOptions({}); const resp = await client.DetectBodyCountAdvance(request, runtime); console.log(resp.headers); console.log(resp.body); }ファイルのアップロードに使用するエンドポイント。内部ネットワークまたは VPC 経由でファイルをアップロードするために、内部エンドポイントを設定できます。次のサンプルコードは、TypeScript でファイルのアップロードに使用するエンドポイントを設定する方法の例を示しています。
import Facebody20191230, * as $Facebody20191230 from '@alicloud/facebody20191230'; import * as $OpenApi from '@alicloud/openapi-client'; import * as $Util from '@alicloud/tea-util'; import { createReadStream } from 'fs'; export default class Client { static async main(): Promise<void> { const config = new $OpenApi.Config({ // 認証情報の設定は省略します。 // アクセスするリージョン。 regionId: 'RegionId', // オープン プラットフォームのエンドポイント。 openPlatformEndpoint: 'openplatform-vpc.cn-shanghai.aliyuncs.com', // ファイルのアップロードに使用する OSS エンドポイント。エンドポイントタイプを internal に設定すると、VPC またはクラシックネットワーク経由でファイルを OSS にアップロードするために、内部エンドポイントを使用できます。エンドポイントタイプを accelerate に設定すると、中国国外のアクセラレーションエンドポイントを使用してファイルを OSS にアップロードできます。 endpointType: 'internal' }); const client = new Facebody20191230(config); const request = new $Facebody20191230.DetectBodyCountAdvanceRequest({ imageURLObject: createReadStream("アップロードするファイルのコンピューター上のディレクトリ"), }); // RuntimeObject インスタンスを作成し、ランタイムパラメーターを設定します。 const runtime = new $Util.RuntimeOptions({}); const resp = await client.DetectBodyCountAdvance(request, runtime); console.log(resp.headers); console.log(resp.body); } }次のサンプルコードは、JavaScript でファイルのアップロードに使用するエンドポイントを設定する方法の例を示しています。
const { default: Facebody20191230, DetectBodyCountAdvanceRequest } = require('@alicloud/facebody20191230'); const { Config } = require('@alicloud/openapi-client'); const { RuntimeOptions } = require('@alicloud/tea-util'); const { createReadStream } = require('fs'); async function main() { const config = new Config({ // 認証情報の設定は省略します。 // アクセスするリージョン。 regionId: 'RegionId', // オープン プラットフォームのエンドポイント。 openPlatformEndpoint: 'openplatform-vpc.cn-shanghai.aliyuncs.com', // ファイルのアップロードに使用する OSS エンドポイント。エンドポイントタイプを internal に設定すると、VPC またはクラシックネットワーク経由でファイルを OSS にアップロードするために、内部エンドポイントを使用できます。エンドポイントタイプを accelerate に設定すると、中国国外のアクセラレーションエンドポイントを使用してファイルを OSS にアップロードできます。 endpointType: 'internal' }); const client = new Facebody20191230(config); const request = new DetectBodyCountAdvanceRequest({ imageURLObject: createReadStream("アップロードするファイルのコンピューター上のディレクトリ"), }); // RuntimeObject インスタンスを作成し、ランタイムパラメーターを設定します。 const runtime = new RuntimeOptions({}); const resp = await client.DetectBodyCountAdvance(request, runtime); console.log(resp.headers); console.log(resp.body); }
エンドポイントの照会
[OpenAPI Explorer] でエンドポイントを照会できます。
OpenAPI Explorer のホームページで Alibaba Cloud サービスを選択します。たとえば、ECS を選択できます。

2. [リージョン] タブをクリックします。

3. 指定するリージョンを探し、リージョンのエンドポイントをコピーします。
次の方法を使用してエンドポイントを照会することもできます:
OpenAPI Explorer の [API デバッグ] タブで、呼び出す API オペレーションを探し、RegionId パラメーターを設定します。 OpenAPI Explorer は、エンドポイントを取得できる SDK サンプルコードを自動的に生成します。
