我需要为已离开公司的其他人编写的现有Python 2.7程序创建一个AWS Lambda版本。
以一个我需要转换的函数为例:
#!/usr/bin/env python
from aws_common import get_profiles,get_regions
from aws_ips import get_all_public_ips
import sys
def main(cloud_type):
# csv header
output_header = "profile,region,public ip"
profiles = get_profiles(cloud_type)
regions = get_regions(cloud_type)
print output_header
for profile in profiles:
for region in regions:
# public_ips = get_public_ips(profile,region)
public_ips = get_all_public_ips(profile,region)
for aws_ip in public_ips:
print "%s,%s,%s" % (profile,region,aws_ip)
if __name__ == "__main__":
cloud_type = 'commercial'
if sys.argv[1]:
if sys.argv[1] == 'govcloud':
cloud_type = 'govcloud'
main(cloud_type)
我需要知道如何使用上面代码中的事件和上下文参数将其创建为AWS处理程序。
如果我能找到一些有关如何做到这一点的指示,将不胜感激。
答案 0 :(得分:0)
您可以简单地开始在aws labda的处理程序中编写python函数。
在处理程序中,如果有任何类型的依赖关系,则只需在lambda内开始定义函数和变量以及uplaod zip文件。
如果您使用的是python 2.7,则可以按照lambda更改python版本。
我想建议server less框架,并将您的代码升级为lambda。从本地管理依赖代码管理非常容易。
您在这里使用aws_common并导入,您必须检查它是否在aws sdk中。
您可以导入aws-sdk并使用它
var aws = require('aws-sdk');
exports.handler = function (event, context)
{
}
在导出处理程序内部,您可以开始在python中进行循环或进一步开发