tencent cloud

文档反馈

远程存储映射

最后更新时间:2024-01-13 11:19:28

    操作场景

    远程映射是 Batch 对存储使用相关的辅助功能,能够将 COS、CFS 等远程存储映射到本地的文件夹上。

    前提条件

    请根据 前置准备 里的说明完成准备,并了解如何配置自定义信息里的通用部分。

    操作步骤

    上传输入数据文件

    1. 创建 number.txt 文件,内容如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    2. 登录对象存储控制台,单击左侧导航栏中的存储桶列表
    3. 选择已创建的 Bucket ID>文件列表>input 文件,上传 number.txt。如下图所示:
    
    

    查看和修改 Demo

    说明:
    请在 前置准备 中修改 3_StoreMapping.py 文件自定义信息的通用部分。
    使用编辑器打开 3_StoreMapping.py 文件
    # custom (Change to your info)
    imageId = "img-m4q71qnf"
    Application = {
    "DeliveryForm": "PACKAGE",
    "Command": "python ./codepkg/sumnum.py",
    "PackagePath": "http://batchdemo-xxxxxxxxx.cos.ap-guangzhou.myqcloud.com/codepkg/codepkg.tgz"
    }
    StdoutRedirectPath = "your cos path"
    StderrRedirectPath = "your cos path"
    InputMapping = {
    "SourcePath": "cos://batchdemo-xxxxxxxxx.cos.ap-guangzhou.myqcloud.com/input/",
    "DestinationPath": "/data/input/"
    }
    OutputMapping = {
    "SourcePath": "/data/output/",
    "DestinationPath": "your output remote path"
    }
    2_RemoteCodePkg.py 相比,自定义部分中修改如下表:
    配置项
    描述
    Application
    Command 改为执行 sumnum.py。
    InputMapping
    输入映射。
    SourcePath 远程存储地址:修改为前置准备里 input 文件夹的地址,请参见 获取 COS 相关访问域名
    DestinationPath 本地目录:暂不修改。
    OutputMapping
    输出映射。
    SourcePath 本地目录:暂不修改。
    DestinationPath 远程存储地址:修改为前置准备里 output 文件夹的地址,请参见 获取 COS 相关访问域名
    sumnum.py 的内容如下: 打开文件 input/number.txt,并把每一行的数字相加,然后把结果写到 output/result.txt 里。
    import os
    
    inputfile = "/data/input/number.txt"
    outputfile = "/data/output/result.txt"
    
    def readFile(filename):
    total = 0
    fopen = open(filename, 'r')
    for eachLine in fopen:
    total += int(eachLine)
    fopen.close()
    print "total = ",total
    fwrite = open(outputfile, 'w')
    fwrite.write(str(total))
    fwrite.close()
    
    print("Local input file is ",inputfile)
    readFile(inputfile)

    提交作业

    执行以下命令,执行 Python 脚本。 Demo 中已经通过 Python 脚本 + Batch 命令行工具的形式封装了提交作业流程。
    python 3_StoreMapping.py
    返回结果如下所示,则表示提交成功。
    {
    "RequestId": "8eaeb01e-94a6-41a1-b40f-95f15417c0b4",
    "JobId": "job-97smiptb"
    }
    若未提交成功,请检查返回值排查错误,也可以通过 联系我们

    查看状态

    步骤同简单开始中的 查看状态

    查看结果

    1. 登录对象存储控制台,单击左侧导航栏中的存储桶列表
    2. 选择已创建的 Bucket ID>文件列表>output 文件。如下图所示: Batch 会将输出数据从本地目录靠白道远程存储目录中,3_StoreMapping.py 的执行结果保存在 result.txt 中,result.txt 将自动同步到 COS 中。
    
    result.txt 内容如下所示:
    45
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持