私はAWSを初めて使用し、いくつかの問題が発生しています。ここに私のコードがあります:
from __future__ import print_function
from urllib2 import Request, urlopen, URLError
import requests
import boto3
import json
def lambda_handler(event, context):
url = "https://globalcurrencies.xignite.com/xGlobalCurrencies.json/GetHistoricalRatesRange?Symbol=BTCUSD&PriceType=Mid&StartDate=01/01/2017&EndDate=10/27/2017&PeriodType=Daily&FixingTime=22:00&_token=some_token_xyz"
response = requests.get(url).json()
# print json.dumps(response, indent=4) # gives a syntax error
return response
ファイルの名前はlambda_function.pyです。 stackoverflowで同様の問題をチェックし、ファイルの名前を変更する必要があると言った人もいました。しかし、それは助けにはなりませんでした。 pythonメソッドの名前は次のとおりです。
ここに私が得ているエラーがあります:START RequestId: cf24e9be-bbef-11e7-97b4-d9b586307f3e Version: $LATEST Unable to import module 'lambda_function': No module named requests
そして、印刷しようとすると、構文エラーが発生します。書式設定にごめんなさい。助言がありますか?
これは、ラムダで実行しているときにrequestsライブラリが欠落しているためです。ローカルマシンにグローバルにインストールされている可能性があります。実行する場合:pip install requests -t .
ソースコードと同じディレクトリで、リクエストパッケージをそのディレクトリにインストールし、lambda_function.pyとともにlambdaにアップロードできます。 boto3とjsonについても同じことが必要になる場合があります。pip install boto3 -t .
pip install json -t .
「requests」モジュールは、インストールしようとしている「Zip」ファイルにありません。 'pip install module_name(requests)-t)ですべてのモジュールをZipファイルに入れる必要があります。