0 votes
1 view
in AWS by (19.2k points)

I am fairly new to AWS and I am having some issues. Here is my code: 

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

Name of the file is lambda_function.py; I have checked similar problems and some mentioned that I have to change the file naming. But it didn't help. Here is how the python method was named:

imageHere is the error I am getting:  START RequestId: cf24e9be-bbef-11e7-97b4-d9b586307f3e Version: $LATEST

Unable to import module 'lambda_function': No module named requests And when to try to print it gives me a syntax error. Sorry for the formatting. Any suggestions?

1 Answer

0 votes
by (44.6k points)

Requests are not a standard library in AWS lambda.

The ways to solve this issue:

1- Using the Botocore library stack, import it like this:

from botocore.vendored import requests

Libraries to import in Lambda

2- Create an AWS Lambda Deployment Package in Python with virtualenv

Welcome to Intellipaat Community. Get your technical queries answered by top developers !