通过函数计算的Custom Runtime,您可以使用Node.js在函数计算平台编写函数。由于Custom Runtime提供的Node.js中有一些存量应用,无需改造应用就可以直接将应用迁移到Custom Runtime。本文介绍如何快速部署调用Node.js 10函数和Node.js 12函数。您可按需修改Node.js的示例代码实现二次开发。

操作步骤

部署调用Node.js 10函数

  1. 执行以下命令,初始化项目。
    s init fc-custom-nodejs10-event -d fc-custom-nodejs10-event
    说明 -d用于指定该示例项目文件夹的名称,支持自定义。
  2. 执行以下命令,进入项目目录。
    cd fc-custom-nodejs10-event
  3. 可选:按需修改函数的示例代码,实现二次开发。
  4. 执行以下命令,部署项目。
    s deploy -y
    输出示例:
    [2022-01-26 09:37:29] [INFO] [S-CLI] - Start the pre-action
    ......
    
    helloworld:
      region:   cn-hangzhou
      service:
        name: hello-world-service
      function:
        name:       node10EventFunc
        runtime:    custom
        handler:    index.handler
        memorySize: 1024
        timeout:    30
  5. 执行以下命令,远程调用函数。
    s invoke -e "{}"
    输出示例:
    ========= FC invoke Logs begin =========
    
    Duration: 30.28 ms, Billed Duration: 31 ms, Memory Size: 1024 MB, Max Memory Used: 18.99 MB
    ========= FC invoke Logs end =========
    
    FC Invoke Result:
    OK
    
    
    End of method: invoke

部署调用Node.js 12函数

  1. 执行以下命令,初始化项目。
    s init fc-custom-nodejs12-event -d fc-custom-nodejs12-event
  2. 执行以下命令,进入项目目录。
    cd fc-custom-nodejs12-event
  3. 执行以下命令,构建项目。
    s build --use-docker
    输出示例:
    [2022-01-26 10:30:35] [INFO] [FC-BUILD] - Build artifact start...
    [2022-01-26 10:30:35] [INFO] [FC-BUILD] - Use docker for building.
    [2022-01-26 10:30:35] [INFO] [FC-BUILD] - Build function using image: aliyunfc/runtime-custom:build-1.10.1
    build-1.10.1: Pulling from aliyunfc/runtime-custom
    eb18d230e067: Pulling fs layer
    ......
    Digest: sha256:d97461710526217f55bd45c33fd92b885e0339bcfaf5555741c8b25a4117****
    Status: Downloaded newer image for aliyunfc/runtime-custom:build-1.10.1
    [2022-01-26 10:32:32] [INFO] [FC-BUILD] - Build artifact successfully.
    
    Tips for next step
    ======================
    * Invoke Event Function: s local invoke
    * Invoke Http Function: s local start
    * Deploy Resources: s deploy
    End of method: build
  4. 执行以下命令,部署项目。
    s deploy -y
    输出示例:
    [2022-01-26 10:38:52] [INFO] [S-CLI] - Start the pre-action
    ......
    helloworld:
      region:   cn-hangzhou
      service:
        name: hello-world-service
      function:
        name:       node12EventFunc
        runtime:    custom
        handler:    index.handler
        memorySize: 1024
        timeout:    30
  5. 执行以下命令,远程调用函数。
    s invoke -e "{}"
    输出示例:
    ========= FC invoke Logs begin =========
    
    Duration: 14.52 ms, Billed Duration: 15 ms, Memory Size: 1024 MB, Max Memory Used: 61.39 MB
    ========= FC invoke Logs end =========
    
    FC Invoke Result:
    OK
    
    
    End of method: invoke