0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS Lambda LayersへZenpyをデプロイしてみる

Last updated at Posted at 2020-10-07

Zendesk APIをPythonから簡単に呼び出せるようにするラッパーZenpyをAWS Lambda Layerに入れてみます。

なぜLambda Layerを使うのか?

AWS Lambdaへプログラムをデプロイする際に関連するライブラリ群も一緒に入れる必要があります。そのため、複雑なプログラムになるとデプロイパッケージが肥大化しがちでした。
ライブラリやカスタムランタイム、その他の依存関係をまとめたZIPパッケージです。

この記事で行うこと

AWS Lambda LayerへZenpyライブラリをデプロイする。

事前準備

  • Dockerが必要です
  • AWS SAMが必要です
    • pip install aws-sam-cli
  • Amazon S3バケットを事前に作成する
    • s3-bucket ${APP_NAME}-${ENV}

Gihubから以下のリポジトリをクローン

ビルド&デプロイ

pip install --upgrade pip
(cd ./; ./build.sh)
(cd ./; ENV=stg ./cli deploy)

作成されるLayerの名前は Zenpy-python37-layer です

動確するLambdaサンプルコード

import json
from zenpy import Zenpy

creds = {
"token": "zendesknotoken",
"email": "hoge@moge.jp",
"subdomain": "zendesktest"
}

def lambda_handler(event, context):
    try:
        zenpy_client = Zenpy(**creds)
        ticket = zenpy_client.tickets(id=947)
        print(ticket)
    except Exception as e:
        print(e)

    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?