Минимальный рабочий пример `kappa` для развертывания Python на AWS Lambda
Я пытаюсь использовать kappa
для беспроблемного развертывания в AWS Lambda.
Я попытался изменить S3 Sample для загрузки кода Python. Я создал лямбду, запустив kappa ./config.yml create
(после замены профиля на мой профиль консоли aws). Лямбда создана и отображается на информационной панели функций AWS, как показано на рисунке:
Теперь я хочу преобразовать этот образец, чтобы сгенерировать новую лямбду, но из среды исполнения Python. Файл Python:
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')
Затем я изменил соответствующий раздел лямбда на config.yml
:
lambda:
name: S3PythonSample
zipfile_name: S3PythonSample.zip
description: Testing S3 Lambda Python handler
path: examplefolder/
handler: hello_lambda.lambda_handler
runtime: python
Тогда я бегу kappa ./config.yml create
снова, чтобы создать новую лямбду, но я получаю эту ошибку:
$ 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)
1 ответ
Ошибка, которую вы получаете, связана с определениями API botocore 2014-11-11, что означает, что у вас нет обновления 2015-03-31.
Ты должен быть способен pip install -U botocore
обновить и попробуйте снова.