阿里云函数计算小坑记

  • 依赖的安装
  • 文件读写权限控制
  • 沙箱环境
  • 实战案例

Aliyun FAAS

特定系统的依赖

依赖安装小技巧

由于部分依赖是通过 C++ 编译而成,本地依赖未必能在线上运行,所以,需要使用 docker 进入沙箱进行依赖的安装。比如:leveldown

# 本地 shell
$ fcli shell
# faas shell
>>> cd xxx
>>> sbox -d xxx -t nodejs8
# docker shell
root@xxx:/code# npm i
root@xxx:/code# node index.js
root@xxx:/code# exit
# faas shell
>>> upf xxx -t nodejs8 -h index.handler -d xxx

Permission denied

 [error] OpenError: IO error: cedict_db/LOCK: Permission denied

chmod -R 777 /xxx

IO Error

阿里云 FAAS 本地是没有 IO 权限的,比如使用 levelup ,所以需要修改为 /tmp 下的路径

var db = levelup(leveldown('./mydb'))
==>
var db = levelup(leveldown('/tmp/mydb'))

Aliyun FAAS 沙箱

install docker

Download it & double click. ref

incorrect username or password

docker: Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/latest: unauthorized: incorrect username or password. 

Use username instead of email can fix this issue. ref

实战案例

BDC(Break Dark Cloud), 关于日期的拼音