函数运行环境及安全隔离性
更新时间:2024-07-05
函数运行时
CFC目前支持的运行环境有Node.js 10, Node.js 12, Node.js 14, Node.js 16, Python 2.7, Python 3.6, Python 3.10, 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仓库中。使用代码时,函数计算都执行完整性检查。代码执行与它自己的文件系统和网络命名空间相隔离。