AWS SAM 的文档历史记录 - AWS Serverless Application Model

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS SAM 的文档历史记录

下表描述此《AWS Serverless Application Model 开发人员指南》每次发布时进行的重要更改。如需有关此文档更新的通知,您可以订阅 RSS 源。

  • 上次文档更新日期:2024 年 6 月 20 日

变更说明日期

重组并更新了整个开发人员指南中的内容

重新组织并重构了指南,以提高可发现性和可用性。更新和改进了标题。在介绍主题和概念时提供了额外的详细信息。

2024 年 6 月 20 日

增加了 AWS SAMCLI 对 Ruby 3.3 的支持

Ruby 3.3 现已作为运行时和映像存储库提供。有关详细信息,请参阅 Image repositoriessam init

2024 年 4 月 4 日

增加了 AWS SAMCLI 命令选项

sam local start-api 命令有新选项可用:--ssl-cert-file PATH--ssl-key-file PATH。此外,新的命令行选项 --add-host LIST 可用于 sam local invokesam local start-apisam local start-lambda

2024 年 3 月 20 日

增加了 AWS SAMCLI 对 .NET 8 的支持

.NET 8 现已作为运行时和映像存储库提供。不再支持 .NET Core 3.1、Node.js 14、Node.js 12、Python 3.7、Ruby 2.7 的运行时间和映像存储库。请参阅 Image repositoriessam init

2024 年 2 月 22 日

为 Linux 添加了 AWS SAMCLI arm64 软件包安装程序

有关说明,请参见安装 AWS SAMCLI

2023 年 12 月 6 日

为 AWS SAMCLI sam sync 命令添加了 --watch-exclude 选项

禁止文件和文件夹启动同步。要了解更多信息,请参阅指定不会启动同步的文件和文件夹

2023 年 12 月 6 日

为 AWS SAMCLI sam sync 命令添加了 --build-in-source 选项

在源文件夹中构建项目以加快构建过程。要了解更多信息,请参阅通过在源文件夹中构建项目来加快构建时间

2023 年 12 月 6 日

为 AWS SAMCLI sam build 命令添加了 --build-in-source 选项

在源文件夹中构建项目以加快构建过程。要了解更多信息,请参阅通过在源文件夹中构建项目来加快构建时间

2023 年 12 月 6 日

增加了对 AWS SAMCLI remote invoke 命令的新资源支持

sam remote invoke 与 Kinesis Data Streams 应用程序、Amazon SQS 队列和 Step Functions 状态机配合使用。要了解更多信息,请参阅使用 sam remote 调用

2023 年 11 月 15 日

针对可共享测试事件增加了新的 AWS SAMCLI remote test-event 命令

使用 AWS SAM CLI 访问和管理 EventBridge 架构注册表中的可共享测试事件,以便在 AWS 架构 中测试 Lambda 函数。要了解更多信息,请参阅使用 sam remote test-event

2023 年 10 月 3 日

对 Terraform 的 AWS SAM CLI 支持现已正式发布

要详细了解 Terraform 的 AWS SAM CLI 支持,请参阅 AWS SAM CLITerraform支持

2023 年 9 月 5 日

增加了 AWS SAMCLI 对 Terraform Cloud 的支持

AWS SAM CLI 现在支持 Terraform Cloud 的本地测试。要了解更多信息,请参阅设置 Terraform Cloud

2023 年 9 月 5 日

增加了对 AWS SAMCLI 配置文件的 YAML 文件格式支持

AWS SAM CLI 现在支持 [.yaml|.yml] 文件格式。更新了配置 AWS SAM CLIAWS SAM CLI 配置文件页面。

2023 年 7 月 18 日

增加了对 Terraform 的 AWS SAMCLIsam local start-api 命令支持

更新了什么是 Terraform 的 AWS SAM CLI 支持部分,以纳入对 Terraform 的 AWS SAM CLI sam local start-api 命令支持。

2023 年 7 月 6 日

