You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多别名场景下,如何导出AWS Lambda的特定旧版本?

如何导出AWS Lambda的旧版本(非$LATEST)

AWS控制台目前确实不支持直接导出已发布的Lambda版本,仅能导出$LATEST版本。要导出版本#1或#2这类已发布的旧版本,你可以通过AWS CLI或AWS SDK实现,以下是具体方法:

方法1:使用AWS CLI(推荐)

通过CLI可以直接获取对应版本的部署包下载链接,步骤如下:

  1. 确保已安装并配置好AWS CLI(已配置对应权限)。

  2. 执行以下命令获取目标版本的预签名下载URL:

    • 通过版本号导出:
      aws lambda get-function --function-name <你的Lambda函数名> --qualifier 1 --query 'Code.Location' --output text
      
    • 通过别名导出(比如PRD指向版本#1):
      aws lambda get-function --function-name <你的Lambda函数名>:PRD --query 'Code.Location' --output text
      

    替换<你的Lambda函数名>为实际函数名称,--qualifier参数可以填版本号(如1、2)或别名(如PRD、SBX)。

  3. 命令执行后会返回一个有效期为10分钟的预签名URL,直接复制到浏览器或用curl命令即可下载对应的部署包(.zip格式)。

方法2:使用AWS .NET SDK(适合C#开发场景)

如果你习惯用代码实现,可以借助AWS Lambda的.NET SDK获取下载链接:

首先安装Amazon.Lambda NuGet包,然后使用以下代码示例:

using Amazon.Lambda;
using Amazon.Lambda.Model;
using System.Net.Http;

var lambdaClient = new AmazonLambdaClient();
var request = new GetFunctionRequest
{
    FunctionName = "<你的Lambda函数名>",
    Qualifier = "1" // 可替换为版本号或别名,如"PRD"
};

var response = await lambdaClient.GetFunctionAsync(request);
var downloadUrl = response.Code.Location;

// 下载部署包
using var httpClient = new HttpClient();
var zipContent = await httpClient.GetByteArrayAsync(downloadUrl);
// 将zipContent写入本地文件
await File.WriteAllBytesAsync("lambda-version-1.zip", zipContent);

说明

下载得到的是Lambda的部署包(.zip文件),对于C#构建的Lambda,解压后可以看到编译后的程序集(.dll文件)及相关依赖,符合你无法通过控制台查看代码的场景。

内容的提问来源于stack exchange,提问作者infernal_lad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 08:30:52