Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in AWS by (19.1k 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.4k 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

If you are interested to learn Python from Industry experts, you can sign up for this Python Certification Course by Intellipaat.

Related questions

0 votes
1 answer

Want to get 50% Hike on your Salary?

Learn how we helped 50,000+ professionals like you !

0 votes
1 answer

Browse Categories

...