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

Dataphin:Dataphin-OpenAPI ドキュメント

最終更新日:Feb 06, 2025

Dataphin のオープンプラットフォームは OpenAPI 機能を提供しており、OpenAPI 呼び出しを通じて Dataphin の機能を活用してアプリケーションの統合とインタラクションを実現できます。

前提条件

OpenAPI 機能を購入する必要があります。

権限の説明

シームレスなビジネス統合を実現するために、スーパー管理者アカウントを使用して AccessKey と SecretKey を呼び出すことをお勧めします。

制限事項

現在、OpenAPI の呼び出しをサポートしているのは Java SDK のみです。 Python やその他の言語はまだサポートされていません。

ステップ 1:OpenAPI 使用の準備

  1. Dataphin インターフェイスで、右上隅にあるプロフィール写真をクリックしてユーザーセンターにアクセスし、[ユーザーアカウント] をクリックします。

  2. 左側のナビゲーションウィンドウで [API アクセス] > [アクセスキー管理] に移動して [アクセスキー管理] ページに入り、エンドポイント、AccessKey、SecretKey などの詳細を取得します。

    • エンドポイント: ドメイン名など、サーバーのアクセスポイント情報を指します。これは Dataphin バージョン 4.1 より前は表示されませんでした。この情報を取得するには、運用およびメンテナンスデプロイメントチームにお問い合わせください。

    • AccessKey/SecretKey: アクセスキーリストエリアで、[アクセスキーの作成] ボタンをクリックして AccessKey/SecretKey を取得します。

      ダイアログボックスを閉じると AccessKey Secret を取得できなくなるため、AccessKey ファイルを速やかにダウンロードしてください。

    • OpTenantId: これはテナント ID で、Dataphin インターフェイス内のブラウザのアドレスバーに表示されます。たとえば、URL https://dataphin.example.com/home/?tenantId=123456 では、tenantId の値は 123456 です。プロジェクト ID はめったに変更されないため、定数または設定項目として保存できます。

ステップ 2:OpenAPI SDK の使用

OpenAPI SDK の取得

[アクセスキー管理] ページで、[openapi SDK のダウンロード] ボタンをクリックします。ダウンロードが完了したら、ファイルを解凍して、図のように内容を表示します。

image

圧縮パッケージの内容

説明

aliyun-java-sdk-dataphin

OpenAPI SDK JAR パッケージ。Maven プロジェクトに導入できます。SDK1.0 および SDK2.0 インターフェイスの入力と出力の定義が含まれています。

aliyun-java-sdk-dataphin-core

OpenAPI SDK JAR パッケージ。Maven プロジェクトに導入できます。API の進化と最適化により、Dataphin は API 呼び出しごとに異なる SDK バージョンを提供しています。

  • SDK クライアント定義が含まれています。

  • SDK1.0 クライアント: com.aliyuncs.dataphin.DataphinAcsClient

  • SDK2.0 クライアント: com.aliyuncs.DefaultAcsClient

  • SDK1.0 と SDK2.0 の違い:

    • SDK1.0 は Java 開発アクセスをサポートしています。

    • SDK2.0 は Java、Python、Go、およびその他の開発アクセスをサポートしています。詳細については、「SDK のインストール」をご参照ください。

doc

Dataphin OpenAPI - SDK1.0 インターフェイスドキュメント:

  • Markdown ファイル形式です。Markdown ツールで開くことをお勧めします。

  • Dataphin V4.5.0 以降、新しい OpenAPI インターフェイスは追加されません。

doc-v2

Dataphin OpenAPI - SDK2.0 インターフェイスドキュメント:

  • PDF ファイル形式です。

  • SDK1.0 のインターフェイスは徐々に 2.0 に移行されています。

example

OpenAPI 開発アクセスリファレンス例。

SDK を使用して API インターフェイスを呼び出す

SDK パッケージのサンプルプロジェクトを参照し、次の 3 つの JAR パッケージの Maven 依存関係を含めます。

