元数据API是Paimon官方提供的一种标准、开源且开放的接口,具有轻量级的SDK依赖,仅包含与Paimon相关的类,不会与您的程序依赖产生冲突。目前,元数据API仅支持在VPC内访问,禁止公网访问。
准备工作
配置VPC白名单
目前,元数据API仅支持在白名单内的VPC访问。开通DLF服务时,系统会自动将用户当前Region下的VPC ID同步至用户级白名单。如后续有新增VPC的需求,您可通过DLF 控制台手动添加对应的VPC ID。操作步骤如下:
登录数据湖构建控制台。
单击左侧菜单栏的系统和安全,进入系统和安全页面。
单击系统安全页签,单击新增VPC ID。
在弹出的对话框中,输入VPC ID,单击确定。
授予角色DLF权限
授予ECS角色RAM权限。如果是EMR集群,则角色为AliyunECSInstanceForEMRRole。
使用阿里云账号或RAM管理员登录RAM控制台。
单击
,查询ECS角色。单击操作列的新增授权,进入新增授权页面。
在权限策略中,查询并勾选AliyunDLFFullAccess,单击确认新增授权。
授予ECS角色DLF权限。
登录数据湖构建控制台。
在Catalog列表页面,单击Catalog名称,进入Catalog详情页。
单击权限页签,单击授权。
在授权页面,配置以下信息,单击确定。
用户/角色:选择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 Server的URI,格式为 | 是 | http://cn-hangzhou-vpc.dlf.aliyuncs.com |
WAREHOUSE | DLF Catalog名称。 | 是 | dlf_test |
TOKEN_PROVIDER | Token提供方,固定为dlf。 | 是 | dlf |
DLF_TOKEN_LOADER | 通过ECS实例颁发临时Token,固定为ecs。 说明 您也可以不使用ECS的鉴权方式,而是通过配置 | 否 | ecs |