ラムダレイヤーにライブラリをインポートする

11
Punter Vicky 2019-04-16 08:24.

リクエストの検証を実行するために、AWSLambdaにjsonschemaライブラリをインポートしたいと思いました。依存関係をアプリにバンドルする代わりに、Lambdaレイヤーを介してこれを実行しようとしています。の下にあるすべての依存関係を圧縮しましたvenv/lib/python3.6/site-packages/。これをラムダレイヤーとしてアップロードしpublish-layer-versionaws lambda update-function-configurationコマンドを使用してawslambdaにそれぞれ追加しました。zipフォルダーの名前は「lambda-dep.zip」で、すべてのファイルがその下にあります。ただし、lambda_functionにjsonschemaをインポートしようとすると、以下のエラーが表示されます-

from jsonschema import validate
{
  "errorMessage": "Unable to import module 'lambda_api': No module named 'jsonschema'",
  "errorType": "Runtime.ImportModuleError"
}```

Am I missing any steps are is there a different mechanism to import anything within lambda layers?

3 answers

44
guitarhero23 2019-04-16 09:30.

解凍するときに、.zipがこのフォルダー構造に従っていることを確認する必要があります

python / lib / python3.6 / site-packages / {LibrariesGoHere}。

そのzipをアップロードし、レイヤーがLambda関数に追加されていることを確認してください。これで、準備が整います。

これは私のために働いた構造です。

9
nicor88 2019-04-16 10:17.

レイヤーをアップロードするために使用するスクリプトは次のとおりです。

#!/usr/bin/env bash

LAYER_NAME=$1 # input layer, retrived as arg
ZIP_ARTIFACT=${LAYER_NAME}.zip
LAYER_BUILD_DIR="python"

# note: put the libraries in a folder supported by the runtime, means that should by python

rm -rf ${LAYER_BUILD_DIR} && mkdir -p ${LAYER_BUILD_DIR}

docker run --rm -v `pwd`:/var/task:z lambci/lambda:build-python3.6 python3.6 -m pip --isolated install -t ${LAYER_BUILD_DIR} -r requirements.txt

zip -r ${ZIP_ARTIFACT} .

echo "Publishing layer to AWS..."
aws lambda publish-layer-version --layer-name ${LAYER_NAME} --zip-file fileb://${ZIP_ARTIFACT} --compatible-runtimes python3.6

# clean up
rm -rf ${LAYER_BUILD_DIR}
rm -r ${ZIP_ARTIFACT}

上記のコンテンツをと呼ばれるファイルに追加しbuild_layer.sh、それをと呼びますbash build_layer.sh my_layer。スクリプトはrequirements.txt同じフォルダー内にを必要とし、Dockerを使用してPython3.6Lambdasに使用されるのと同じランタイムを持ちます。スクリプトの引数はレイヤー名です。

レイヤーをAWSにアップロードした後、正しいレイヤーのバージョンがLambda内で参照されていることを確認してください。

1
Joseph 2019-04-21 22:01.

より簡単な方法があります。パッケージをpythonフォルダーにインストールするだけです。次に、-t(ターゲット)オプションを使用してパッケージをインストールします。「。」に注意してください zipファイルで。これはワイルドカードです。

mkdir lambda_function
cd lambda_function
mkdir python
cd python
pip install yourPackages -t ./
cd ..
zip / tmp / labmda_layer.zip。   

これで、zipファイルがラムダレイヤーになります。

ビデオの説明を含むステップバイステップの説明は、ここにあります。

https://geektopia.tech/post.php?blogpost=Create_Lambda_Layer_Python

Related questions

MORE COOL STUFF

ダイアナ妃は、8歳でウィリアム王子を寄宿学校に送るという決定に「涙を流した」

ダイアナ妃は、8歳でウィリアム王子を寄宿学校に送るという決定に「涙を流した」

ウィリアム王子が 8 歳のときに寄宿学校に通わせたことについて、ダイアナ妃がどのように感じたかを学びましょう。

シャキール・オニールは、レイカーズのスターが彼のチキン帝国を北テキサスに拡大するにつれて、ダラスの外に永住権を購入しました

シャキール・オニールは、レイカーズのスターが彼のチキン帝国を北テキサスに拡大するにつれて、ダラスの外に永住権を購入しました

Shaquille O'Neal は最近、Big Chicken レストラン帝国を拡大するため、ダラス郊外に住居を購入しました。

「90 日間の婚約者」: イヴが逮捕され、浮気スキャンダルの後、モハメドに対する家庭内暴力の容疑に直面している — 何が起こったのか?

「90 日間の婚約者」: イヴが逮捕され、浮気スキャンダルの後、モハメドに対する家庭内暴力の容疑に直面している — 何が起こったのか?

「90日の婚約者」シーズン9のスター、イヴ・アレラーノが逮捕され、モハメド・アブデルハメドへの暴行容疑で家庭内暴力の罪に問われている.

ナターシャ・リオンは、ピーウィー・ハーマンは「ビジネスで最高のGIFを送る」と言います

ナターシャ・リオンは、ピーウィー・ハーマンは「ビジネスで最高のGIFを送る」と言います

ナターシャ・リオンは、ピーウィー・ハーマン自身、ポール・ルーベンスと親密です。彼らの友情について彼女が言ったことを発見してください。

セントヘレナのジェイコブのはしごを登るのは、気弱な人向けではありません

セントヘレナのジェイコブのはしごを登るのは、気弱な人向けではありません

セント ヘレナ島のジェイコブズ ラダーは 699 段の真っ直ぐ上る階段で、頂上に到達すると証明書が発行されるほどの難易度です。

The Secrets of Airline Travel Quiz

The Secrets of Airline Travel Quiz

Air travel is far more than getting from point A to point B safely. How much do you know about the million little details that go into flying on airplanes?

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

バイオニック読書はあなたをより速く読むことができますか?

バイオニック読書はあなたをより速く読むことができますか?

BionicReadingアプリの人気が爆発的に高まっています。しかし、それは本当にあなたを速読術にすることができますか?

すべてのツェッペリンに何が起こったのですか?

すべてのツェッペリンに何が起こったのですか?

1937年の炎に満ちた日から、ニュージャージーでのヒンデンブルク災害のビデオを見ました。しかし、クラッシュしなかったツェッペリンはどうでしょうか。彼らはどのように働き、人々は空の旅に革命を起こすために何をするだろうと想像しましたか?人間は空を駆け抜けるこれらの硬い航空機で満たされた未来を想像していましたが、それらの夢はヒンデンブルクによって狂わされました。

Webを支配するのに役立つ10個の隠しURL

Webを支配するのに役立つ10個の隠しURL

簡単にアクセスできるようにお気に入りのサイトをブックマークすることに慣れているかもしれませんが、Webは、ソーシャルネットワークから電子メールボックスまで、使い慣れたトップドメインよりもはるかに深く、適切なURLを手に入れることでジャンプできます。必要なページ、機能、設定、または検索に直接アクセスできます。ここに最も有用なものの10があります。

正統派ユダヤ人は地元のテレビ料理セグメントを通じて彼らの信仰を促進しています

正統派ユダヤ人は地元のテレビ料理セグメントを通じて彼らの信仰を促進しています

NPRは今朝、クリックする価値のある魅力的なストーリーを公開しました。それは、ユダヤ文化のウェブサイトchabad.orgと、地元のテレビの料理セグメントという予想外のメディアを介した過越の祭りの取り組みについてです。

私はニューラルネットワーク1200ビデオゲーム名を供給しました

私はニューラルネットワーク1200ビデオゲーム名を供給しました

多くの場合、ビデオゲームの名前はマシンによって生成されたように聞こえます。そこで、ニューラルネットワークにゲームの名前を教えることができるかどうかを確認することにしました。

ケイト・ミドルトンとウィリアム王子は、彼らが子供たちと行っているスパイをテーマにした活動を共有しています

ケイト・ミドルトンとウィリアム王子は、彼らが子供たちと行っているスパイをテーマにした活動を共有しています

ケイト・ミドルトンとウィリアム王子は、子供向けのパズルの本の序文を書き、ジョージ王子、シャーロット王女、ルイ王子と一緒にテキストを読むと述べた.

事故で押しつぶされたスイカは、動物を喜ばせ水分補給するために野生生物保護団体に寄付されました

事故で押しつぶされたスイカは、動物を喜ばせ水分補給するために野生生物保護団体に寄付されました

Yak's Produce は、数十個のつぶれたメロンを野生動物のリハビリ専門家であるレスリー グリーンと彼女のルイジアナ州の救助施設で暮らす 42 匹の動物に寄付しました。

デミ・ロヴァートは、新しいミュージシャンのボーイフレンドと「幸せで健康的な関係」にあります: ソース

デミ・ロヴァートは、新しいミュージシャンのボーイフレンドと「幸せで健康的な関係」にあります: ソース

8 枚目のスタジオ アルバムのリリースに向けて準備を進めているデミ ロヴァートは、「スーパー グレート ガイ」と付き合っている、と情報筋は PEOPLE に確認しています。

Plathville の Kim と Olivia Plath が数年ぶりに言葉を交わすことへようこそ

Plathville の Kim と Olivia Plath が数年ぶりに言葉を交わすことへようこそ

イーサン プラスの誕生日のお祝いは、TLC のウェルカム トゥ プラスビルのシーズン 4 のフィナーレで、戦争中の母親のキム プラスと妻のオリビア プラスを結びつけました。

水門の修理

水門の修理

天王星と海王星の間の領域に向かって宇宙を 3/4 g の低温で航行しながら、私たちは数週間燃え続けていました。Dawson Trawler の科学者が Yggdrasil ポータルと呼んだもの。

美しいもの

美しいもの

女性として、私は通常、関係を築くことをためらっています。私はいつも彼らに負けないように苦労しました。私は誰かと共有したいという衝動と戦わなければなりません。

逃走中の女性からの発信

最も家が必要なときに家のように感じる場所はありません。

逃走中の女性からの発信

私は誰よりも移動しました。父が住んでいた土地には、父が 1 歳馬を折るミニチュアの競馬場がありました。

死にゆく男から学んだ最大の人生の教訓

彼は、私たちが持っているのはこの現在の瞬間だけであることを知るのが遅すぎました。

死にゆく男から学んだ最大の人生の教訓

ブラッドは、カーキ色のショート パンツとポロ シャツを着たまま、白いゴルフ グローブを両手で高く引っ張ったまま、ベッドルームに入ってきました。彼は満面の笑みを浮かべながら、「今年は私の人生で最高の年だったと思います!」と言いました。通常は保守的な消費者である私たちは、通常とは異なることをしました。

Language