API使用指南

元数据APIPaimon官方提供的一种标准、开源且开放的接口,具有轻量级的SDK依赖,仅包含与Paimon相关的类,不会与您的程序依赖产生冲突。目前,元数据API仅支持在VPC内访问,禁止公网访问。

准备工作

配置VPC白名单

目前,元数据API仅支持在白名单内的VPC访问。开通DLF服务时,系统会自动将用户当前Region下的VPC ID同步至用户级白名单。如后续有新增VPC的需求,您可通过DLF 控制台手动添加对应的VPC ID。操作步骤如下:

  1. 登录数据湖构建控制台

  2. 单击左侧菜单栏的系统和安全,进入系统和安全页面。

  3. 单击系统安全页签,单击新增VPC ID

  4. 在弹出的对话框中,输入VPC ID,单击确定

授予角色DLF权限

  1. 授予ECS角色RAM权限。如果是EMR集群,则角色为AliyunECSInstanceForEMRRole。

    1. 使用阿里云账号或RAM管理员登录RAM控制台

    2. 单击身份管理 > 角色,查询ECS角色。

    3. 单击操作列的新增授权,进入新增授权页面。

    4. 权限策略中,查询并勾选AliyunDLFFullAccess,单击确认新增授权

    image

  2. 授予ECS角色DLF权限。

    1. 登录数据湖构建控制台

    2. Catalog列表页面,单击Catalog名称,进入Catalog详情页。

    3. 单击权限页签,单击授权

    4. 在授权页面,配置以下信息,单击确定

      • 用户/角色:选择RAM用户/RAM角色。

      • 选择授权对象:在下拉列表中选择ECS Role。

        说明

        如果用户下拉列表中未找到ECS Role,可以在系统和安全 > 访问控制 > 用户管理页面单击同步

      • 预置权限类型:选择Data Editor。

添加Maven依赖

如果您使用Java编程并希望引用API SDK,可以添加以下Maven依赖。

<dependency>
  <groupId>org.apache.paimon</groupId>
  <artifactId>paimon-api</artifactId>
  <version>1.2.0</version>
</dependency>

您也可以直接下载JAR文件paimon-api-1.2.0.jar

创建REST API

推荐使用ECS Role来进行DLF REST的鉴权。

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 Catalog ServerURI,格式为http://[region-id]-vpc.dlf.aliyuncs.com。详见服务接入点中的Region ID。

http://cn-hangzhou-vpc.dlf.aliyuncs.com

WAREHOUSE

DLF Catalog名称。

dlf_test

TOKEN_PROVIDER

Token提供方,固定为dlf。

dlf

DLF_TOKEN_LOADER

通过ECS实例颁发临时Token,固定为ecs。

说明

您也可以不使用ECS的鉴权方式,而是通过配置 RESTCatalogOptions 中的 DLF_ACCESS_KEY_ID 和 DLF_ACCESS_KEY_SECRET,直接连接DLF REST服务。

ecs