Shell类型节点使用OSSUtils工具

Shell类型节点支持使用OSS命令行工具OSSUtils。本文将详细介绍如何在Shell和EMR Shell节点中使用OSSUtils命令行工具。

前提条件

使用限制

  • EMR Shell节点使用限制,详情请参见EMR Shell节点使用限制

    说明

    目前,EMR Shell节点的Serverless资源组中的EMR Shell镜像尚未支持OSSUtils命令行工具。若您有相关需求,可考虑使用Shell节点或通过自定义镜像进行安装。如需通过自定义镜像进行安装,详情请参见镜像管理

  • 通用Shell节点使用限制,详情请参见通用Shell节点使用限制

通过Shell类型节点使用OSSUtils命令行工具列举账号下的Bucket

在DataWorks平台上,无论是EMR Shell节点还是通用Shell节点,都支持使用OSSUtils命令行工具进行操作,且访问方式相同。以下将以通用Shell节点为例,介绍两种方法来使用OSSUtils命令行工具列举账号下的Bucket。您也可以参考OSSUtils的常用命令,以满足您的具体业务需求。详情请参见相关文档OSSUtils常见命令

命令行选项方式

  1. 新建通用Shell节点。

    1. 进入数据开发页面。

      登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

    2. 新建通用Shell节点。

      在数据开发页面右键单击目标业务流程,选择新建节点,在通用目录下选择Shell节点进行创建。

  2. 编辑节点内容。

    /home/admin/usertools/tools/ossutil64 -e <OSSEndPoint> -i <AccessKeyID> -k <AccessKeySecret> ls -s 
    if [[ $? == 0 ]];then
        echo "access oss success"
    else
        echo "failed"
        exit 1
    fi
    echo "finished"
    说明

    您需将代码中的OSSEndPointAccessKeyIDAccessKeySecret信息替换成实际值。参数详情请参见配置OSSUtils

  3. 结果验证。

    点击image,选择Serverless资源组,执行通用Shell节点任务。结果如下:

    image

命令配置文件方式

  1. 配置并上传OssUtils配置文件至OSS。

    1. 准备配置文件。

      在本地创建myconfig.txt文件,文件内容示例如下:

      [Credentials]
      language = CH
      endpoint = https://oss-cn-hangzhou.aliyuncs.com
      accessKeyID = <AccessKeyID>
      accessKeySecret = <AccessKeySecret>
      说明

      您需将代码中的https://oss-cn-hangzhou.aliyuncs.comAccessKeyIDAccessKeySecret信息替换成实际值。参数详情请参见配置OSSUtils

    2. 上传配置文件。

      myconfig.txt文件上传到OSS。详情请参见简单上传

    3. 查看下载链接。

      单击上传到OSS的文档对应的操作项的详情,关闭使用HTTPS后单击复制文件URL

      image

      image

  2. 下载Config文件至Serverless资源组。

    在DataWorks的镜像管理页面,创建自定义镜像,下载Config文件至Serverless资源组。

    1. 创建镜像。

      登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的镜像管理,在镜像管理页面找到自定义镜像页签,单击下方创建镜像按钮进行创建。您可在创建镜像页面参考以下参数进行创建镜像:

      参数

      示例值

      镜像名称

      自定义命令名称。

      镜像描述

      自定义命令描述。

      引用类型

      DataWorks官方镜像(默认)。

      镜像命名空间

      DataWorks Default(默认)。

      镜像仓库

      DataWorks Default(默认)。

      镜像名称/ID

      选择dataworks_shell_task_pod:xxx:DataWorks Shell节点官方镜像。

      可见范围

      您可根据业务情况进行选择:

      • 仅创建者可见。

      • 全域可见。

      使用子产品

      数据开发(默认)。

      支持任务类型

      Shell(默认)。

      安装包

      安装包下拉框选择Script方式。并在命令框输入以下命令:

      # 下载
      wget 'http://<yourConfigURL>' -O /home/admin/usertools/tools/<configName>
      说明
      • http://<yourConfigURL>参数您需替换成从OSS的文档详情中复制的文件URL。

      • <configName>参数您可设置为需从OSS中下载的文件名myconfig.txt

      单击下方确认按钮完成镜像创建。

    2. 测试发布。

      单击您所创建的镜像右侧操作列中的发布,进入发布镜像页面,选择测试资源组,单击测试结果右侧的测试。等待测试成功,单击下方发布按钮进行发布。

  3. 按照命令配置文件的方式使用OSSUtils命令行工具。

    1. 新建通用Shell节点。

      1. 进入数据开发页面。

        登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

      2. 新建通用Shell节点。

        在数据开发页面右键单击目标业务流程,选择新建节点,在通用目录下选择Shell节点进行创建。

    2. 编辑节点内容。

      /home/admin/usertools/tools/ossutil64 -c /home/admin/usertools/tools/myconfig.txt ls -s
    3. 结果验证。

      单击image,选择您在测试发布镜像过程中测试成功的Serverless资源组和所创建的自定义镜像,执行通用Shell节点任务。结果如下:

      image