增加了新的 AWS SAMCLI remote invoke 命令

要开始使用 sam remote invoke,请参阅 Using sam remote invoke

2023 年 6 月 22 日

增加了 AWS AppSyncGraphQL API 无服务器资源类型

创建了新的 AWS::Serverless::GraphQLApi 章节,来描述如何使用 AWS SAM 来定义 GraphQL API 资源。

2023 年 6 月 22 日

增加了 AWS SAMCLI 对 Ruby 3.2 的支持

更新了 sam init 页面,以纳入新的基本映像和运行时值。使用 Ruby 3.2 Amazon ECR URI 更新了映像存储库页面。

2023 年 6 月 6 日

增加了验证 AWS SAMCLI 软件包安装程序完整性的可选步骤

更新了安装 AWS SAM CLI 页面以反映可选步骤。创建了验证 AWS SAM CLI 安装程序的完整性页面以记录步骤。

2023 年 5 月 31 日

增加了 sam 同步选项以跳过基础设施同步

自定义每次运行 sam sync 时是否需要部署 CloudFormation。要了解更多信息,请参阅跳过初始 CloudFormation 部署

2023 年 3 月 23 日

增加了对 DocumentDB 事件源类型的支持

AWS SAM 模板规范现在支持 AWS::Serverless::Function 资源 DocumentDB 的事件源类型。要了解更多信息,请参阅 DocumentDB

2023 年 3 月 10 日

使用 Cargo Lambda 构建 Rust Lambda 函数

使用 AWS SAM CLI 通过 Cargo Lambda 构建 Rust Lambda 函数。要了解更多信息,请参阅使用 Cargo Lambda 构建 Rust Lambda 函数

2023 年 2 月 23 日

在 AWS SAM 外部构建函数资源

增加了有关在使用 sam build 命令时跳过函数的指导。要了解更多信息,请参阅在 AWS SAM 外部构建函数

2023 年 2 月 14 日

新的嵌入式连接器语法

使用新的嵌入式连接器语法来定义 AWS::Serverless::Connector 资源。要了解更多信息,请参阅使用 AWS SAM 连接器管理资源权限

2023 年 2 月 8 日

为 AWS SAM CLI 增加了新的 sam list 命令

使用 sam list 查看有关无服务器应用程序中资源的重要信息。要了解更多信息,请参阅 sam list

2023 年 2 月 2 日

增加了 esbuild 的 Format 和 OutExtension 构建属性

使用 esbuild 构建 Node.js Lambda 函数现在支持 FormatOutExtension 构建属性。要了解更多信息,请参阅使用 esbuild 构建 Node.js Lambda 函数

2023 年 2 月 2 日

在 AWS SAM 模板规范中增加了运行时管理选项

为 Lambda 函数配置运行时管理选项。要了解更多信息,请参阅RuntimeManagementConfig

2023 年 1 月 24 日

Target 属性添加到 AWS::Serverless::StateMachine 资源的 EventSource。

AWS::Serverless::StateMachine 资源类型支持 EventBridgeRuleSchedule 事件源的 Target 属性。

2023 年 1 月 13 日

为 Lambda 函数配置 SQS 轮询器的扩缩

使用 AWS::Serverless::FunctionScalingConfig 属性配置 SQS 轮询器的扩缩。要了解更多信息,请参阅 ScalingConfig

2023 年 1 月 12 日

使用 cfn-lint 验证 AWS SAM 应用程序

您可以使用 cfn-lint 通过 AWS SAM CLI 验证 AWS SAM 模板。要了解更多信息,请参阅使用 cfn-lint 进行验证

2023 年 1 月 11 日

使用 CloudWatch Application Insights 监控无服务器应用程序

配置 Amazon CloudWatch Application Insights 以监控 AWS SAM 应用程序。要了解更多信息,请参阅使用 CloudWatch Application Insights 监控无服务器应用程序

2022 年 12 月 19 日

增加了适用于 macOS 的 AWS SAM CLI 软件包安装程序

使用新的 macOS 软件包安装程序安装 AWS SAM CLI。要了解更多信息,请参阅安装 AWS SAM CLI

2022 年 12 月 6 日

增加了对 Lambda SnapStart 的支持

为 Lambda 函数配置 SnapStart 以创建快照(快照是初始化函数的缓存状态)。要了解更多信息,请参阅。AWS::Serverless::Function

2022 年 11 月 28 日

增加了对 nodejs18.x 的 AWS SAM CLI 支持

AWS SAM CLI 现在支持 nodejs18.x 运行时系统。要了解更多信息,请参阅 sam init

2022 年 11 月 17 日

增加了有关配置访问权限和权限的指导

AWS SAM提供了两个选项来简化对无服务器应用程序的访问和权限的管理。要了解更多信息,请参阅管理资源访问和权限

2022 年 11 月 17 日

增加了对使用本机 AOT 编译功能构建 .NET 7 Lambda 函数的支持

使用 AWS SAM 构建和打包 .NET 7 Lambda 函数,以便利用本机提前 (AOT) 编译功能改善 Lambda 冷启动时间。要了解更多信息,请参阅使用本机 AOT 编译功能构建 .NET 7 Lambda 函数

2022 年 11 月 15 日

增加了对本地调试和测试的 AWS SAM CLITerraform 支持

使用 Terraform 项目中的 AWS SAM CLI 对 Lambda 函数和层执行本地调试和测试。要了解更多信息,请参阅 AWS SAM CLI Terraform 支持

2022 年 11 月 14 日

增加了对 EventBridge 调度器的 AWS SAM 支持

AWS Serverless Application Model (AWS SAM) 模板规范提供了简单的速记语法,供您用于通过 EventBridge 调度器为 AWS Lambda 和 AWS Step Functions 计划事件。有关更多信息,请参阅使用 EventBridge 调度器计划事件

2022 年 11 月 10 日

简化了 AWS SAM CLI 安装说明

AWS SAM CLI 先决条件和可选步骤被移到单独的页面。可在安装 AWS SAM CLI 中找到受支持的操作系统的安装步骤。

2022 年 11 月 4 日

增加了允许 Windows 10 用户使用长路径的解决方法

AWS SAM CLI 应用程序模板存储库包含一些长文件路径,由于 Windows 10 的 MAX_PATH 限制,这些路径在运行 sam init 时可能会导致错误。有关更多信息,请参阅安装 AWS SAM CLI

2022 年 11 月 4 日

更新了适用于首次部署的逐步部署流程

使用 AWS CodeDeploy 逐步部署 Lambda 函数需要执行两个步骤。要了解更多信息,请参阅首次逐步部署 Lambda 函数

2022 年 10 月 13 日

增加了适用于更多事件类型的其他 Lambda 事件筛选支持

FilterCritera 属性添加到 MSKMQSelfManagedKafka 事件源类型。

2022 年 10 月 13 日

增加了对 AWS SAM 管道的 OpenID Connect (OIDC) 支持

AWS SAM 支持 Bitbucket、GitHub Actions 和 GitLab 持续集成和持续交付 (CI/CD) 平台的 OpenID Connect (OIDC) 用户身份验证。要了解更多信息,请参阅将 OIDC 用户账户与 AWS SAM 管道配合使用

2022 年 10 月 13 日

有关 JwtConfiguration 属性的说明

OAuth2AuthorizerJwtConfiguration 下增加了有关定义 issueraudience 属性的说明。

2022 年 10 月 7 日

Function 和 StateMachine EventSource 的新属性

EnabledState 属性添加到 AWS::Serverless::FunctionCloudWatchEvent 事件源。State 属性添加到 AWS::Serverless::FunctionAWS::Serverless::StateMachineSchedule 事件源。

2022 年 10 月 6 日

AWS SAM 连接器现已正式发布

连接器是一种 AWS SAM 抽象资源类型,标识为 AWS::Serverless::Connector,提供了一种简单而安全的方法来配置无服务器应用程序资源之间的权限。要了解更多信息,请参阅使用 AWS Serverless Application Model 连接器管理资源权限

2022 年 10 月 6 日

向 AWS SAM CLI 添加了新的 sam 同步选项

--dependency-layer--use-container 选项添加到 sam sync

2022 年 9 月 20 日

向 AWS SAM CLI 添加了新的 sam 部署选项

--on-failure 选项添加到 sam deploy

2022 年 9 月 9 日

esbuild 支持现已正式发布

要构建和打包 Node.js Lambda 函数,可以将 AWS SAM CLI 与 esbuild JavaScript 捆绑程序配合使用。

2022 年 9 月 1 日

更新了 AWS SAM CLI 遥测功能

更新了有关收集的系统和环境信息的描述,以纳入用法属性的哈希值。

2022 年 9 月 1 日

增加了对 AWS SAM CLI 的本地环境变量支持

在本地调用 Lambda 函数以及在本地运行 API Gateway 时,可将环境变量与 AWS SAM CLI 配合使用。

2022 年 9 月 1 日

对 Lambda 指令集架构的支持

使用 AWS SAM CLI 为 x86_64arm64 指令集架构构建 Lambda 函数和 Lambda 层。有关更多信息,请参阅 AWS::Serverless::Function 资源类型的 Architectures 属性和 AWS::Serverless::LayerVersion 资源类型的 CompatibleArchitectures 属性。

2021 年 10 月 1 日

生成示例管道配置

使用 AWS SAM CLI 通过新的 sam pipeline bootstrapsam pipeline init 命令为多个 CI/CD 系统生成示例管道。有关更多信息,请参阅生成示例 CI/CD 管道

2021 年 7 月 21 日

AWS SAM CLIAWS CDK 集成(预览版,第 2 阶段)

在公开预览版的第 2 阶段,您可以使用 AWS SAM CLI 来打包和部署 AWS CDK 应用程序。您也可以使用 AWS SAM CLI 直接下载示例 AWS CDK 应用程序。有关更多信息,请参阅AWS Cloud Development Kit (AWS CDK)(预览)

2021 年 7 月 13 日

支持 RabbitMQ 作为函数事件源

增加了对 RabbitMQ 作为无服务器函数事件源的支持。有关更多信息,请参阅 AWS::Serverless::Function 资源类型的 MQ 事件源的 SourceAccessConfigurations 属性。

2021 年 7 月 7 日

使用 Amazon ECR 构建容器映像部署无服务器应用程序

将 Amazon ECR 构建容器映像与 AWS CodePipeline、Jenkins、GitLab CI/CD 和 GitHub Actions 等常见 CI/CD 系统结合使用以部署无服务器应用程序。有关更多信息,请参阅部署无服务器应用程序

2021 年 6 月 24 日

使用 AWS 工具包调试 AWS SAM 应用程序

AWS 工具包现在支持使用集成式开发环境(IDE)和运行时系统的更多组合进行逐步调试。有关更多信息,请参阅使用 AWS 工具包

2021 年 5 月 20 日

AWS SAM CLIAWS CDK 集成(预览)

您现在可以使用AWS SAM CLI 在本地测试和构建 AWS CDK 应用程序。这是公开预览版。有关更多信息,请参阅AWS Cloud Development Kit (AWS CDK)(预览)

2021 年 4 月 29 日

默认容器映像存储库更改为 Amazon ECR Public

默认容器映像存储库从 DockerHub 更改为 Amazon ECR Public。有关更多信息,请参阅映像存储库

2021 年 4 月 6 日

每夜的 AWS SAM CLI 构建

您现在可以安装每夜构建的预发行版 AWS SAM CLI。有关更多信息,请参阅安装 AWS SAM CLI 下您所选的操作系统子主题的每夜构建部分。

2021 年 3 月 25 日

构建容器环境变量支持

