AI开发平台MODELARTS-从JupyterLab下载文件至本地:从JupyterLab中下载大于100MB的文件到本地

时间:2024-01-25 21:18:40

从JupyterLab中下载大于100MB的文件到本地

大于100MB的文件需要先从Notebook中上传到OBS,再从OBS下载到本地,具体操作如下:

  1. 在Notebook中,新建一个大于100MB的“ipynb”文件,使用MoXing先将该文件从Notebook上传到OBS中,示例代码如下:
    1
    2
    import moxing as mox
    mox.file.copy('/home/ma-user/work/obs_file.txt', 'obs://bucket_name/obs_file.txt')
    

    其中“/home/ma-user/work/obs_file.txt”为文件在Notebook中的存储路径,“obs://bucket_name/obs_file.txt”为该文件上传到OBS的存储路径,其中“bucket_name”为OBS中创建的桶的名称,“obs_file.txt”为上传的文件。

  2. 使用OBS或ModelArts SDK将OBS中的文件下载到本地。
    • 方式一:使用OBS进行下载
    • 在OBS中,可以将样例中的“obs_file.txt”下载到本地。如果您的数据较多,推荐OBS Browser+下载数据或文件夹。使用OBS下载文件的操作指导参见下载文件
    • 方式二:使用ModelArts SDK进行下载
      1. 在您的本地环境下载并安装ModelArts SDK
      2. 完成ModelArts SDK的Session鉴权
      3. 将OBS中的文件下载到本地,详请参见从OBS下载数据。示例代码如下:
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        from modelarts.session import Session
        
        # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
        # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。
        __AK = os.environ["HUAWEICLOUD_SDK_AK"]
        __SK = os.environ["HUAWEICLOUD_SDK_SK"]
        # 如果进行了加密还需要进行解密操作
        session = Session(access_key=__AK,secret_key=__SK, project_id='***', region_name='***')
        
        session.download_data(bucket_path="/bucket_name/obs_file.txt",path="/home/user/obs_file.txt")
        
support.huaweicloud.com/devtool-modelarts/devtool-modelarts_0187.html