您的位置:首页 > 科技 > 能源 > AWS SAM CLI 备忘单!

AWS SAM CLI 备忘单!

2024/12/23 9:59:24 来源:https://blog.csdn.net/2401_85233349/article/details/141361681  浏览:    关键词:AWS SAM CLI 备忘单!

安装 AWS SAM CLI

brew tap aws/tap 
brew 安装 aws-sam-cli

验证安装

$ sam --version

升级 SAM

$ 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 操作生成示例事件

示例事件如下所示:

{"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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com