aliyun-java-sdk-dataphin は SDK パッケージに含まれています。

aliyun-java-sdk-dataphin-core は SDK パッケージに含まれています。

aliyun-java-sdk-core は Maven パブリックリポジトリから入手できます。

説明

Dataphin の OpenAPI SDK は Alibaba Cloud OpenAPI サードパーティライブラリ: aliyun-java-sdk-core に依存しているため、コードコンパイルの環境はパブリックネットワークにアクセスして必要なサードパーティ ライブラリ JAR パッケージをダウンロードできる必要があります。

<dependencies>
  <dependency>
    <groupId>com.alibaba.dataphin</groupId>
    <artifactId>aliyun-java-sdk-dataphin</artifactId>
    <version>${取得した SDK.JAR のバージョンに応じて特定のバージョンが決まります}</version>
    <systemPath>${JAR パス}/aliyun-java-sdk-dataphin-{SDK バージョン}.JAR</systemPath>
  </dependency>
  <dependency>
    <groupId>com.alibaba.dataphin</groupId>
    <artifactId>aliyun-java-sdk-dataphin-core</artifactId>
    <version>${取得した SDK.JAR のバージョンに応じて特定のバージョンが決まります}</version>
    <systemPath>${JAR パス}/aliyun-java-sdk-dataphin-core-{SDK バージョン}.JAR</systemPath>
  </dependency>
  <dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.5.3</version>
  </dependency>
</dependencies>

Idea コンパイラが必要な JAR パッケージを見つけられない場合は、以下に示すように手動で追加できます。

image

API 呼び出しのコード例

