本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
安装Amazon SAMLinux 上的 CLI
这些区域有:Amazon SAM最近发行的 CentOS、Fedora、Ubuntu 和 Amazon Linux 2 的 64 位版本支持命令行界面 (CLI)。安装Amazon SAMCLI,您必须提取或 “解压缩” 下载的程序包。如果您的操作系统没有内置的 unzip 命令,请使用等效命令。
安装和配置使用Amazon SAM在 Linux 主机上执行 CLI,请执行以下步骤:
-
创建一个 Amazon 账户。
-
配置Amazon Identity and Access Management(IAM) 权限和Amazon凭证。
-
安装 Docker. 注意:Docker 只是在本地测试应用程序或使用
--use-container选项。 -
安装 Amazon SAM CLI。
第 1 步:创建 Amazon 账户
如果您还没有Amazon账户,请参阅aws.amazon.com
第 2 步:配置 IAM 权限和Amazon证书
与之一使用的 IAM 用户Amazon SAM必须有足够的权限才能进行必要Amazon服务呼叫和管理Amazon资源的费用。确保用户拥有足够权限的最简单方法是向他们授予管理员权限。有关更多信息,请参阅 IAM 用户指南中的创建您的第一个 IAM 管理员用户和组。
如果您不想向使用Amazon Command Line Interface(Amazon CLI),您可以向他们授予受限的权限集。有关更多信息,请参阅 权限。
此外,要启用Amazon SAM要做的 CLIAmazon您必须设置服务电话Amazon凭证。有关更多信息,请参阅 设置Amazon证书。
第 3 步:安装 Docker(可选)
只有在本地测试应用程序以及使用--use-container选项。如果您最初不打算使用这些功能,则可以跳过本节或稍后安装 Docker。
Docker 是在 Linux 计算机上运行容器的应用程序。Amazon SAM提供了类似于Amazon Lambda用作 Docker 容器。您可以使用此容器构建、测试和调试无服务器应用程序。
使用本地运行无服务器项目和功能Amazon SAMCLI,你必须安装 Docker 并正常工作。这些区域有:Amazon SAMCLI 使用DOCKER_HOST与 Docker 守护程序联系环境变量。以下步骤介绍如何安装、配置和验证 Docker 安装以使用。Amazon SAMCLI。
Docker 适用于许多不同的操作系统,包括大多数现代 Linux 发行版,例如 CentOS、Debian 和 Ubuntu。有关在特定操作系统上安装 Docker 的信息,请参阅获取 Docker
如果您使用 Amazon Linux 2,请按照以下步骤安装 Docker:
-
更新实例上已安装的程序包和程序包缓存。
sudo yum update -y -
安装最新的 Docker Community Edition 程序包。
sudo amazon-linux-extras install docker -
启动 Docker 服务。
sudo service docker start -
添加
ec2-user到docker组,以便您可以在不使用的情况下运行 Docker 命令sudo.sudo usermod -a -G docker ec2-user -
拿起新的
docker通过注销然后重新登录来分组权限。为此,请关闭当前的 SSH 终端窗口并在新终端窗口中重新连接到实例。您的新 SSH 会话应具有相应的docker组权限。 -
验证是否
ec2-user可以运行 Docker 命令而不使用sudo.docker ps您应看到以下输出,确认已安装并运行 Docker:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
在 Linux 上,要使用与主机不同的指令集架构构建和运行 Lambda 函数,必须采取其他步骤来配置 Docker。例如,要运行arm64在上的函数x86_64计算机上,您可以运行以下命令来配置 Docker 守护程序:docker run --rm --privileged multiarch/qemu-user-static --reset -p
yes.
如果您在安装 Docker 时遇到问题,请参阅故障排除本指南后面的部分。或者,请参阅故障排除
第 4 步:安装Amazon SAMCLI
安装Amazon SAMCLI 上,请按照以下步骤操作:
现在您已准备就绪,可以开始开发。
升级
升级Amazon SAMCLI、执行与中相同的步骤安装Amazon SAMCLI本主题前面的部分,但是添加--update安装命令的选项,如下所示:
sudo ./sam-installation/install --update
卸载
卸载Amazon SAMCLI,必须运行以下命令删除符号链接和安装目录:
-
找到符号链接和安装路径。
-
使用查找符号链接which命令:
which sam输出将显示的路径Amazon SAM例如,二进制文件位于:
/usr/local/bin/sam
-
使用查找符号链接指向的目录ls命令:
ls -l /usr/local/bin/sam在下面的示例中,安装目录是
/usr/local/aws-sam-cli.lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/sam -> /usr/local/aws-sam-cli/current/bin/sam
-
-
删除符号链接。
sudo rm /usr/local/bin/sam -
删除安装目录。
sudo rm -rf /usr/local/aws-sam-cli
每晚构建
每晚构建Amazon SAMCLI 可供你安装。安装完成后,您可以使用sam-nightly命令。您可以安装和使用的生产版本和夜间构建版本Amazon SAM同时提交 CLI。
每晚版本包含一个预发布版本Amazon SAMCLI 代码可能不如生产版本稳定。请注意,夜间构建不包含构建映像的预发行版本,因此使用--use-container选项使用构建映像的最新生产版本。
这个下载链接可以使用每晚版本:Amazon SAMCLI 每晚构建
要验证你是否安装了夜间构建版本,请运行sam-nightly
--version命令。此命令的输出是以格式进行的。1.X.Y.dev<YYYYMMDDHHmm>,例如:
SAM CLI, version 1.20.0.dev202103151200
故障排除
Docker 错误:“无法连接到 Docker 守护程序。docker 守护进程在此主机上运行吗?”
在某些情况下,为提供权限ec2-user要访问 Docker 守护程序,您可能需要重启实例。如果收到此错误,请尝试重启实例。
Shell 错误:“找不到命令”
如果你收到此错误,你的 shell 无法找到Amazon SAM路径中的 CLI 可执行文件。验证已安装的目录的位置Amazon SAMCLI 可执行文件,然后验证目录是否在路径上。
Amazon SAMCLI 错误:“/lib64/libc.so.6:找不到版本 `GLIBC_2.14'(由 /usr/local /aws-sam-cli/dist/libz.so.1 要求)”
如果收到此错误,表示您使用的是不受支持的 Linux 版本,并且内置 glibc 版本已过时。请尝试以下任一操作:
-
将 Linux 主机升级到最近发行的 CentOS、Fedora、Ubuntu 或 Amazon Linux 2 的 64 位版本。
-
按照说明进行操作安装Amazon SAM使用 Linux 上的 CLIHomebrew.
后续步骤
现在,您可以使用开始构建自己的无服务器应用程序。Amazon SAM. 要从示例无服务器应用程序开始,请选择以下链接之一:
-
教程:部署 Hello World 应用程序— 下载、构建和部署简单的无服务器应用程序的分步说明。
-
Amazon SAM示例应用程序和模式
— 来自社区作者的示例应用程序和模式,你可以进一步试验。