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

bannerAds