package com.example.demo;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.dataphin.DataphinAcsClient;
import com.aliyuncs.dataphin.model.v20200830.security.ListUsersRequest;
import com.aliyuncs.dataphin.model.v20200830.security.ListUsersResponse;
import com.aliyuncs.dataphin_public.model.v20230630.ListAddableUsersRequest;
import com.aliyuncs.dataphin_public.model.v20230630.ListAddableUsersResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {

    private static final Logger log = LoggerFactory.getLogger(Main.class);

    /**
     * regionId: カスタマイズ可能、例:dataphin
     */
    public static final String REGION_ID = "dataphin";

    /**
     * endpoint: Dataphin の OpenAPI サービスアドレス。運用およびメンテナンスデプロイメントチームに連絡して取得してください
     */
    public static final String ENDPOINT = "dataphin-openapi.env16.aliyun.com";

    /**
     * accessKey: Dataphin の AK。Dataphin の右上隅にある [個人情報 - 個人センター - アクセスキー管理] から取得します。現在の個人の ID を表すため、スーパー管理者アカウントを使用して呼び出すことをお勧めします。
     */
    public static final String ACCESS_KEY = "******";

    /**
     * secret: Dataphin の SK。上記と同じ方法で取得します
     */
    public static final String ACCESS_SECRET = "******";
    
    /**
     * テナント ID。Dataphin インターフェイスのブラウザのアドレスバーから取得します
     * 例: [https://dataphin.example.com/home/?tenantId=123456]、tenantId は 123456 です。プロジェクトは簡単には変更されないため、定数または設定項目として保存できます
     */
    public static final Long TENANT_ID = 123456L;


    /**
     * ステップ 2: 呼び出し例、テナント ID に基づいてユーザーリストを取得します
     *
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        // SDK v1.0 呼び出し例
        testBySdkV1();
        //SDK v2.0 呼び出し例
        testBySdkV2();
    }

    /**
     * SDK v1.0 呼び出し例
     * SDK v1.0 のすべてのインターフェイスリクエストは、ディレクトリ com.aliyuncs.dataphin.model.v20200830 にあります
     * @throws ClientException
     */
    private static void testBySdkV1() throws ClientException {
        ListUsersRequest request = new ListUsersRequest();
        ListUsersRequest.UserPagedQuery query = new ListUsersRequest.UserPagedQuery();
        request.setOpTenantId(TENANT_ID);
        query.setPage(1);
        query.setPageSize(20);
        request.setUserPagedQuery(query);
        try {
            ListUsersResponse response = getSdkV1Client().getAcsResponse(request);
            System.out.println(response.getData().getTotalCount());
        } catch (ClientException e) {
            log.error(e.getMessage(), e);
            System.out.println(e.getMessage());
            throw e;
        }
    }

    /**
     * SDK v2.0 呼び出し例
     * SDK v2.0 のすべてのインターフェイスリクエストは、ディレクトリ com.aliyuncs.dataphin_public.model.v20230630 にあります
     * @throws ClientException
     */
    private static void testBySdkV2() throws ClientException {
        ListAddableUsersRequest request = new ListAddableUsersRequest();
        request.setOpTenantId(TENANT_ID);
        ListAddableUsersRequest.ListQuery listQuery = new ListAddableUsersRequest.ListQuery();
        listQuery.setPage(1);
        listQuery.setPageSize(20);
        request.setListQuery(listQuery);

        try {
            ListAddableUsersResponse response = getSdkV2Client().getAcsResponse(request);
            System.out.println(response.getPageResult().getTotalCount());
        } catch (ClientException e) {
            log.error(e.getMessage(), e);
            System.out.println(e.getMessage());
            throw e;
        }
    }

    /**
     * Dataphin OpenAPI - SDK2.0 クライアント接続メソッド
     * @return
     */
    static DefaultAcsClient clientV2 = null;
    public static synchronized DefaultAcsClient getSdkV2Client() {
        if(clientV2!= null) {
            return clientV2;
        }
        DefaultProfile profile = DefaultProfile.getProfile(REGION_ID, ACCESS_KEY, ACCESS_SECRET);
        DefaultProfile.addEndpoint(REGION_ID, "dataphin-public", ENDPOINT);
        profile.getHttpClientConfig().setIgnoreSSLCerts(true);
        clientV2 = new DefaultAcsClient(profile);
        return clientV2;
    }

    /**
     * Dataphin OpenAPI - SDK1.0 クライアント接続メソッド
     * @return
     */
    static DataphinAcsClient  clientV1 = null;
    public static synchronized DataphinAcsClient getSdkV1Client() {
        if(clientV1 != null) {
            return clientV1;
        }
        DefaultProfile profile = DefaultProfile.getProfile(REGION_ID, ACCESS_KEY, ACCESS_SECRET);
        DefaultProfile.addEndpoint(REGION_ID, "dataphin", ENDPOINT);
        profile.getHttpClientConfig().setIgnoreSSLCerts(true);
        clientV1 =  new DataphinAcsClient(profile);
        return clientV1;
    }
}

OpenAPI FAQ

以下は、一般的な API エラーです。特定の API エラーメッセージについては、API ドキュメントを参照するか、Dataphin テクニカルサポートにお問い合わせください。

OpenAPI エラー

解決策

Server unreachable:connectionhttp://dataphin-openapi.example.com

エンドポイントが正しくないか、DNS 解決が設定されていません。ドメイン名が正しいかどうか、または IP が正しく解決できるかどうかを確認してください。

コマンド curl -k http://dataphin-openapi.example.com/health を入力して、エンドポイントの接続性を確認します。ターゲットサーバーが正常な場合は、RUNNING が返されます。

Invalid AccessKey または Invalid request signature

呼び出された AccessKey/SecretKey が正しくないか、呼び出された AccessKey が無効になっています。確認してください。

Missing required argument OpTenantId

共通パラメーター opTenantId がありません。OpenAPI 使用の準備を参照してください。

User XXXXX is not in tenant XXXXX または Tenant XXXXX is not exist

共通パラメーター opTenantId が正しくありません。OpenAPI 使用の準備を参照してください。