I'm trying to use kappa
to make seamless deployments to AWS Lambda.
I tried modifying the S3 Sample to upload a python code instead. I created the Lambda by running kappa ./config.yml create
(after replacing the profile with my aws console profile). The lambda is created and is shown in the AWS Function dashboard, as shown in picture:
I now want to convert this sample to generate a new lambda, but of Python runtime. The python file is:
examplefolder/hello_world.py
:
from __future__ import print_function
import json
print('Loading function')
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
print("value1 = " + event['key1'])
print("value2 = " + event['key2'])
print("value3 = " + event['key1'])
return event['key2'] # Echo back the first key value
#raise Exception('Something went wrong')
Then I modified the lambda relevant section on config.yml
:
lambda:
name: S3PythonSample
zipfile_name: S3PythonSample.zip
description: Testing S3 Lambda Python handler
path: examplefolder/
handler: hello_lambda.lambda_handler
runtime: python
I then run kappa ./config.yml create
again to create the new Lambda, but I get this error:
$ kappa ./config.yml create
creating...
/Library/Python/2.7/site-packages/botocore/vendored/requests/packages/urllib3/connection.py:251: SecurityWarning: Certificate has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)
SecurityWarning
/Library/Python/2.7/site-packages/botocore/vendored/requests/packages/urllib3/connection.py:251: SecurityWarning: Certificate has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)
SecurityWarning
Unable to upload zip file
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/kappa/function.py", line 162, in create
MemorySize=self.memory_size)
File "/Library/Python/2.7/site-packages/botocore/client.py", line 258, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/Library/Python/2.7/site-packages/botocore/client.py", line 312, in _make_api_call
raise ClientError(parsed_response, operation_name)
ClientError: An error occurred (ValidationException) when calling the CreateFunction operation: 1 validation error detected: Value 'python' at 'runtime' failed to satisfy constraint: Member must satisfy enum value set: [nodejs]
Unable to add permission
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/kappa/function.py", line 141, in add_permissions
response = self._lambda_svc.add_permission(**kwargs)
File "/Library/Python/2.7/site-packages/botocore/client.py", line 258, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/Library/Python/2.7/site-packages/botocore/client.py", line 312, in _make_api_call
raise ClientError(parsed_response, operation_name)