函数运行环境及安全隔离性
更新时间:2021-11-26
函数运行时
CFC目前支持的运行环境有Node.js 10, Node.js 12, Python 2.7, Python 3.6, Java 8, Golang, PHP 7.2, Lua 4.3, .Net Core 2.2, PowerShell 6.2。 选择以上的运行环境运行CFC函数,各运行环境使用说明文档详见开发语言,如 Python。
运行环境中已经内置了常用的依赖, 可以直接在函数中引用。
函数执行路径
用户的函数会运行在 CFC 定制的容器环境内。函数代码包会被加载到 /var/task
路径上。如果需要读取代码包中包含的其他文件,可以使用绝对路径,或是参考以下代码片段,获取当前文件路径后,根据相对位置拼接完整路径。
Node.js:
const path = require("path");
exports.handler = (event, context, callback) => {
const datafile = path.join(__dirname, "data.txt")
callback(null, datafile);
};
Python:
# -*- coding: utf-8 -*-
import os
def handler(event, context):
currentdir = os.path.dirname(os.path.abspath(__file__))
datafile = os.path.join(currentdir, "data.txt")
return datafile
函数执行安全
函数执行环境是独立安全的,确保安全是函数计算最重要的目标之一。 用户的函数运行环境中的隔离保护和百度云BCC是同一级别的,函数计算是在虚拟机级别隔离运行。 CFC还在网络、数据、代码、防DDos攻击等方面做了完备的保护,确保用户的信息安全。
函数代码安全
函数计算对代码进行校验并将其存储在CFC私有BOS仓库中。使用代码时,函数计算都执行完整性检查。代码执行与它自己的文件系统和网络命名空间相隔离。