Lambda layerにgoogle-analytics-data-apiを追加する方法(python)

スポンサーリンク

Google Analytics Data APIを使用して、記事のGoogle Analytics 4の情報を得るpythonプログラムを作成するには、google-analytics-data-apiパッケージをインストールした環境が必要です。

これをLambda上で作成するには、「Lambda layer」にgoogle-analytics-data-apiを含める必要があります。

その方法で迷走したので、記録を残しておきます。



前提

今回はWindowsを使っています。

1.wsl2でランタイムzipを作成→結局うまくいかなかった

wsl2(Ubuntu)でlambdaと同じランタイム(今回はpython3.9)の環境をつくり、ここでパッケージを作成、zipファイルを作成してlambda layerにアップする作戦です。

python3.9をインストール
https://www.teamxeppet.com/install-python3-9-1_on_ubuntu20-04/

ubuntuではyumできないので、下記をたたく。

sudo apt-get update
sudo apt-get install -y python3.9-dev

(python -m pip install –upgrade pipが必要??)

次に、必要なパッケージをインストール

mkdir layer
python -m pip install google-analytics-data -t ./layer

zipファイルを作成

zip -r layer.zip layer

これをlambda layerにアップロードしたのですが、google-analytics-data?そんなの知らんよ、みたいなエラーが出てしまってうまくいきませんでした。

2.cloud9でランタイムzipを作成→成功。ただ、手動。

cloud9で、lambdaと同じランタイム(今回はpython3.9)の環境をつくり、ここでパッケージを作成、zipファイルを作成してlambda layerにアップする作戦です。
https://qiita.com/__DASHi__/items/268062f0dba0e93170f2

pip install google-analytics-data -t .

これはうまくいきました!ただ、そもそもCICDの観点から、手動は面倒ですよね。

3.sam deployする際のlayer/requirements.txtに追記。

1と同じくwsl2で作成したUbuntuで作業。

sam initした状態で、layerディレクトリを作成。

layer/requirements.txtに、

google-analytics-data

と記載するだけ。

pip install 〇〇でインストールする系は、ここに記載してsam build→sam deployすれば良い感じにlayerを作ってくれるみたい。sam恐るべし・・・!
これが一番簡単で、かつ、複数の環境(例えば、開発/検証/本番環境など)にデプロイしやすい。

はるすと
はるすと

最後まで読んでくださってありがとうございました!

この記事を書いた人
こもれびエンジニア

自然と自由を愛するエンジニア。2021年1月に、大手製造業設計からプログラマ(Rails, AWS)へ転職。動物や自然との触れ合いや、汗を流すのが好き。

/HSP(繊細さん)/18デリケートな象/ストレングスファインダー(1分析思考/2親密性/3学習欲/4調和性/5収集心)、テニス、合気道、登山、あいだみつを、ジブリ、ワンピース、ドラゴンボール、AWS、Ruby on Rails、アイミング

twitterをフォローして、記事にならないちょっとした豆知識もチェック!
AWS
スポンサーリンク
SNSでシェア/コメントして、自分のアウトプット/発信力を高めるのにお使いください。 ↓ 各ページへジャンプ ↓
twitterをフォローして、記事にならないちょっとした豆知識もチェック!
スポンサーリンク
「そんなか」サイト

コメント

タイトルとURLをコピーしました