Issue #1 resolved
Justin Abrahms
created an issue

Hi.

I attempted to create a lambda with this service, but it complained about missing IAM permissions. I didn't see an IAM port listed for configuring those permissions. Perhaps I'm missing something about how to configure IAM roles?

Thanks, -justin

Comments (7)

  1. Waldemar Hummer

    Hi,

    Can you pull the latest version of LocalStack and then try this:

    • Create a file lambda.py with the following content:
    def handler(event, context):
        print('test')
        return {'foo': 'bar'}
    
    • Create a Lambda zip file and upload it to the LocalStack API on localhost:4574:
    zip lambda.zip lambda.py
    aws --endpoint-url=http://localhost:4574 lambda create-function --function-name=f1 --runtime=python2.7 --role=r1 --handler=lambda.handler --zip-file fileb://lambda.zip
    
    • Execute the Lambda function:
    aws lambda --endpoint-url=http://localhost:4574 invoke --function-name f1 result.log
    

    Then you should see the following:

    1. The aws command line prints a 200 status code message
    2. The terminal in which you have LocalStack running prints "test"
    3. A file results.log gets created with the return value of the Lambda function

    Please note that currently only Lambdas written in Python are supported.

  2. Waldemar Hummer

    Fixed the Lambda UI issue in this PR: https://bitbucket.org/atlassian/localstack/pull-requests/36 The version hasn't been bumped yet, though. Will bump the version and push a new Docker image soon (probably tomorrow).

    @Adam White Unfortunately, Python is currently the only supported runtime. There has been a proposal here to use a Docker runtime environment that supports different languages: https://github.com/atlassian/localstack/issues/27 It is currently not high up in the priority list on our end, but if you get a chance to look into this - a pull request would be highly appreciated!

  3. Justin Abrahms reporter

    Confirmed that I now get a non-IAM oriented error. :) I have another error which is that "handler" is a hardcoded value for my function, which I've named lambda_handler in my code. I can just edit the source code to make this work on my end. Unfortunately, corporate OSS guidelines mean it will be unlikely I can contribute a fix for this.

  4. rsrestha

    Hi,

    I was trying to run a lambda on localstack.

    But when I enter the following command:

    aws --endpoint-url=http://localhost:4574 lambda create-function --function-name=f1 --runtime=python2.7 --role=r1 --handler=lambda.handler --zip-file fileb://lambda.zip

    (For uploading the lambda)

    It prompts the following: Unable to locate credentials. You can configure credentials by running "aws configure".

  5. Log in to comment