Shell类型节点支持使用OSS命令行工具ossutil。本文将详细介绍如何在Shell和EMR Shell节点中使用ossutil命令行工具。
前提条件
- EMR Shell节点使用前提条件,详情请参见EMR Shell节点使用前提条件。 
- 通用Shell节点使用前提条件,详情请参见通用Shell节点使用前提条件。 
使用限制
- EMR Shell节点使用限制,详情请参见EMR Shell节点使用限制。 说明- 目前,EMR Shell节点的Serverless资源组中的EMR Shell镜像尚未支持ossutil命令行工具。若您有相关需求,可考虑使用通用Shell节点或通过自定义镜像进行安装。如需通过自定义镜像进行安装,详情请参见镜像管理。 
- 通用Shell节点使用限制,详情请参见通用Shell节点使用限制。 
通过Shell类型节点使用ossutil命令行工具列举账号下的Bucket
在DataWorks平台上,无论是EMR Shell节点还是通用Shell节点,都支持使用ossutil命令行工具进行操作,且访问方式相同。以下将以通用Shell节点为例,介绍两种方法来使用ossutil命令行工具列举账号下的Bucket。您也可以参考ossutil的常用命令,以满足您的具体业务需求。详情请参见相关文档ossutil常见命令。
命令行选项方式
- 新建通用Shell节点。 - 进入数据开发页面。 - 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的,在下拉框中选择对应工作空间后单击进入数据开发。 
- 新建通用Shell节点。 - 在数据开发页面右键单击目标业务流程,选择新建节点,在通用目录下选择Shell节点进行创建。 
 
- 编辑节点内容。 - /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"说明- 您需将代码中的 - OSSEndPoint、- AccessKeyID、- AccessKeySecret信息替换成实际值。参数详情请参见配置ossutil。
- 结果验证。 - 点击  ,选择Serverless资源组,执行通用Shell节点任务。结果如下: ,选择Serverless资源组,执行通用Shell节点任务。结果如下: 
命令配置文件方式
- 配置并上传ossutil配置文件至OSS。 - 准备配置文件。 - 在本地创建 - myconfig.txt文件,文件内容示例如下:- [Credentials] language = CH endpoint = https://oss-cn-hangzhou.aliyuncs.com accessKeyID = <AccessKeyID> accessKeySecret = <AccessKeySecret>说明- 您需将代码中的 - https://oss-cn-hangzhou.aliyuncs.com、- AccessKeyID、- AccessKeySecret信息替换成实际值。参数详情请参见配置ossutil。
- 上传配置文件。 - 将 - myconfig.txt文件上传到OSS。详情请参见简单上传。
- 查看下载链接。 - 单击上传到OSS的文档对应的操作项的详情,关闭使用HTTPS后单击复制文件URL。   
 
- 下载Config文件至Serverless资源组。 - 在DataWorks的镜像管理页面,创建自定义镜像,下载Config文件至Serverless资源组。 - 创建镜像。 - 登录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。
 - 单击下方确认按钮完成镜像创建。 
- 测试发布。 - 单击您所创建的镜像右侧操作列中的发布,进入发布镜像页面,选择测试资源组,单击测试结果右侧的测试。等待测试成功,单击下方发布按钮进行发布。 
 
- 按照命令配置文件的方式使用ossutil命令行工具。 - 新建通用Shell节点。 - 进入数据开发页面。 - 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的,在下拉框中选择对应工作空间后单击进入数据开发。 
- 新建通用Shell节点。 - 在数据开发页面右键单击目标业务流程,选择新建节点,在通用目录下选择Shell节点进行创建。 
 
- 编辑节点内容。 - /home/admin/usertools/tools/ossutil64 -c /home/admin/usertools/tools/myconfig.txt ls -s
- 结果验证。 - 单击  ,选择您在测试发布镜像过程中测试成功的Serverless资源组和所创建的自定义镜像,执行通用Shell节点任务。结果如下: ,选择您在测试发布镜像过程中测试成功的Serverless资源组和所创建的自定义镜像,执行通用Shell节点任务。结果如下: