AWS SAM CLI 备忘单!

安装 AWS SAM CLI

ax 复制代码
brew tap aws/tap 
brew 安装 aws-sam-cli

验证安装

ax 复制代码
$ sam --version

升级 SAM

ax 复制代码
$ brew upgrade aws-sam-cli

您需要 AWS 凭证才能在 AWS 上工作。

构建并部署简单应用程序

$ sam init→ 下载示例应用程序

$ sam build→ 构建您的应用程序

$ sam deploy --guided → 部署您的应用程序

$ sam local start-api → 在本地托管您的 API

$ sam local invoke "HelloWorldFunction" -e events/event.json→ 直接调用您的 Lambda 函数。

$ sam package→ 打包 SAM 应用程序。

$ sam publish→ 将 AWS SAM 应用程序发布到 AWS 无服务器应用程序存储库。

$ sam validate→ 验证 AWS SAM 模板文件是否有效。

$ sam local invoke --env-vars env.json "HelloWorldFunction"→ 为 lambda 函数提供环境变量

日志记录

$ sam logs -n HelloWorldFunction --stack-name mystack→ 通过 AWS CloudFormation 堆栈获取日志

$ sam logs -n HelloWorldFunction→ 使用函数名称获取日志。

$ sam logs -n HelloWorldFunction ---- stack-name mystack ---- filter "error" → 过滤日志

生成示例事件

$ sam local generate-event s3 delete→ 为 s3 put 操作生成示例事件

示例事件如下所示:

ax 复制代码
{
  "Records": [
    {
      "eventVersion": "2.0",
      "eventSource": "aws:s3",
      "awsRegion": "us-east-1",
      "eventTime": "1970-01-01T00:00:00.000Z",
      "eventName": "ObjectCreated:Put",
      "userIdentity": {
        "principalId": "EXAMPLE"
      },
      "requestParameters": {
        "sourceIPAddress": "127.0.0.1"
      },
      "responseElements": {
        "x-amz-request-id": "EXAMPLE123456789",
        "x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH"
      },
      "s3": {
        "s3SchemaVersion": "1.0",
        "configurationId": "testConfigRule",
        "bucket": {
          "name": "example-bucket",
          "ownerIdentity": {
            "principalId": "EXAMPLE"
          },
          "arn": "arn:aws:s3:::example-bucket"
        },
        "object": {
          "key": "test/key",
          "size": 1024,
          "eTag": "0123456789abcdef0123456789abcdef",
          "sequencer": "0A1B2C3D4E5F678901"
        }
      }
    }
  ]
}

AWS SAM CLI 配置文件

默认文件名为samconfig.toml

下面是一个示例配置文件,其中包含default环境和deploy命令的七个参数:

Clean Up清理

复制代码
$ aws cloudformation delete-stack --stack-name sam-app --region region
相关推荐
TG_yunshuguoji2 小时前
亚马逊云代理商:如何监控AWS RDS使用率并设置报警?
运维·云计算·aws
菜鸟别浪5 小时前
内存管理-第1章-Linux 内核内存管理概述
linux·运维·云计算·虚拟化·内存管理
灿宝宝lo7 小时前
阿里云OSS视频自动转码的配置详细步骤
阿里云·云计算·音视频
打码人的日常分享7 小时前
双碳智慧园区建设方案(PPT)
大数据·运维·网络·云计算·制造
翼龙云_cloud8 小时前
阿里云渠道商:如何选择适合的预留实例类型和数量?
服务器·阿里云·云计算
翼龙云_cloud8 小时前
亚马逊云代理商:如何在 AWS 控制台上手动重启主实例?
服务器·云计算·aws
没有bug.的程序员8 小时前
云服务成本优化深度进阶:AWS/Aliyun 资源监控内核、自动伸缩物理建模与 FinOps 降本实战指南
云计算·aws·finops·aliyun·自动伸缩·资源监控·物理建模
A-刘晨阳9 小时前
K8S部署kube-state-metrics + CAdvisor 并使用 Prometheus 监控 Kubernetes 指标
运维·云原生·kubernetes·云计算·prometheus·cadvisor·state-metrics
健忘的派大星11 小时前
需求激增800%!2025年第一硬通货:懂大模型、云计算和硬件的“前沿部署工程师”!
人工智能·算法·架构·langchain·云计算·大模型学习·大模型教程
拥友LikT11 小时前
云计算工程师成长路线
云计算