Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS lambda: No module named 'cfnresponse'

I have deployed an AWS lambda which contains:

import json
import boto3
import cfnresponse
import urllib.request
from botocore.exceptions import ClientError

def lambda_handler(event, context):
...
cfnresponse.send(event, context, status, responseData, "CustomResourcePhysicalID")

I tried to get the values of the cfnresponse in my cloudformations:

Resources:
  API:
    Type: Custom::API
    Version: '1.0'
    Properties:
      ServiceToken: arn:aws:lambda:eu-west-1:1234567891011:function:getCountry
Outputs:
  Status:
    Value:
       !GetAtt API.Data

Now th cfn is stuck and I got the error:

Unable to import module 'lambda_function': No module named 'cfnresponse' 

What am I doing wrong? It seems the way to do it when I check the docs.

like image 240
DenCowboy Avatar asked Apr 17 '18 18:04

DenCowboy


1 Answers

Cfnresponse is just available in lambda by default with python 2.7. Probably you are using 3.6.

like image 178
Abel Gutierrez de Leon Avatar answered Nov 15 '22 20:11

Abel Gutierrez de Leon