函数计算的服务配置NAS挂载点后,您可以通过编写代码访问NAS中的文件,就像访问本地文件系统一样。本文提供编写读写NAS文件的函数代码示例。

前提条件

创建写NAS的函数

  1. 登录函数计算控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击服务/函数
  4. 找到目标服务下的目标函数,单击函数名称。
  5. 单击代码执行页签,在代码编辑器中编写代码。
    本文以Python 2.7为例,代码示例如下。
    import json
    import logging
    import random
    import string
    import os
    
    def handler(event, context):
      logger = logging.getLogger()
      evt = json.loads(event)
      root_dir = evt["root_dir"]
      sub_dir = randomString(16)
      logger.info('uid : ' + str(os.geteuid()))
      logger.info('gid : ' + str(os.getgid()))
      file_name = randomString(6)+'.txt'
      newDir = root_dir + '/' + sub_dir + '/'
      content = "NAS here I come"
      os.mkdir(newDir)
      fw = open(newDir+file_name, "w+")
      fw.write(content)
      fw.close()
      return sub_dir + '/' + file_name
    
    def randomString(n):
      return ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.digits) for _ in range(n))
                            

    其中,通过事件传入的root_dir是配置NAS时填写的本地挂载路径,详情请参见地址配置

创建读NAS的函数

  1. 登录函数计算控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击服务/函数
  4. 找到目标服务下的目标函数,单击函数名称。
  5. 单击代码执行页签,在代码编辑器中编写代码。
    本文以Python 2.7为例,代码示例如下。
    # -*- coding: utf-8 -*-
    
    def handler(event, context):
    
        f = open("/mnt/test/test.txt", "r")
    
        print(f.readline())
        f.close()
        return 'ok'
    该函数的执行结果就是通过写NAS函数写入的内容。