AWS Lambdaから外部APIへの接続方法
AWS Lambdaを使用して外部APIに接続する方法を紹介します。この記事では、Pythonを使用したコード例を提供します。
前提条件
- RequestsをLambdaのレイヤーに設定していること
- LambdaのIPが固定化されていること
- 必要なIAM権限が付与されていること
コード例
以下に、Pythonを使用してLambdaから外部APIに接続するためのコード例を示します。
import requests
import json
ip = <接続先のアドレス>
def lambda_handler(event, context):
url = "http://{}".format(ip)
headers = {'content-type': 'application/json; charset=UTF-8'}
payload = {<送りたい値>}
res = requests.post(
url,
data=json.dumps(payload),
headers=headers
)
return res.json()
認証情報の送信
APIに認証情報を送りたい場合は、以下のようにheadersにAuthorizationを記述します。
import requests
import json
ip = <接続先のアドレス>
token = <アクセストークン情報>
def lambda_handler(event, context):
url = "http://{}".format(ip)
headers = {'Authorization': 'Bearer {}'.format(token)}
payload = {<送りたい値>}
res = requests.post(
url,
data=json.dumps(payload),
headers=headers
)
return res.json()
注意点
リクエストで仮に404などエラーが返ってきた場合、上記のコードでは、Lambdaは正常に終了します。そのため、エラー時の処理を書きたい場合は、返ってきた値によってエラーを出すよう記述する必要があります。.