ModelArts用obsutil实现跨区域复制OBS桶内数据
1.案例介绍
本案例将在ModelArts的jupyterlab内用obsutil工具实现OBS桶的跨区域复制,本案例的源桶在区域华北-北京四
,目标桶所在区域为华北-北京一
,你也可以根据自身需求选择需要传输的目标区域。
2.准备工作
在此处点击创建桶
,分别在区域华北-北京一
,华北-北京四
创建OBS桶。如下图所示。
点击立即创建得到实验桶。
3. ModelArts控制台进入CodeLab Notebook
CodeLab介绍
面向众多开发者,ModelArts提供了CodeLab功能,一方面,一键进入开发环境,同时预置了免费的算力规格,可直接免费体验Notebook功能;另一方面,针对AIGallery社区发布的Notebook样例(.ipynb格式文件),可直接在CodeLab中打开,查看他人分享的样例代码。
CodeLab是一个在线的JupyterLab开发环境,其详细介绍可参考此文档。
如果你是第一次使用JupyterLab,可参考此文档了解基本使用方法。
同时,您开发的代码,也可通过CodeLab快速分享到AI Gallery中给他人使用学习。
点击此处进入ModelArts界面,再参考下图点击进入CodeLab
新建一个Conda-python3 Notebook,拷贝下面代码运行。
1.执行wget命令下载obsutil工具。
!wget https://obs-community.obs.cn-north-1.myhuaweicloud.com/obsutil/current/obsutil_linux_amd64.tar.gz
2.在软件包所在目录,执行以下解压命令。
!tar -xzvf obsutil_linux_amd64.tar.gz
3.进入obsutil所在目录,为obsutil增加可执行权限。
cd obsutil_linux_amd64_5.3.4
!chmod 755 obsutil
以上步骤目的是安装obsutil,obsutil支持使用客户端跨区域复制模式进行复制,即通过数据流的方式从源桶直接复制数据到目标桶,且两个桶可以是任意两个OBS服务的桶;借助客户端跨区域复制模式即可实现相同帐户下不同区域桶或不同帐户间桶内对象的复制;跨帐号复制对象具体步骤如下:
4.使用obsutil config命令配置源桶对应帐号的AK、SK及endpoint信息:
AK、SK及endpoint信息获取方式具体参考这里,
src_ak指的是源桶的ak,src_sk指的是源桶的sk,src_endpoint指的是源桶的区域服务地址。
!./obsutil config -i=src_ak -k=src_sk -e=src_endpoint -crr
例如!./obsutil config -i=7H*************F5 -k=IC****************qoL1 -e=https://obs.cn-north-4.myhuaweicloud.com -crr
5.使用obsutil config命令配置目标桶对应帐号的AK、SK及endpoint信息:
dst_ak指的是目标桶的ak,dst_sk指的是目标桶的sk,dst_endpoint指的是目标桶的区域服务地址。
!./obsutil config -i=_dst\_ak_ -k=_dst\_sk_ -e=_dst\_endpoint_
例如!./obsutil config -i=7H***********XF5 -k=IC****************qoL1 -e=https://obs.cn-north-1.myhuaweicloud.com
6.调用cp命令,指定采用跨区域复制模式将源桶对象复制到目标桶:
!./obsutil cp obs://src-bucket obs://dst-bucket -f -r -crr
例如!./obsutil cp obs://liufan-lab obs://liufan-labbj2 -f -r -crr
运行成功效果如下:
至此,你已经实现了跨区域复制OBS桶内容,本案例结束。
- 点赞
- 收藏
- 关注作者
评论(0)