用于aws lambda功能的用户友好的部署和管理工具。
lamver的Python项目详细描述
lamvery
==
构建状态覆盖范围审查程序代码质量版本
描述
==
aws lambda功能的用户友好部署和管理工具。
为什么用户友好?~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-我们可以通过"jinja2"模板避免一些多余的内容引擎
标准lambda函数中不包含的附加功能
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^文件使用``kms``加密
-以及更多
**正确**到先前版本的alias
-deply(build)hooks
-以及更多
使用和管理相关服务的更有用功能
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^事件
-cloudwatch日志
-以及更多
requirements
==
-python2.7
-pip
建议
==
-virtualenv
**自动收集virtualenv中的轻量级和编译的库环境.*
安装代码::sh
pip安装lamvery
apt
--
…代码::sh
echo"deb https://dl.bintray.com/willyworks/deb trusty main"sudo tee-a/etc/apt/sources.list
sudo apt get update
sudo apt get install lamvery
export path=/opt/lamvery/bin:$path
代码::sh
echo"
[bintraybintry willyworks rpm]
name=bintray willyworks rpm
baseurl=https://dl.bintray.com/willyworks/rpm/centos/\$releaserver/\$basearch/
gpgcheck=0
enabled=1
"sudo tee-a/etc/yum.repos.d/bintray willyworks rpm.repo
sudo yum install lamvery
export path=/opt/lamvery/bin:$path
代码::sh
lamvery init
``.lamvery.yml``)
——代码::yml
profile:private
region:us-east-1
version:true
default_alias:test
clean_build:false
configuration:
name:lamvery test
runtime:python2.7
role:{{env['aws\u lambda_role']}
handler:lambda_函数。lambda_处理程序
描述:这是示例lambda函数。
超时:10
内存大小:128
环境变量:
myenv:foobar
vpc_配置:
子网:
-子网-cadf293
安全组:
-sg-4d095028
profile
~~~~~~~~
要使用的配置文件的名称。如果没有给定,则取决于环境的区域名。它取决于``boto3`。
r/>
clean构建
~~~~~~~~~~~~~~
在临时区域中构建存档(zip)。
配置
~~~~~~~~~~~~~~
-名称
函数的名称。
-运行时
正在上载的lambda函数的运行时环境。
|目前,`` lamvery``支持``python2.7``和``nodejs``.
-role
函数的iam角色的amazon资源名称(arn)。
-handler
代码中lambda调用以开始执行的函数。
-描述函数。
-超时
lambda终止函数的函数执行时间(秒)。
-内存大小
函数环境的内存量。
-环境变量
环境变量。
-vpc配置
vpc中访问资源的函数的vpc配置。
-subnets
vpc中的子网ID。
-security组
``.lamvery.event.yml```)
——代码::yml
规则:
-名称:foo
描述:bar
计划:'rate(5分钟)'
目标:
-id:测试目标id
输入:
此:
-为:a
-示例:输入
规则
~-|禁用
当此设置为真时,将cloudwatch事件
规则的状态更改为"禁用"。
jsonpath的值,用于在将匹配事件传递给目标时提取部分匹配事件。
*``input``和``input`path``是相互排斥的可选目标参数。*
``.lamvery.secret.yml``)
——代码::yml
密钥id:{{env['aws_kms_key_id']}
密码文本:
foo:4W9L7Haxaueen+D9YJMYY1U1I7VVQZ9I8+E2ubkxaqebagbagB4umVZyox2WWWWZy2WWWZy2WWZy2WWZy2WWZy2WWWZYN7WFBMN7WFM/SPPNTLAAABMGWGWWQQQQFBFBQQBQWQBQWQBQWQBQWQBQWQWQQQQQBWWWWQQQQQQQQQQBWWWWQQQQQQQQQQQQQQQQQQWWWWWQQQQQQQQQQQQQQWWWWWWWQQQQQQ>键ID在KMS上加密密钥的。
~~~~~~~~~~~~~~~~~~~~
>要传递给lambda函数的名称和密码文本。
~~~~~~~~~~~~~~
要传递给lambda函数的文件名和加密内容。
存档(默认值:``.lamvery.exclude.yml``)
——代码::yml
-^.lamvery\.yml$
-^.lamvery\.event\.yml$
-^.lamvery\.secret\.yml$
-^.lamvery\.exclude\.yml$
使用正则表达式排除文件或目录。
action hooks(默认值:``.lamvery.hook.yml```)
——代码::yml
build:
pre:
-pip install-r requirements.txt-t./
post:[]
build
~~
一个接一个的建筑.
API网关集成(默认值:``.lamvery.api.yml``)
——代码::yml
api id:myipugal74
阶段:dev
cors:
来源:'*'
方法:
-获取
-选项
标题:
-内容类型
-x-amz-date
-授权
-x-api-key
配置:
招摇过市:"2.0"
信息:
标题:示例api
方案:
-https
路径:
/:
获取:
生成:
-应用程序/json
参数:
-名称:示例
in:查询
必需:false
类型:字符串
响应:
'200':
描述:200响应
架构:
$ref:'/definitions/sample'
定义:
示例:
类型:object
~~~~~
rest api的id。
当您使用
``-w``选项部署api时,会自动写入此项。
stage
~~
(跨源资源共享)选项。
如果未设置"x-amazon-apigateway-integration"选项,
这些是自动设置的。
-origin
用于名为"access control allow origin"的响应头。
-header s
用于名为"access control allow headers"的响应头。
-methods
用于名为"访问控制允许方法"。
这些是自动设置的。
代码::sh
lamvery build[-e<;env name>;=<;env value>;]
部署
~代码::sh
lamvery deploy[-e<;env name>;=<;env value>;][-a<;alias>;]
rollback
~~~~~
-回滚到函数的前一版本
**使用此命令必须执行以下操作之一。**
-deploy with``publish(-p,--publish)``和`` alias(-a,--alias)`
选项。
-在配置文件中打开(true)``版本控制``并将值设置为``默认别名`'。
::
lamvery rollback[-a<;alias>;]
将别名设置为功能
…代码::sh
lamvery set alias-a<;alias>;-v<;alias version>;
encrypt
~~~~~~~
-使用kms加密文本值
。代码::sh
lamvery encrypt[-s]-n<;secret name>;<;secret value>;
加密文件
~~~~~~~~~~~~~~
-使用kms加密文件
。代码::sh
lamvery encrypt[-s]-n<;filename>;<;本地文件路径>;
代码::sh
lamvery decrypt-n<;secret name>;
事件
~~~~~
-应用CloudWatch事件设置
…代码::sh
lamvery事件[-k][-a<;alias>;]
invoke
~~~~~
-调用函数并输出结果
代码::sh
lamvery invoke[-a<;alias>;][-v<;vers离子]{"foo":"bar"}
代码::sh
lamvery invoke[-a<;alias>;][-v<;version>;]path/to/input.json
logs
~~~~~
-查看函数的日志事件
。代码::sh
lamvery日志[-f][-f<;filter>;][-s<;start time string>;][-i<;interval seconds>;]
~~
-管理api
……代码::sh
lamvery api[-n][-r][-s<;stage name>;][-w]
generate
~~~~~~~~~
-generate skeleton files
代码::sh
lamvery generate-k<;文件类型>;
options
----
```-a``或``--alias`
~~~~~~~~~~~~~~~~~~~~~~~~
\`` api`
命令。
函数版本的别名。
`-c``或`--conf file``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
所有命令都需要此选项。
指定配置文件。
默认值:```.lamvery.yml`
`-d``或``--干运行`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此选项是
``deploy`、``alias`、``rollback`、``events`所必需的,\`` api``命令。
输出配置和别名的差异,而不进行更新。
`-s``或`——单个文件`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
因此,您可以在
aws管理控制台中进行内联编辑。
``-l``或`——没有libs``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``archive``和``deploy``命令需要此选项。
``--秘密名称``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~是的将
版本作为原子操作发布。
``-k``或`--保留空事件`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此选项仅由"events"命令需要。保留空的
cloudwatch事件规则,该规则没有cloudwatch事件目标。
`-s``或`--store`
~~~~~~~~~~~~~~~~~~~~~~
|需要`-n``或``--secret name``选项。
``-v``或`--version``
~~~~~~~~~~~~~~~~~~~~~~~~~~
``invoke``需要此选项,\``回滚`
命令。
函数版本。
``-f``或`——跟随`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此选项仅由``logs``命令需要。
``--过滤```
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(秒)监视日志事件。
`-s``或`--start`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``此选项仅由``logs``命令需要。
`;开始监视日志事件的时间。
`"2016-01-01 10:20:01:01:01:2016-01:01:01:30```
``-t``或````--target``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
>
````set alias``命令只需要这个选项。
124;设置别名的目标版本的别名。
>
>
``````-e```或```````````````````````~~~~~~~~~
选项是"archive"和"deploy"命令所必需的。
传递给函数的环境变量。
**此选项可以是反复用于传递多个变量的示例:``foo=bar``
>
>``-r``````````````````````~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
仅由"api"命令需要。
api网关中阶段的名称。
`-w``或`--write id``
~~~~~~~~~~~~~~~~~~~~~~~~
``.lamvery.api.yml```>
``-n``或````—不集成````
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``生成``命令。
文件的类型。
允许的值:``函数`
``-n``或`--名称`
~~~~~~~~~~~~~~~~~~~~~~
lambda函数
==============================
1。在kms上创建密钥
~~~~~~~~~~~~~~~~~~~~~~~~~
请参见:
https://docs.aws.amazon.com/kms/latest/developerguide/create keys.html
2。为lambda函数创建iam角色
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
策略示例:
……代码::json
{
"version":"2012-10-17",
"statement":[
{
"effect":"allow",
"action":[
"kms:decrypt"
],
"resource":[
"arn:aws:kms:us-east-1:<;您的帐号>;:key/<;您的密钥id>;"
]
}
]
]
}
}
3。将密钥ID设置为配置文件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
配置示例:
-.lamvery.yml
。代码::yml
profile:default
region:us-east-1
version:false
default\u alias:null
configuration:
name:sample\u lambda\u function
runtime:python2.7或nodejs
role:arn:aws:iam::00000000:role/lambda\u basic\u execution
处理程序:lambda_函数。lambda_处理程序
描述:这是示例lambda函数。
超时:10
内存大小:128
-.lamvery.secret.yml
……代码::yml
key_id:xxxx yyyy zzz<;-这里!
密码文本:{}
机密文件:{}
4。加密机密信息并将其存储到配置文件中
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~代码::sh
lamvery encrypt-s-n foo"这是个秘密"
5。编写函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用此命令生成骨架函数。
……代码::sh
lamvery generate-k函数
代码::py
print(lamvery.secret.get('foo')
-node.js
代码::js
var lamvery=require('./lamvery.js');
exports.lambda_handler=function(event,context){
lamvery.secret.get('foo',function(err,data){
console.log(data);
}
部署您的函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令示例:
……代码:sh
lamvery deploy
7.调用函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令示例:
……代码::sh
lamvery invoke{}
结果示例:
:::
start请求ID:13829C9C-9F13-11E5-921B-6F048CFF3C2D:13829C9C-9F13-11E5-921B-6F048CFF3C2D:13829C9C-9F13-11E5-921B-6F048CFF3C2D这是一个秘密
>如何使用lambda函数中的机密文件
=======================================================================================/>
1.在kms上创建密钥
~~~~~~~~~~~~~~~~~~~~~~~~~
请参见:
https://docs.aws.amazon.com/kms/latest/developerguide/create keys.html
2。为lambda函数创建iam角色
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
策略示例:
……代码::json
{
"version":"2012-10-17",
"statement":[
{
"effect":"allow",
"action":[
"kms:decrypt"
],
"resource":[
"arn:aws:kms:us-east-1:<;您的帐号>;:key/<;您的密钥id>;"
]
}
]
]
}
}
3。将密钥ID设置为配置文件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
配置示例:
-.lamvery.yml
。代码::yml
profile:default
region:us-east-1
version:false
default\u alias:null
configuration:
name:sample\u lambda\u function
runtime:python2.7或nodejs
role:arn:aws:iam::00000000:role/lambda\u basic\u execution
处理程序:lambda_函数。lambda_处理程序
描述:这是示例lambda函数。
超时:10
内存大小:128
-.lamvery.secret.yml
……代码::yml
key_id:xxxx yyyy zzz<;-这里!
密码文本:{}
机密文件:{}
4。加密机密文件并将其存储到您的配置文件中
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令示例:
代码:sh
lamvery encrypt file-s-n foo.txt/path/to/local/confidential/file
5.编写函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用此命令生成骨架函数。
……代码::sh
lamvery generate-k函数
代码::py
import lamvery
def lambda_handler(事件,上下文):
print(打开(lamvery.secret.file('foo.txt','r').read())
-node.js
代码::js
var lamvery=require('./lamvery.js');
exports.lambda_handler=function(event,context){
lamvery.secret.file('foo.txt',function(err,path){
fs.readfile(path,'utf-8',function(err,txt){
console.log(txt);
});
});
}
6。部署您的函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令示例:
……代码:sh
lamvery deploy
7.调用函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令示例:
……代码::sh
lamvery invoke{}
结果示例:
:
start requestid:13829c9c-9f13-11e5-921b-6f048cff3c2d版本:$latest
这是一个机密文件
end requestid:13829c9c-9f13-11e5-921b-6f048cff3c2d
-源代码托管在"github"<;https://github.com/marcy terui/lamvery>;`\u
-报告有关"github
问题的问题/问题/功能请求<;https://github.com/marcy terui/lamvery/issues>;`\u
pull请求非常受欢迎!确保您的补丁经过了良好的测试。
理想情况下,为您所做的每个单独更改创建一个主题分支。对于
示例:
1。分拆回购
2。创建功能分支(``git checkout-b my new feature``)
3。提交更改(``git commit-am'添加了一些功能'``')
4。推到分支(``git push origin my new feature``)
5。创建新的拉取请求
authors
----
由"masashi
terui<;https://github.com/marcy terui>;`(marcy9114@gmail.com)
license
----
`license<;https://github.com/marcy terui/lamvery/blob/master/license>;```uuuu)
|构建状态图像::https://img.shields.io/travis/marcy terui/lamvery/master.svg
:目标:http://travis ci.org/marcy terui/lamvery
。|覆盖率图像::https://img.shields.io/covertalls/marcy terui/lamvery.svg
:目标:https://covertalls.io/github/marcy terui/lamvery
…|审查者代码质量图像::https://scrunizer-ci.com/g/marcy-terui/lamvery/badges/quality-score.png?b=主控
:目标:https://scrunizer-ci.com/g/marcy-terui/lamvery/?分支=主
…|版本image::https://img.shields.io/pypi/v/lamvery.svg
:目标:https://pypi.python.org/pypi/lamvery
==
构建状态覆盖范围审查程序代码质量版本
描述
==
aws lambda功能的用户友好部署和管理工具。
为什么用户友好?~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-我们可以通过"jinja2"模板避免一些多余的内容引擎
标准lambda函数中不包含的附加功能
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^文件使用``kms``加密
-以及更多
**正确**到先前版本的alias
-deply(build)hooks
-以及更多
使用和管理相关服务的更有用功能
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^事件
-cloudwatch日志
-以及更多
requirements
==
-python2.7
-pip
建议
==
-virtualenv
**自动收集virtualenv中的轻量级和编译的库环境.*
安装代码::sh
pip安装lamvery
apt
--
…代码::sh
echo"deb https://dl.bintray.com/willyworks/deb trusty main"sudo tee-a/etc/apt/sources.list
sudo apt get update
sudo apt get install lamvery
export path=/opt/lamvery/bin:$path
代码::sh
echo"
[bintraybintry willyworks rpm]
name=bintray willyworks rpm
baseurl=https://dl.bintray.com/willyworks/rpm/centos/\$releaserver/\$basearch/
gpgcheck=0
enabled=1
"sudo tee-a/etc/yum.repos.d/bintray willyworks rpm.repo
sudo yum install lamvery
export path=/opt/lamvery/bin:$path
代码::sh
lamvery init
``.lamvery.yml``)
——代码::yml
profile:private
region:us-east-1
version:true
default_alias:test
clean_build:false
configuration:
name:lamvery test
runtime:python2.7
role:{{env['aws\u lambda_role']}
handler:lambda_函数。lambda_处理程序
描述:这是示例lambda函数。
超时:10
内存大小:128
环境变量:
myenv:foobar
vpc_配置:
子网:
-子网-cadf293
安全组:
-sg-4d095028
profile
~~~~~~~~
要使用的配置文件的名称。如果没有给定,则取决于环境的区域名。它取决于``boto3`。
r/>
clean构建
~~~~~~~~~~~~~~
在临时区域中构建存档(zip)。
配置
~~~~~~~~~~~~~~
-名称
函数的名称。
-运行时
正在上载的lambda函数的运行时环境。
|目前,`` lamvery``支持``python2.7``和``nodejs``.
-role
函数的iam角色的amazon资源名称(arn)。
-handler
代码中lambda调用以开始执行的函数。
-描述函数。
-超时
lambda终止函数的函数执行时间(秒)。
-内存大小
函数环境的内存量。
-环境变量
环境变量。
-vpc配置
vpc中访问资源的函数的vpc配置。
-subnets
vpc中的子网ID。
-security组
``.lamvery.event.yml```)
——代码::yml
规则:
-名称:foo
描述:bar
计划:'rate(5分钟)'
目标:
-id:测试目标id
输入:
此:
-为:a
-示例:输入
规则
~-|禁用
当此设置为真时,将cloudwatch事件
规则的状态更改为"禁用"。
jsonpath的值,用于在将匹配事件传递给目标时提取部分匹配事件。
*``input``和``input`path``是相互排斥的可选目标参数。*
``.lamvery.secret.yml``)
——代码::yml
密钥id:{{env['aws_kms_key_id']}
密码文本:
foo:4W9L7Haxaueen+D9YJMYY1U1I7VVQZ9I8+E2ubkxaqebagbagB4umVZyox2WWWWZy2WWWZy2WWZy2WWZy2WWZy2WWWZYN7WFBMN7WFM/SPPNTLAAABMGWGWWQQQQFBFBQQBQWQBQWQBQWQBQWQBQWQWQQQQQBWWWWQQQQQQQQQQBWWWWQQQQQQQQQQQQQQQQQQWWWWWQQQQQQQQQQQQQQWWWWWWWQQQQQQ>键ID在KMS上加密密钥的。
>要传递给lambda函数的名称和密码文本。
要传递给lambda函数的文件名和加密内容。
存档(默认值:``.lamvery.exclude.yml``)
——代码::yml
-^.lamvery\.yml$
-^.lamvery\.event\.yml$
-^.lamvery\.secret\.yml$
-^.lamvery\.exclude\.yml$
使用正则表达式排除文件或目录。
action hooks(默认值:``.lamvery.hook.yml```)
——代码::yml
build:
pre:
-pip install-r requirements.txt-t./
post:[]
build
~~
一个接一个的建筑.
API网关集成(默认值:``.lamvery.api.yml``)
——代码::yml
api id:myipugal74
阶段:dev
cors:
来源:'*'
方法:
-获取
-选项
标题:
-内容类型
-x-amz-date
-授权
-x-api-key
配置:
招摇过市:"2.0"
信息:
标题:示例api
方案:
-https
路径:
/:
获取:
生成:
-应用程序/json
参数:
-名称:示例
in:查询
必需:false
类型:字符串
响应:
'200':
描述:200响应
架构:
$ref:'/definitions/sample'
定义:
示例:
类型:object
rest api的id。
当您使用
``-w``选项部署api时,会自动写入此项。
stage
~~
(跨源资源共享)选项。
如果未设置"x-amazon-apigateway-integration"选项,
这些是自动设置的。
-origin
用于名为"access control allow origin"的响应头。
-header s
用于名为"access control allow headers"的响应头。
-methods
用于名为"访问控制允许方法"。
这些是自动设置的。
代码::sh
lamvery build[-e<;env name>;=<;env value>;]
部署
~代码::sh
lamvery deploy[-e<;env name>;=<;env value>;][-a<;alias>;]
rollback
~~~~~
-回滚到函数的前一版本
**使用此命令必须执行以下操作之一。**
-deploy with``publish(-p,--publish)``和`` alias(-a,--alias)`
选项。
-在配置文件中打开(true)``版本控制``并将值设置为``默认别名`'。
::
lamvery rollback[-a<;alias>;]
将别名设置为功能
…代码::sh
lamvery set alias-a<;alias>;-v<;alias version>;
encrypt
~~~~~~~
-使用kms加密文本值
。代码::sh
lamvery encrypt[-s]-n<;secret name>;<;secret value>;
加密文件
~~~~~~~~~~~~~~
-使用kms加密文件
。代码::sh
lamvery encrypt[-s]-n<;filename>;<;本地文件路径>;
代码::sh
lamvery decrypt-n<;secret name>;
事件
~~~~~
-应用CloudWatch事件设置
…代码::sh
lamvery事件[-k][-a<;alias>;]
invoke
~~~~~
-调用函数并输出结果
代码::sh
lamvery invoke[-a<;alias>;][-v<;vers离子]{"foo":"bar"}
代码::sh
lamvery invoke[-a<;alias>;][-v<;version>;]path/to/input.json
logs
~~~~~
-查看函数的日志事件
。代码::sh
lamvery日志[-f][-f<;filter>;][-s<;start time string>;][-i<;interval seconds>;]
-管理api
……代码::sh
lamvery api[-n][-r][-s<;stage name>;][-w]
generate
~~~~~~~~~
-generate skeleton files
代码::sh
lamvery generate-k<;文件类型>;
options
----
```-a``或``--alias`
~~~~~~~~~~~~~~~~~~~~~~~~
\`` api`
命令。
函数版本的别名。
`-c``或`--conf file``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
所有命令都需要此选项。
指定配置文件。
默认值:```.lamvery.yml`
`-d``或``--干运行`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此选项是
``deploy`、``alias`、``rollback`、``events`所必需的,\`` api``命令。
输出配置和别名的差异,而不进行更新。
`-s``或`——单个文件`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
因此,您可以在
aws管理控制台中进行内联编辑。
``-l``或`——没有libs``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``archive``和``deploy``命令需要此选项。
``--秘密名称``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~是的将
版本作为原子操作发布。
``-k``或`--保留空事件`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此选项仅由"events"命令需要。保留空的
cloudwatch事件规则,该规则没有cloudwatch事件目标。
`-s``或`--store`
~~~~~~~~~~~~~~~~~~~~~~
|需要`-n``或``--secret name``选项。
``-v``或`--version``
~~~~~~~~~~~~~~~~~~~~~~~~~~
``invoke``需要此选项,\``回滚`
命令。
函数版本。
``-f``或`——跟随`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此选项仅由``logs``命令需要。
``--过滤```
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(秒)监视日志事件。
`-s``或`--start`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``此选项仅由``logs``命令需要。
`;开始监视日志事件的时间。
`"2016-01-01 10:20:01:01:01:2016-01:01:01:30```
``-t``或````--target``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
>
````set alias``命令只需要这个选项。
124;设置别名的目标版本的别名。
>
>
``````-e```或```````````````````````~~~~~~~~~
选项是"archive"和"deploy"命令所必需的。
传递给函数的环境变量。
**此选项可以是反复用于传递多个变量的示例:``foo=bar``
>
>``-r``````````````````````~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
仅由"api"命令需要。
api网关中阶段的名称。
`-w``或`--write id``
~~~~~~~~~~~~~~~~~~~~~~~~
``.lamvery.api.yml```>
``-n``或````—不集成````
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``生成``命令。
文件的类型。
允许的值:``函数`
``-n``或`--名称`
~~~~~~~~~~~~~~~~~~~~~~
lambda函数
==============================
1。在kms上创建密钥
~~~~~~~~~~~~~~~~~~~~~~~~~
请参见:
https://docs.aws.amazon.com/kms/latest/developerguide/create keys.html
2。为lambda函数创建iam角色
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
策略示例:
……代码::json
{
"version":"2012-10-17",
"statement":[
{
"effect":"allow",
"action":[
"kms:decrypt"
],
"resource":[
"arn:aws:kms:us-east-1:<;您的帐号>;:key/<;您的密钥id>;"
]
}
]
]
}
}
3。将密钥ID设置为配置文件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
配置示例:
-.lamvery.yml
。代码::yml
profile:default
region:us-east-1
version:false
default\u alias:null
configuration:
name:sample\u lambda\u function
runtime:python2.7或nodejs
role:arn:aws:iam::00000000:role/lambda\u basic\u execution
处理程序:lambda_函数。lambda_处理程序
描述:这是示例lambda函数。
超时:10
内存大小:128
-.lamvery.secret.yml
……代码::yml
key_id:xxxx yyyy zzz<;-这里!
密码文本:{}
机密文件:{}
4。加密机密信息并将其存储到配置文件中
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~代码::sh
lamvery encrypt-s-n foo"这是个秘密"
5。编写函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用此命令生成骨架函数。
……代码::sh
lamvery generate-k函数
代码::py
-node.js
代码::js
var lamvery=require('./lamvery.js');
exports.lambda_handler=function(event,context){
lamvery.secret.get('foo',function(err,data){
console.log(data);
}
部署您的函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令示例:
……代码:sh
lamvery deploy
7.调用函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令示例:
……代码::sh
lamvery invoke{}
结果示例:
:::
start请求ID:13829C9C-9F13-11E5-921B-6F048CFF3C2D:13829C9C-9F13-11E5-921B-6F048CFF3C2D:13829C9C-9F13-11E5-921B-6F048CFF3C2D这是一个秘密
>如何使用lambda函数中的机密文件
=======================================================================================/>
1.在kms上创建密钥
~~~~~~~~~~~~~~~~~~~~~~~~~
请参见:
https://docs.aws.amazon.com/kms/latest/developerguide/create keys.html
2。为lambda函数创建iam角色
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
策略示例:
……代码::json
{
"version":"2012-10-17",
"statement":[
{
"effect":"allow",
"action":[
"kms:decrypt"
],
"resource":[
"arn:aws:kms:us-east-1:<;您的帐号>;:key/<;您的密钥id>;"
]
}
]
]
}
}
3。将密钥ID设置为配置文件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
配置示例:
-.lamvery.yml
。代码::yml
profile:default
region:us-east-1
version:false
default\u alias:null
configuration:
name:sample\u lambda\u function
runtime:python2.7或nodejs
role:arn:aws:iam::00000000:role/lambda\u basic\u execution
处理程序:lambda_函数。lambda_处理程序
描述:这是示例lambda函数。
超时:10
内存大小:128
-.lamvery.secret.yml
……代码::yml
key_id:xxxx yyyy zzz<;-这里!
密码文本:{}
机密文件:{}
4。加密机密文件并将其存储到您的配置文件中
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令示例:
代码:sh
lamvery encrypt file-s-n foo.txt/path/to/local/confidential/file
5.编写函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用此命令生成骨架函数。
……代码::sh
lamvery generate-k函数
代码::py
import lamvery
def lambda_handler(事件,上下文):
print(打开(lamvery.secret.file('foo.txt','r').read())
-node.js
代码::js
var lamvery=require('./lamvery.js');
exports.lambda_handler=function(event,context){
lamvery.secret.file('foo.txt',function(err,path){
fs.readfile(path,'utf-8',function(err,txt){
console.log(txt);
});
});
}
6。部署您的函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令示例:
……代码:sh
lamvery deploy
7.调用函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令示例:
……代码::sh
lamvery invoke{}
结果示例:
:
start requestid:13829c9c-9f13-11e5-921b-6f048cff3c2d版本:$latest
这是一个机密文件
end requestid:13829c9c-9f13-11e5-921b-6f048cff3c2d
-源代码托管在"github"<;https://github.com/marcy terui/lamvery>;`\u
-报告有关"github
问题的问题/问题/功能请求<;https://github.com/marcy terui/lamvery/issues>;`\u
pull请求非常受欢迎!确保您的补丁经过了良好的测试。
理想情况下,为您所做的每个单独更改创建一个主题分支。对于
示例:
1。分拆回购
2。创建功能分支(``git checkout-b my new feature``)
3。提交更改(``git commit-am'添加了一些功能'``')
4。推到分支(``git push origin my new feature``)
5。创建新的拉取请求
authors
----
由"masashi
terui<;https://github.com/marcy terui>;`(marcy9114@gmail.com)
license
----
|构建状态图像::https://img.shields.io/travis/marcy terui/lamvery/master.svg
:目标:http://travis ci.org/marcy terui/lamvery
。|覆盖率图像::https://img.shields.io/covertalls/marcy terui/lamvery.svg
:目标:https://covertalls.io/github/marcy terui/lamvery
…|审查者代码质量图像::https://scrunizer-ci.com/g/marcy-terui/lamvery/badges/quality-score.png?b=主控
:目标:https://scrunizer-ci.com/g/marcy-terui/lamvery/?分支=主
…|版本image::https://img.shields.io/pypi/v/lamvery.svg
:目标:https://pypi.python.org/pypi/lamvery