PowerShell-如何将自定义模块打包到AWS Lamdba的zip包中
我正在尝试将一个脚本打包为Lambda函数。该脚本从同一文件夹中的其他ps1文件加载一些函数。当前使用“.”来包括。 当我尝试使用PowerShell-如何将自定义模块打包到AWS Lamdba的zip包中,powershell,aws-lambda,Powershell,Aws Lambda,我正在尝试将一个脚本打包为Lambda函数。该脚本从同一文件夹中的其他ps1文件加载一些函数。当前使用“.”来包括。 当我尝试使用New awspowerShelllambdackage-ProjectDirectory projectName-OutputPackage projectName.zip来打包脚本文件时,它总是失败,错误如下 Line | 253 | throw $msg | ~~~~~~~~~~ | Er
New awspowerShelllambdackage-ProjectDirectory projectName-OutputPackage projectName.zip来打包脚本文件时,它总是失败,错误如下
Line |
253 | throw $msg
| ~~~~~~~~~~
| Error publishing PowerShell Lambda Function: -1 CALLSTACK: Command Arguments Location -------
| --------- -------- _packageProject
| {OutputPackage=C:\Users\tom\projectName\projectname.zip, BuildDirectory=projectName} _DeploymentFunctions.ps1: line 251 New-AWSPowerShellLambdaPackage {ProjectDirectory=projectName,
| OutputPackage=projectName.zip} New-AWSPowerShellLambdaPackage.ps1: line 182 <ScriptBlock> {}
| <No file>
行|
253 |扔$msg
| ~~~~~~~~~~
|发布PowerShell Lambda函数时出错:-1调用堆栈:命令参数位置-------
|------------------------包装工程
|{OutputPackage=C:\Users\tom\projectName\projectName.zip,BuildDirectory=projectName}\u DeploymentFunctions.ps1:第251行新的AWSPowerShelllambdackage{ProjectDirectory=projectName,
|OutputPackage=projectName.zip}New-awspowershelllambdackage.ps1:第182行{}
|
这是因为我使用“.”来获取其他ps1文件的源文件吗?我应该把它们转换成模块吗?
任何人都可以为此提供任何文档?
我似乎找不到任何详细说明如何打包PowerShell lambda的好来源。我能找到的所有示例都是针对单个ps1文件的 您需要有一个适当的.csproj
文件才能使用-ProjectDirectory
开关
我通常使用以下程序:
使用带有-StagingDirectory
开关的新AWSPowerShellLambdaPackage
生成项目结构:
新建AWSPowerShellLambdaPackage-StagingDirectory项目名称-ScriptPath。\projectName.ps1-OutputPackage项目名称.zip
修改projectName.csproj
以包含其他文件。以下示例将additionalScript.ps1
和SQL
文件夹中的所有文件添加到包中:
保存最新
保存最新
保存最新
保存最新
使用带有-ProjectDirectory
开关的新建AWSPowerShellLambdPackage
来构建包:
New AWSPowerShellLambdaPackage-ProjectName-ProjectName-OutputPackage ProjectName.zip