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
相关推荐
spider_xcxc1 天前
Redis 深度实践:安全管控、性能压测与持久化分析(二)
运维·前端·redis·云计算·bootstrap·运维开发
得一录1 天前
AutoDL 默认开放并映射公网访问
云计算
JokySue1 天前
外名网深度评测:ICANN认证域名注册商,600多种域名后缀一站搞定
云计算·wordpress·云服务器·域名注册·无代码建站
spider_xcxc2 天前
Redis 数据库高质量实践指南(一)
运维·数据库·redis·oracle·云计算
李子琪。2 天前
云计算虚拟化技术全解析:从理论到实践
linux·centos·云计算
AOwhisky2 天前
Kubernetes(K8s)学习笔记(第十四期):集群存储与有状态应用(下篇):StatefulSet 有状态应用管理
redis·笔记·mysql·云原生·kubernetes·云计算·k8s
黑猫学长呀2 天前
codex CLI使用技巧
c++·人工智能·单片机·嵌入式硬件·ai·云计算·ai编程
AOwhisky2 天前
kubernetes(K8s)学习笔记:第八期与第九期核心知识点自测与详解
笔记·云原生·kubernetes·云计算·k8s·集群·网络策略
威联通网络存储3 天前
基于TS-h3087XU-RP的大型成套空分设备DCS历史趋势数据治理
aws
spider_xcxc3 天前
MySQL备份实战:从小白到熟练使用Percona XtraBackup
mysql·云计算·运维开发·dba