您现在可以将环境变量传递到构建容器。有关更多信息,请参阅sam build中的 --container-env-var--container-env-var-file 选项。

2021 年 3 月 4 日

新的 Linux 安装过程

您现在可以使用本机 Linux 安装程序安装 AWS SAM CLI。有关更多信息,请参阅在 Linux 上安装 AWS SAM CLI

2021 年 2 月 10 日

支持 EventBridge 的死信队列

增加了对 EventBridge 的死信队列以及对无服务器函数和状态机的 Schedule 事件源的支持。有关更多信息,请参阅 AWS::Serverless::FunctionAWS::Serverless::StateMachine 资源类型的 EventBridgeRuleSchedule 事件源的 DeadLetterConfig 属性。

2021 年 1 月 29 日

支持自定义检查点

增加了对无服务器函数的 DynamoDB 和 Kinesis 事件源的自定义检查点的支持。有关更多信息,请参阅 AWS::Serverless::Function 资源类型的 KinesisDynamoDB 数据类型的 FunctionResponseTypes 属性。

2021 年 1 月 29 日

支持滚动窗口

增加了对无服务器函数的 DynamoDB 和 Kinesis 事件源的滚动窗口的支持。有关更多信息,请参阅 AWS::Serverless::Function 资源类型的 KinesisDynamoDB 数据类型的 TumblingWindowInSeconds 属性。

2020 年 12 月 17 日

支持热容器

增加了在使用 AWS SAM CLI 命令 sam local start-apisam local start-lambda 进行本地测试时对热容器的支持。有关更多信息,请参阅这些命令的 --warm-containers 选项。

2020 年 12 月 16 日

对 Lambda 容器映像的支持

添加了对 Lambda 容器映像的支持。有关更多信息,请参阅构建应用程序

2020 年 12 月 1 日

支持代码签名

增加了对无服务器应用程序代码的代码签名和可信部署的支持。有关更多信息,请参阅为 AWS SAM 应用程序配置代码签名

2020 年 11 月 23 日

支持并行构建和缓存构建

通过将两个选项添加到 sam build 命令来提高无服务器应用程序构建的性能:--parallel - 此选项会并行而不是按顺序构建函数和层;以及 --cached - 在没有进行任何需要重建的更改时,此选项会使用先前版本中的构建构件。

2020 年 11 月 10 日

支持 Amazon MQ 和双向 TLS 身份验证

增加了对 Amazon MQ 作为无服务器函数事件源的支持。有关更多信息,请参阅 AWS::Serverless::Function 资源类型的 EventSourceMQ 数据类型。还增加了对 API Gateway API 和 HTTP API 的双向传输层安全性协议(TLS)身份验证的支持。有关更多信息,请参阅 AWS::Serverless::Api 资源类型的 DomainConfiguration 数据类型或 AWS::Serverless::HttpApi 资源类型的 HttpApiDomainConfiguration 数据类型。

2020 年 11 月 5 日

针对 HTTP API 的 Lambda 授权方的支持

增加了对 AWS::Serverless::HttpApi 资源类型的 Lambda 授权方的支持。有关更多信息,请参阅 Lambda 授权方示例(AWS::Serverless::HttpApi)

2020 年 10 月 27 日

支持多个配置文件和环境

增加了对多个配置文件和环境的支持,以存储 AWS SAM CLI 命令的默认参数值。有关更多信息,请参阅AWS SAM CLI 配置文件

2020 年 9 月 24 日

支持 X-Ray 与 Step Functions 结合使用,并支持在控制对 API 的访问权限时进行引用

增加了对 X-Ray 作为无服务器状态机事件源的支持。有关更多信息,请参阅 AWS::Serverless::StateMachine 资源类型中 Tracing 属性。还增加了在控制对 API 的访问权限时对引用的支持。有关更多信息,请参阅 ResourcePolicyStatement 数据类型。

2020 年 9 月 17 日

Amazon MSK 支持

