运行在amazon lambda上的python应用程序的最小值。
python-lambda的Python项目详细描述
===
蟒蛇-λ
==
…图片::https://img.shields.io/pypi/v/python lambda.svg
:alt:pypi
:目标:https://pypi.python.org/pypi/python lambda/
…图片::https://img.shields.io/pypi/pyversions/python lambda.svg
:alt:python versions
:target:https://pypi.python.org/pypi/python lambda/
python lambda是在aws lambda中开发和部署*无服务器*python代码的工具集。
=====现在,python lambda和'pytube<;https://github.com/nficano/pytube/>;``两者都在持续增长,我呼吁贡献者帮助构建新功能、审查请求、修复错误和保持整体代码质量。如果您感兴趣,请在NFICONO[AT] Gmail网站上给我发电子邮件。DA相对容易,但是捆绑和部署代码的过程并不像它可能那么简单。
*python lambda*库通过为您提供一个工具集来简化烦人的部分,从而消除了开发python lambda服务的猜测工作。
/>=========
>*python 2.7&3.6.7&3.6(撰写本文时,aws lambda只支持python2.7/3.6)。
*pip(~8.1.1.1)
*virtuallenv(~15.0.0.0)
*virtuallenvwwwrapper(~4.7.1)
==========
首先,必须创建iam角色角色,首先,必须创建iam角色。在你的aws上名为"lambda_basic_execution"的帐户附加了"lambda asiceexecution"策略。
在您的计算机上,创建一个新的virtualenv和项目文件夹。
…代码::bash
$mkvirtualenv pylambda
(pylambda)$mkdir pylambda
下一步,通过pypi使用pip下载*python lambda*代码::bash
(pylambda)$pip从"pylambda"目录安装python lambda
,运行以下命令启动项目。
代码::bash
(py lambda)$lambda init
这将创建以下文件:``event.json``、`````````uu init`、``service.py`和``config.yaml`。
让我们从在您选择的文本编辑器中打开``config.yaml``开始。在本教程中,唯一需要的信息是"aws_access_key_id"和"aws_secret_access_key"。您可以通过登录到aws管理控制台来找到它们。
接下来让我们打开"service.py",在这里您将找到以下函数:
。代码::python
def处理程序(事件、上下文):
e=event.get('e')
pi=event.get('pi')
return e+pi
这是处理函数;这是aws lambda将响应事件调用的函数。您会注意到,在示例代码中,"e"和"pi"是"dict"中的值。aws lambda使用"event"参数将事件数据传递给处理程序。
xt让我们打开"event.json"文件:
…代码::json
{
"pi":3.14,
"e":2.718
}
代码::bash
(pylambda)$lambda invoke-v
代码::bash
5.858
"event.json"文件应该可以帮助您在本地开发lambda服务。您可以通过将`--event file=<;filename>;.json``参数传递给``lambda invoke``来指定备用的``event.json``文件。
准备将代码部署到lambda时,只需运行:
。代码::bash
(pylambda)$lambda deploy
deploy脚本将评估您的virtualenv并确定您的项目依赖项。它会将这些内容与处理程序函数一起打包成一个zip文件,然后上载到aws lambda。
现在您可以登录到"aws lambda管理控制台"来验证成功部署的代码。
==
==如果您希望开发一个简单的微服务,您可以轻松地将您的函数连接到http端点。
首先导航到"aws lambda管理控制台"lt;https://console.aws.amazon.com/lambda/>;``并单击您的函数。单击"API端点"选项卡,然后单击"添加API端点"。
最后,您需要更改函数的返回值以符合为api网关终结点定义的标准,该函数现在应该如下所示:
…代码::python
def处理程序(事件、上下文):
e=event.get('e')
pi=event.get('pi')
返回{
"statuscode":200,
"headers":{"content type":"application/json"},
"body":e+pi
}
代码::bash
$curl--header"内容类型:application/json"\
--request post\
--data'{"pi":3.14,"e":2.718}'\
https://<;api endpoint url>;
5.85800000000005
environment variables
==bda函数支持环境变量。为了设置要使用的已部署代码的环境变量,可以在"config.yaml"中配置它们。要在部署时加载环境变量的
值(而不是在配置文件中硬编码),可以使用本地环境值(请参见下面示例代码中的"env3"。
。代码::yaml
环境变量:
env1:foo
env2:baz
env3:${本地环境变量名}
如果您的函数不需要环境变量,只需将此部分保留在配置之外。
您可以使用"upload"命令将包发送到您选择的s3存储桶。
执行此操作之前,您需要在"config.yaml"中设置以下变量:
。代码::yaml
role:basic_s3_upload
bucket_name:"example bucket"
s3_key_prefix:"path/to/file/"
role必须对指定的bucket/key拥有"s3:putobject"权限才能正常上载。一旦设置好,就可以执行"lambda upload"来启动传输。
这可以通过使用为执行"upload"命令而设置的相同变量/aws权限发出"lambda deploy_s3"来完成。
development
===
"python lambda"的开发只在github上进行。补丁、测试和有限元分析的贡献真正的创造和/或要求是非常受欢迎和高度鼓励的。如果此工具无法按预期运行,请打开一个问题。
允许命令:
…代码::bash
git checkout master
ogress更改,将版本增加到修补程序版本,以防止不准确的属性。
bumpversion--无标记修补程序
git push origin master--标记
蟒蛇-λ
==
…图片::https://img.shields.io/pypi/v/python lambda.svg
:alt:pypi
:目标:https://pypi.python.org/pypi/python lambda/
…图片::https://img.shields.io/pypi/pyversions/python lambda.svg
:alt:python versions
:target:https://pypi.python.org/pypi/python lambda/
python lambda是在aws lambda中开发和部署*无服务器*python代码的工具集。
=====现在,python lambda和'pytube<;https://github.com/nficano/pytube/>;``两者都在持续增长,我呼吁贡献者帮助构建新功能、审查请求、修复错误和保持整体代码质量。如果您感兴趣,请在NFICONO[AT] Gmail网站上给我发电子邮件。DA相对容易,但是捆绑和部署代码的过程并不像它可能那么简单。
*python lambda*库通过为您提供一个工具集来简化烦人的部分,从而消除了开发python lambda服务的猜测工作。
/>=========
>*python 2.7&3.6.7&3.6(撰写本文时,aws lambda只支持python2.7/3.6)。
*pip(~8.1.1.1)
*virtuallenv(~15.0.0.0)
*virtuallenvwwwrapper(~4.7.1)
==========
首先,必须创建iam角色角色,首先,必须创建iam角色。在你的aws上名为"lambda_basic_execution"的帐户附加了"lambda asiceexecution"策略。
在您的计算机上,创建一个新的virtualenv和项目文件夹。
…代码::bash
$mkvirtualenv pylambda
(pylambda)$mkdir pylambda
下一步,通过pypi使用pip下载*python lambda*代码::bash
(pylambda)$pip从"pylambda"目录安装python lambda
,运行以下命令启动项目。
代码::bash
(py lambda)$lambda init
这将创建以下文件:``event.json``、`````````uu init`、``service.py`和``config.yaml`。
让我们从在您选择的文本编辑器中打开``config.yaml``开始。在本教程中,唯一需要的信息是"aws_access_key_id"和"aws_secret_access_key"。您可以通过登录到aws管理控制台来找到它们。
接下来让我们打开"service.py",在这里您将找到以下函数:
。代码::python
def处理程序(事件、上下文):
e=event.get('e')
pi=event.get('pi')
return e+pi
这是处理函数;这是aws lambda将响应事件调用的函数。您会注意到,在示例代码中,"e"和"pi"是"dict"中的值。aws lambda使用"event"参数将事件数据传递给处理程序。
xt让我们打开"event.json"文件:
…代码::json
{
"pi":3.14,
"e":2.718
}
代码::bash
(pylambda)$lambda invoke-v
代码::bash
5.858
"event.json"文件应该可以帮助您在本地开发lambda服务。您可以通过将`--event file=<;filename>;.json``参数传递给``lambda invoke``来指定备用的``event.json``文件。
准备将代码部署到lambda时,只需运行:
。代码::bash
(pylambda)$lambda deploy
deploy脚本将评估您的virtualenv并确定您的项目依赖项。它会将这些内容与处理程序函数一起打包成一个zip文件,然后上载到aws lambda。
现在您可以登录到"aws lambda管理控制台"来验证成功部署的代码。
==
==如果您希望开发一个简单的微服务,您可以轻松地将您的函数连接到http端点。
首先导航到"aws lambda管理控制台"lt;https://console.aws.amazon.com/lambda/>;``并单击您的函数。单击"API端点"选项卡,然后单击"添加API端点"。
最后,您需要更改函数的返回值以符合为api网关终结点定义的标准,该函数现在应该如下所示:
…代码::python
def处理程序(事件、上下文):
e=event.get('e')
pi=event.get('pi')
返回{
"statuscode":200,
"headers":{"content type":"application/json"},
"body":e+pi
}
代码::bash
$curl--header"内容类型:application/json"\
--request post\
--data'{"pi":3.14,"e":2.718}'\
https://<;api endpoint url>;
5.85800000000005
environment variables
==bda函数支持环境变量。为了设置要使用的已部署代码的环境变量,可以在"config.yaml"中配置它们。要在部署时加载环境变量的
值(而不是在配置文件中硬编码),可以使用本地环境值(请参见下面示例代码中的"env3"。
。代码::yaml
环境变量:
env1:foo
env2:baz
env3:${本地环境变量名}
如果您的函数不需要环境变量,只需将此部分保留在配置之外。
您可以使用"upload"命令将包发送到您选择的s3存储桶。
执行此操作之前,您需要在"config.yaml"中设置以下变量:
。代码::yaml
role:basic_s3_upload
bucket_name:"example bucket"
s3_key_prefix:"path/to/file/"
role必须对指定的bucket/key拥有"s3:putobject"权限才能正常上载。一旦设置好,就可以执行"lambda upload"来启动传输。
这可以通过使用为执行"upload"命令而设置的相同变量/aws权限发出"lambda deploy_s3"来完成。
development
===
"python lambda"的开发只在github上进行。补丁、测试和有限元分析的贡献真正的创造和/或要求是非常受欢迎和高度鼓励的。如果此工具无法按预期运行,请打开一个问题。
允许命令:
…代码::bash
git checkout master
ogress更改,将版本增加到修补程序版本,以防止不准确的属性。
bumpversion--无标记修补程序
git push origin master--标记