更新时间:2024-12-05 GMT+08:00
分享

下载并安装JDBC驱动包

操作场景

JDBC用于连接DLI服务,您可以在Maven获取JDBC安装包,或在DLI管理控制台下载JDBC驱动文件。

本文介绍通过JDBC连接DLI并提交SQL作业。

获取服务端连接地址

连接DLI服务的地址格式为:jdbc:dli://<endPoint>/<projectId>。因此您需要获取对应的Endpoint和项目编号。

地区和终端节点获取DLI对应的Endpoint;在华为云页面上方菜单栏,单击用户名,然后在“我的凭证”页面获取项目编号。

示例:jdbc:dli://dli.cn-north-1.myhuaweicloud.com/96a17d961b84434baec6a58b9e567908。

下载并安装JDBC驱动

JDBC版本2.X版本功能重构后,仅支持从DLI作业桶读取查询结果,如需使用该特性需具备以下条件:

  • 在DLI管理控制台“全局配置 > 工程配置”中完成作业桶的配置。
  • 2024年5月起,新用户可以直接使用DLI服务的“查询结果写入桶”功能,无需开通白名单。

    对于2024年5月之前开通并使用DLI服务的用户,如需使用“查询结果写入桶”功能,必须提交工单申请加入白名单。

  • 方式一:使用Maven中央库来添加JDBC驱动

    Maven中央库是Apache Maven项目的一部分,提供了Java库和框架。

    在不指定JDBC获取方式的情况下,默认使用Maven中央库的方式来添加JDBC驱动。

    使用maven构加入huaweicloud-dli-jdbc依赖的maven配置项为(此为默认操作无需单独配置。)
    1
    2
    3
    4
    5
     <dependency>
        <groupId>com.huawei.dli</groupId>
        <artifactId>huaweicloud-dli-jdbc</artifactId>
        <version>x.x.x</version>
     </dependency>
    
  • 方式二:通过Maven配置华为镜像源来获取JDBC驱动

    在使用Maven管理项目依赖时,可以通过修改settings.xml文件来配置华为镜像源以获取JDBC驱动。

    <mirror>
        <id>huaweicloud</id>
        <mirrorOf>*</mirrorOf>
        <url>https://mirrors.huaweicloud.com/repository/maven/</url>
    </mirror>
  • 方式三:在DLI管理控制台下载JDBC驱动文件
    1. 登录DLI管理控制台。
    2. 单击总览页右侧“常用链接”中的“SDK下载”。
    3. 在“DLI SDK DOWNLOAD”页面,选择相应驱动下载。

      单击“huaweicloud-dli-jdbc-x.x.x”即可下载对应版本的JDBC驱动包。

      JDBC驱动包命名为“huaweicloud-dli-jdbc-<version>.zip”,支持在所有平台(Linux、Windows等)所有版本中使用,且依赖JDK 1.7及以上版本。

    4. 下载的JDBC驱动包中包含了.bat(Windows)或.sh(Linux/Mac)脚本,这些脚本用于自动化安装JDBC驱动到本地Maven仓库。
      您可以根据操作系统运行相应的脚本安装JDBC驱动
      • Windows:双击.bat文件或在命令行中运行。
      • Linux/Mac:运行.sh脚本。

认证鉴权

使用JDBC建立DLI驱动连接时,需要对用户进行认证鉴权。

目前JDBC支持两种认证鉴权方式,Access Key/Secret Key (AK/SK)和Token,其中Token认证仅dli-jdbc-1.x版本支持。推荐使用AK/SK认证方式。
  • (推荐)生成AK/SK
    1. 登录DLI管理控制台。
    2. 在页面右上角的用户名的下拉列表中选择“我的凭证”
    3. “我的凭证”页面,默认显示“项目列表”,切换到“管理访问密钥”页面。
    4. 单击左侧“新增访问密钥”按钮,输入“登录密码”“短息验证码”
    5. 单击“确定”,下载证书。
    6. 下载成功后,在credentials文件中即可获取AK和SK信息。

    认证用的AK和SK硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放, 使用时解密, 确保安全。

  • 获取Token

    当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在JDBC连接参数中配置Token信息,获取Token的详细步骤如下。

    1. 发送POST https://<IAM_Endpoint>/v3/auth/tokens,请参见地区和终端节点,获取命令中IAM的Endpoint及消息体中的区域名称。
      请求内容示例如下。

      下面示例代码中的斜体字需要替换为实际内容,详情请参考《统一身份认证服务API参考》

      {
        "auth": {
          "identity": {
            "methods": [
              "password"
            ],
            "password": {
              "user": {
                "name": "username",
                "password": "password",
                "domain": {
                  "name": "domainname"
                }
              }
            }
          },
          "scope": {
            "project": {
              "id": "0aa253a31a2f4cfda30eaa073fee6477" //假设project_id是“0aa253a31a2f4cfda30eaa073fee6477”
            }
          }
        }
      }
    2. 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。

相关文档