增加了对 Amazon MSK 作为无服务器函数事件源的支持。这允许 Amazon MSK 主题中的记录触发 Lambda 函数。有关更多信息,请参阅 AWS::Serverless::Function 资源类型的 EventSourceMSK 数据类型。

2020 年 8 月 13 日

Amazon EFS 支持

增加了对将 Amazon EFS 文件系统挂载到本地目录的支持。这允许 Lambda 函数代码访问和修改共享资源。有关更多信息,请参阅 AWS::Serverless::Function 资源类型中 FileSystemConfigs 属性。

2020 年 6 月 16 日

编排无服务器应用程序

增加了对通过使用 AWS SAM 创建 Step Functions 状态机来编排应用程序的支持。有关更多信息,请参阅使用 AWS Step Functions 编排 AWS 资源AWS::Serverless::StateMachine 资源类型。

2020 年 5 月 27 日

构建自定义运行时系统

增加了构建自定义运行时系统的功能。有关更多信息,请参阅构建自定义运行时系统

2020 年 5 月 21 日

构建层

增加了构建各个 LayerVersion 资源的功能。有关更多信息,请参阅构建层

2020 年 5 月 19 日

生成的 CloudFormation 资源

提供了有关 AWS SAM 生成的 CloudFormation 资源以及如何引用这些资源的详细信息。有关更多信息,请参阅生成的 CloudFormation 资源

2020 年 4 月 8 日

设置 AWS 凭证

增加了关于设置 AWS 凭证的说明,以防您尚未将其设置为与其他 AWS 工具(例如任意 AWS 软件开发工具包或 AWS CLI)一起使用。有关更多信息,请参阅 设置 AWS 凭证

2020 年 1 月 17 日

AWS SAM 规范和 AWS SAM CLI 更新

从 GitHub 迁移了 AWS SAM 规范。有关更多信息,请参阅AWS SAM 规范。还更新了部署工作流程,对 sam deploy 命令进行了更改。

2019 年 11 月 25 日

用于控制 API Gateway API 访问权限的新选项以及策略模板更新

增加了用于控制 API Gateway API 访问权限的新选项:IAM 权限、API 密钥和资源策略。有关更多信息,请参阅控制对 API Gateway API 的访问。还更新了两个策略模板:RekognitionFacesPolicy 和 ElasticsearchHttpPostPolicy。有关更多信息,请参阅 AWS SAM 策略模板

2019 年 8 月 29 日

入门内容更新

更新了“入门”一章,改进了 AWS SAM CLI 安装说明和 Hello World 教程。有关更多信息,请参阅 AWS SAM 入门

2019 年 7 月 25 日

控制 API Gateway API 访问权限

增加了对控制 API Gateway API 访问权限的支持 有关更多信息,请参阅控制对 API Gateway API 的访问

2019 年 3 月 21 日

在 AWS SAM CLI中添加了sam publish

在 AWS SAM CLI 中的新 sam publish 命令简化了在 AWS Serverless Application Repository 中发布无服务器应用程序的过程。有关更多信息,请参阅使用 AWS SAM CLI 发布无服务器应用程序

2018 年 12 月 21 日

支持嵌套应用程序和层

增加了对嵌套应用程序和层的支持。有关更多信息,请参阅使用嵌套应用程序使用层

2018 年 11 月 29 日

在 AWS SAM CLI中添加了sam build

AWS SAM CLI 中新的 sam build 命令简化了有依赖项的无服务器应用程序的编译过程,让您可以在本地测试和部署这些应用程序。有关更多信息,请参阅构建应用程序

2018 年 11 月 19 日

增加了新的 AWS SAM CLI 安装选项

增加了 AWS SAM CLI 的 Linuxbrew (Linux)、MSI (Windows) 和 Homebrew (macOS) 安装选项。有关更多信息,请参阅安装 AWS SAM CLI

2018 年 11 月 7 日

新指南

这是 AWS Serverless Application Model 开发人员指南的首次发布。

2018 年 10 月 17 日