用AWS Lambda Layers来创建Python或Node.js的压缩文件的便捷方法
由于AWS Lambda Layers的发布,使用外部库在Lambda中变得更加容易。
要在Mac上上传外部库,可以按照以下步骤进行操作。
Python (中文: Python)
mkdir python
pip install -t ./python numpy #(入れたいモジュール名)
zip -r upload.zip ./python
节点
mkdir nodejs
npm install -p ./nodejs lodash #(入れたいモジュール名)
zip -r upload.zip ./nodejs
这个方法存在的问题 (Zhè ge de
-
- Macでライブラリのzipを作ると、lambdaで動かないことがある
- Windowsの標準zipでは、lambdaにアップしてもダメ
你要怎么办?
在Gitlab的CI中创建一个zip文件,就可以轻松获取在Amazon Linux环境中创建的zip文件。
基拉布
-
- アカウント作成
- プロジェクト作成
请完成。
实际的CI文件
我会创建 .gitlab-ci.yml 文件。
我认为可以在网页控制台上进行操作。
具体内容如下所示。
stages:
- pymodule_zip
- nodemodule_zip
pymodule_zip:
image: lambci/lambda:build-python3.7
stage: pymodule_zip
artifacts:
paths:
- python
script:
- mkdir python
- pip install ${PYTHON_PACKAGES} -t ./python
only:
variables:
- $PYTHON_PACKAGES
nodemodule_zip:
image: lambci/lambda:build-nodejs8.10
stage: nodemodule_zip
artifacts:
paths:
- nodejs
script:
- mkdir nodejs
- npm i --prefix nodejs ${NODE_PACKAGES}
only:
variables:
- $NODE_PACKAGES
我会以带有环境变量的方式运行CI。
使用PYTHON_PACKAGES可以创建Python库的压缩文件,
使用NODE_PACKAGES可以创建Node库的压缩文件。