python-lambda-layer-builder开源项目

我要开发同款
匿名用户2021年11月09日
49阅读
开发技术SHELL
所属分类终端/远程登录、应用工具
授权协议MIT License

作品详情

python-lambda-layer-builder

CreatesanAWSLambdaLayersstructurethatisoptimizedfor:LambdaLayerdirectorystructure,compiledlibrarycompatibility,andminimalfilesize.

Thisrepowascreatedtoaddresstheseissues:

ManymethodsofcreatingLambdazipfilesforPythonfunctionsdon'tworkforLambdaLayersThisisduetothefactLambdaLayersrequirespecificlibrarypathswithinthezip,whereregularLambdazipsdon'tCompileddependenciesmustbecreatedinanenvironmentthatmatchestheLambdaruntimeReducesizeofthelayerbyremovingunnecessarylibrariesandfiles

Note:ThisscriptrequiresDockerandusesacontainertomimictheLambdaenvironment.

FeaturesBuildseitherazipfileorarawdirectorystrucutre(e.g.ifyouwanttouseframeworkslikeServerlessforpackaging)containingPythondependenciesandplacesthelibrariesintotheproperdirectorystructureforlambdalayersEnsurescompiledlibrariesarecompatiblewithLambdaenvironmentbyusingthelambci/lambdaDockercontainerthatmimicsthelambdaruntimeenvironmentOptimizedthezipsizebyremoving.pycfilesandunnecessarylibrariesAllowsspecifyinglambdasupportedpythonversions:2.7,3.6,3.7and3.8Automaticallysearchesforrequirements.txtfileinseverallocations:samedirectoryasscriptparentdirectoryorscript(usefulwhenusedassubmodule)functionsub-directoryoftheparentdirectoryInstallation

Thisfunctioncanbeclonedforstandaloneuse,intoaparentrepooraddedasasubmodule.

Cloneforstandaloneuseorwithinarepo:

#Ifinstallingintoanexisitingrepo,navigatetorepodirgitclone--depth1https://github.com/tobilg/python-lambda-layer-builder_build_layer

Alternatively,addasasubmodule:

cd{reporoot}gitsubmoduleaddhttps://github.com/tobilg/python-lambda-layer-builder_build_layer#Updatesubmodulegitsubmoduleupdate--init--recursive--remoteUsage$./build.sh-hAWSLambdaLayerBuilderforPythonLibrariesUsage:build.sh[-pPYTHON_VER][-nNAME][-f][-r][-h][-v]-pPYTHON_VER:Pythonversiontouse:2.7,3.6,3.7,3.8(default3.7)-nNAME:Nameofthelayer-fREQ_PATH:Pathtorequirementsfile-r:Rawmode,don'tziplayercontents-d:Don'tinstallPythondependencies-s:Don'tstrip.sofiles-h:Help-v:Displaybuild.shversionRunthebuilderwiththecommand./build.shor_build_layer/build.shifinstalledinsub-dirItusesthefirstrequirements.txtfilefoundintheselocations(inorder):Inputonthecommandlineusingthe-fswitchSamedirectoryasscriptParentdirectoryofscript(usefulwhenusedassubmodule)Functionsub-directoryoftheparentdirectory(usefulwhenusedassubmodule)OptionallyspecifyPythonVersion-pPYTHON_VER-specifiesthePythonversion:2.7,3.6,3.7,3.8(default3.7)Customcleaninglogic

Youcaneditthe_clean.shfileifyouwanttoaddcustomcleaninglogicforthebuildoftheLambdalayer.Theabovepartofthefilemuststayintact:

#!/usr/bin/envbash#Changetoworkingdirectorycd$1#-----DON'TCHANGETHEABOVE-----#Cleaningstatements#-----CHANGEHERE-----rmtest.xt

The_make.shscriptwillthenexecutethecommandsafterthePythonpackageshavebeeninstalled.

Uninstall

Ifinstalledassubmoduleandneedtoremove

#Removethesubmoduleentryfrom.git/configgitsubmoduledeinit-f$submodulepath#Removethesubmoduledirectoryfromthesuperproject's.git/modulesdirectoryrm-rf.git/modules/$submodulepath#Removetheentryin.gitmodulesandremovethesubmoduledirectorylocatedatpath/to/submodulegitrm-f$submodulepath#removeentryinsubmodulesfilegitconfig-f.git/config--remove-sectionsubmodule.$submodulepath
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论