数据仓库服务 GAUSSDB(DWS)-创建外部服务器:创建外部服务器

时间:2024-07-01 14:34:02

创建外部服务器

  1. 使用即将创建外部服务器的用户去连接其对应的数据库。

    在本示例中,将使用(可选)新建用户及数据库并授予外表权限中创建的普通用户dbuser连接其创建的数据库mydatabase 。用户需要通过 GaussDB (DWS)提供的数据库客户端连接数据库。

    例如,使用gsql客户端的用户可以通过以下两种方法中的一种进行连接:

    • 如果已经登录了gsql客户端,可以执行以下命令切换数据库和用户:
      1
      \c mydatabase dbuser;
      

      根据提示输入密码。

    • 如果尚未登录gsql客户端,或者已经登录了gsql客户端执行“\q”退出gsql后,执行以下命令重新进行连接:
      1
      gsql -d mydatabase -h 192.168.2.30 -U dbuser -p 8000 -r
      

      根据提示输入密码。

  2. 创建外部服务器。

    例如,执行以下命令创建外部服务器“obs_server”:

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

    1
    2
    3
    4
    5
    6
    7
    8
    CREATE SERVER obs_server FOREIGN DATA WRAPPER dfs_fdw 
    OPTIONS ( 
      address 'obs.cn-north-1.myhuaweicloud.com' , 
      AC CES S_KEY 'access_key_value_to_be_replaced', 
      SECRET_ACCESS_KEY 'secret_access_key_value_to_be_replaced', 
      encrypt 'on',
      type 'obs' 
    );
    

    以下为必选参数的说明:

    • 外部服务器名称

      允许用户自定义名字。

      在本例中指定为“obs_server”

    • FOREIGN DATA WRAPPER

      fdw_name的名字可以是hdfs_fdw或者dfs_fdw,它在数据库中已经存在。

    • OPTIONS参数
      • address

        指定OBS服务的终端节点。

        address的获取方法如下:

        1. 先通过OBS上的数据准备中的2获取OBS路径。
        2. 在OBS上查看到的OBS路径,为OBS服务终端节点(Endpoint):obs.xxx.xxx.com。
      • 访问密钥(AK和SK)(必选)
        GaussDB(DWS)需要通过访问密钥(AK和SK)访问OBS,因此,必须先获取访问密钥。
        • “access_key”(必选):表示用户的AK信息。
        • “secret_access_key”(必选):表示用户的SK信息。

        获取访问密钥的具体步骤,请参见创建访问密钥(AK和SK)

      • type

        取值为“obs”,表示dfs_fdw连接的是OBS。

  3. 查看外部服务器:

    1
    SELECT * FROM pg_foreign_server WHERE srvname='obs_server';
    

    返回结果如下所示,表示已经创建成功:

    1
    2
    3
    4
    5
    6
      srvname   | srvowner | srvfdw | srvtype | srvversion | srvacl |                                                                                      srvoptions
    
    ------------+----------+--------+---------+------------+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    -----------
     obs_server |    24661 |  13686 |         |            |        | {address=xxx.xxx.x.xxx,access_key=xxxxxxxxxxxxxxxxxxxx,type=obs,secret_access_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
    (1 row)
    

support.huaweicloud.com/migration-dws/dws_15_0015.html