最近、AWSをフル活用して社内システムを作ったので、そのノウハウのご紹介を行っています。
ただいま、Lambdaで関数作りを頑張っています。
試しに繋いでみるか
前回「【AWS Lambda】Webリクエストの受付」でひとまずAPI Gatewayをトリガーにくっつけました。
これでもうURLが存在しているのでアクセスしてみましょう。
- {"message": "Internal server error"}
Internal server error!!
初期状態では動かない!!
テストでは正常
しかしですね、Lambdaのテストでは正常なんですよ。
テストでは正常なのに、実際にアクセスするとエラー。
ここで躓く人って結構多いんじゃないでしょうか?
私も苦労しました。
原因
実はですね、Lambdaのテストは「ラムダ関数だけ」のテストで、API Gatewayは関係無いんですよ。
つまり、上記の状況は
- ラムダ関数は正常である。
- API Gatewayでエラーを起こしている。
という状況なのです。
API Gatewayエラーの原因
API Gateway がエラーになる原因。
ログとかそういうの一切出ないですから!!
ネット調査で特定しました。
API Gatewayでは、以下の形式でレスポンスを返さなければいけないと書かれています。
{
"isBase64Encoded": true|false,
"statusCode": httpStatusCode,
"headers": { "headerName": "headerValue", ... },
"body": "..."
}
関数
つまり、API Gatewayを通せるようにLambda関数を書かねばなりませんから。
def lambda_handler(event, context):
# TODO implement
return 'Hello from Lambda'
これを
def lambda_handler(event, context):
# TODO implement
return {
"isBase64Encoded": False,
"statusCode": 200,
"headers": {},
"body": "Hello from Lambda"
}
こうする!!
結果
無事に表示されました。
これ、知らなけれ本当に意味分からないので、ここで躓かないよう注意して下さい。
続く
引き続きエAPI Gatewayの掘り下げを進みます。
初めまして。
返信削除AWSについて、色々勉強させていただきます!
We just finished our keygen for the new Autodesk Infraworks 2021, another work made by our amazing guys. Its not tested in every sistem, so we'll be very XForce Keymaker
返信削除Windows Vista Product Key ad Serial Key Working for Windows Vista, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Ultimate, Windows .Windows Vista Activation Key
返信削除Good content. You write beautiful things.
返信削除hacklink
mrbahis
taksi
vbet
korsan taksi
sportsbet
sportsbet
hacklink
mrbahis
Good text Write good content success. Thank you
返信削除kibris bahis siteleri
bonus veren siteler
tipobet
mobil ödeme bahis
betmatik
slot siteleri
betpark
kralbet
kocaeli
返信削除konya
kuşadası
kütahya
malatya
03EZBİ
erzurum
返信削除kuşadası
ümraniye
beşiktaş
ataşehir
CHR4
beşiktaş
返信削除eyüpsultan
gebze
kaş
tekirdağ
8THD
https://saglamproxy.com
返信削除metin2 proxy
proxy satın al
knight online proxy
mobil proxy satın al
WFNQO