メタデータ API は、標準的かつオープンソースの Paimon インターフェイスです。対応するソフトウェア開発キット(SDK)は軽量な依存関係を持ち、Paimon 関連のクラスのみを含むため、ご利用のプログラムとの依存関係の競合を回避できます。この API は、Data Lake Formation(DLF)の仮想プライベートクラウド(VPC)エンドポイントを通じて低遅延でアクセス可能であり、Alibaba Cloud OpenAPI エンドポイントを介してパブリックネットワーク経由でのアクセスもサポートしています。パブリックネットワーク経由のアクセスは、クロスリージョンのシナリオやローカルデバッグに有効です。OpenAPI エンドポイントへのリクエスト署名には、Paimon 1.4 クライアントが必要です。
事前準備
VPC ホワイトリストの設定
デフォルトでは、メタデータ API はホワイトリストに登録された VPC のみからアクセス可能です。DLF サービスを有効化すると、システムが自動的に現在のリージョン内の VPC ID をユーザー単位のホワイトリストに同期します。新しい VPC を追加する場合は、DLF コンソールから手動で VPC ID を登録してください。以下の手順に従って操作します:
Data Lake Formation コンソール にログインします。
左側のナビゲーションウィンドウで、[システムとセキュリティ] をクリックします。
[システムセキュリティ] タブをクリックし、その後 [VPC ID の追加] をクリックします。
表示されるダイアログボックスで VPC ID を入力し、[OK] をクリックします。
ロールへの DLF 権限の付与
Elastic Compute Service(ECS)ロールに Resource Access Management(RAM)権限を付与します。EMR クラスターの場合、該当ロールは AliyunECSInstanceForEMRRole です。
Alibaba Cloud アカウントまたは RAM 管理者として、Resource Access Management(RAM)コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択し、ECS ロールを検索します。
[操作] 列で [権限の追加] をクリックします。
[アクセスポリシー] セクションで AliyunDLFFullAccess を検索・選択し、[承認の確認] をクリックします。

ECS ロールに DLF 権限を付与します。
Data Lake Formation コンソール にログインします。
[カタログ] ページで、任意のカタログ名をクリックして詳細ページを開きます。
[権限] タブをクリックし、その後 [権限付与] をクリックします。
権限付与ページで以下のパラメーターを設定し、[OK] をクリックします。
[ユーザー/ロール]:RAM ユーザー/RAM ロールを選択します。
[権限付与対象の選択]:ドロップダウンリストから ECS ロールを選択します。
説明ドロップダウンリストに ECS ロールが表示されない場合は、 ページに移動し、[同期] をクリックしてください。
[事前定義済み権限タイプ]:[データエディター] を選択します。
Maven 依存関係の追加
Java を使用しており、API SDK を参照したい場合は、以下の Maven 依存関係を追加します:
<dependency>
<groupId>org.apache.paimon</groupId>
<artifactId>paimon-api</artifactId>
<version>1.3.0</version>
</dependency>また、JAR ファイルを直接ダウンロードすることもできます:paimon-api-1.3.0.jar。
REST API の作成
DLF REST 認証には ECS ロールを使用します。
import org.apache.paimon.options.Options;
import org.apache.paimon.rest.RESTApi;
import static org.apache.paimon.options.CatalogOptions.WAREHOUSE;
import static org.apache.paimon.rest.RESTCatalogOptions.DLF_TOKEN_LOADER;
import static org.apache.paimon.rest.RESTCatalogOptions.TOKEN_PROVIDER;
import static org.apache.paimon.rest.RESTCatalogOptions.URI;
public class RESTApiExample {
public static void main(String[] args) {
Options options = new Options();
options.set(URI, "http://cn-hangzhou-vpc.dlf.aliyuncs.com");
options.set(WAREHOUSE, "dlf_test");
options.set(TOKEN_PROVIDER, "dlf");
options.set(DLF_TOKEN_LOADER, "ecs");
RESTApi api = new RESTApi(options);
System.out.println(api.listTables("my_database"));
}
}以下の表に、各パラメーターの説明を示します。
パラメーター | 説明 | 必須 | 例 |
URI | DLF REST カタログサーバーへのアクセス URI です。形式は | はい | http://cn-hangzhou-vpc.dlf.aliyuncs.com |
WAREHOUSE | DLF カタログ名です。 | はい | dlf_test |
TOKEN_PROVIDER | トークンプロバイダーです。値は固定で dlf です。 | はい | dlf |
DLF_TOKEN_LOADER | ECS インスタンス経由で一時トークンを発行します。値は固定で ecs です。 説明 代替として、ECS 認証を経由せず、DLF REST サービスに直接接続することも可能です。その場合、 | いいえ | ecs |