Flink CDC 有人用过阿里云的dataphin openapi吗?就sdk那个?

Flink CDC 有人用过阿里云的dataphin openapi吗?就sdk那个?image.png

展开
收起
真的很搞笑 2023-09-19 20:28:53 82 分享 版权
阿里云 AI 助理回答

是的,阿里云的 Dataphin OpenAPI 提供了对 Flink CDC 的支持,并且可以通过 SDK 调用相关功能。以下是关于如何使用 Dataphin OpenAPI 和 Flink CDC 的详细说明:


1. 前提条件

在使用 Dataphin OpenAPI 之前,您需要满足以下条件: - 您必须购买 OpenAPI 功能 才能使用 Dataphin 的 OpenAPI 服务。 - 建议使用 超级管理员账号 调用 AccessKey 和 SecretKey,以便于业务集成。


2. 获取调用信息

要调用 Dataphin OpenAPI,您需要准备以下信息: - 调用地址:服务器接入点信息(域名),可以在 Dataphin 界面的 AccessKey管理页面 获取。 - AccessKey/SecretKey:用于身份认证,新建后需及时下载,关闭对话框后无法再次获取。 - OpTenantId:从 Dataphin 界面浏览器地址栏中获取,例如 https://dataphin.example.com/home/?tenantId=123456,其中 tenantId 的值即为 OpTenantId。


3. 下载和配置 OpenAPI SDK

  1. 下载 SDK

    • AccessKey管理页面,点击 下载OpenAPI SDK 按钮,将文件下载至本地。
    • 解压后包含以下内容:
      • aliyun-java-sdk-dataphin:OpenAPI SDK JAR 包,包含 SDK1.0 和 SDK2.0 接口定义。
      • aliyun-java-sdk-dataphin-core:OpenAPI SDK JAR 包,包含 SDK Client 定义。
      • docdoc-v2:分别为 SDK1.0 和 SDK2.0 的接口文档。
      • example:OpenAPI 开发接入参考示例。
  2. 引入依赖: 在项目中引入以下 Maven 依赖:

    <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>最新版本</version>
       </dependency>
    </dependencies>
    

    注意:由于 Dataphin 的 OpenAPI SDK 依赖阿里云 OpenAPI 三方库 aliyun-java-sdk-core,因此代码编译机器环境需连通公网,方便下载三方库 JAR 包。


4. 调用 OpenAPI 示例

以下是一个使用 SDK 调用 Dataphin OpenAPI 的示例代码:

初始化客户端

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;
}

调用 API 示例

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);
    ListAddableUsersResponse response = getSdkV2Client().getAcsResponse(request);
    System.out.println(response.getPageResult().getTotalCount());
}

说明:上述代码展示了如何通过 SDK 调用 Dataphin 的 OpenAPI 来获取可添加用户列表。


5. Flink CDC 集成场景

Dataphin 支持基于 Flink CDC 的实时数据同步方案,适用于以下场景: - 数据分发:确保数据能够高效、可靠地从源端传输到下游系统(如 Paimon、Kafka、StarRocks 等)。 - 入湖入仓:将分散异构的数据源实时集成到数据湖或数据仓库中,消除数据孤岛。 - 流式集成:支持 YAML API 表达筛选、过滤和自定义函数等数据变换操作,实现流式清洗数据。


6. 常见问题及解决方法

  • Server unreachable: connection http://dataphin-openapi.example.com
    • 可能原因:调用地址不正确或未配置 DNS 解析。
    • 解决方法:使用 curl -k http://dataphin-openapi.example.com/health 确认连通性。
  • Invalid AccessKey 或 Invalid request signature
    • 可能原因:AccessKey/SecretKey 不正确或已被禁用。
    • 解决方法:检查 AccessKey 和 SecretKey 是否正确。
  • Missing required argument OpTenantId
    • 可能原因:缺少公共参数 opTenantId
    • 解决方法:确保在请求中正确设置 opTenantId

7. 调用限制

  • QPS 限制:不同版本的 Dataphin 对 QPS 和每日调用次数有不同的限制。例如:
    • 个人版:总 QPS ≤ 5,每日调用次数 ≤ 100 次。
    • 基础研发版:1 级 API 总 QPS ≤ 50,2 级 API 总 QPS ≤ 20,3 级 API 总 QPS ≤ 5。

通过以上步骤,您可以成功使用 Dataphin OpenAPI 和 Flink CDC 实现企业级实时数据同步方案。如果您有更多疑问,可以联系 Dataphin 技术支持团队获取帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理