用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库的压缩文件。