安装Amazon SAMLinux 上的 CLI - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

安装Amazon SAMLinux 上的 CLI

这些区域有:Amazon SAMCentOS、Fedora、Ubuntu 和 Amazon Linux 2 的 64 位版本支持命令行界面 (CLI)。安装Amazon SAMCLI 中,您必须提取或 “解压缩” 下载的程序包。如果您的操作系统没有内置的 unzip 命令,请使用等效命令。

安装和配置使用Amazon SAM在 Linux 主机上执行 CLI,请执行以下步骤:

  1. 创建一个 Amazon 账户。

  2. 配置Amazon Identity and Access Management(IAM) 权限和Amazon凭证。

  3. 安装 Docker. 注意:Docker 只是在本地测试应用程序或使用--use-container选项。

  4. 安装 Amazon SAM CLI。

第 1 步:创建 Amazon 账户

如果您还没有Amazon账户,请参阅aws.amazon.com然后选择创建Amazon账户. 有关详细说明,请参阅如何创建和激活新的Amazon账户?

第 2 步:配置 IAM 权限和Amazon凭证

与之一使用的 IAM 用户Amazon SAM必须有足够的权限才能进行必要Amazon服务呼叫和管理Amazon资源的费用。确保用户拥有足够权限的最简单方法是向他们授予管理员权限。有关更多信息,请参阅 。创建您的第一个 IAM 管理员用户和组中的IAM 用户指南.

注意

如果您不想将管理员权限授予使用Amazon Command Line Interface(Amazon CLI),您可以向他们授予受限的权限集。有关更多信息,请参阅Permissions

此外,要启用Amazon SAM要制作的 CLIAmazon您必须设置服务电话Amazon凭证。有关更多信息,请参阅设置Amazon凭证

第 3 步:安装 Docker(可选)

注意

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在 Docker 网站上进行此操作。

如果您使用的是 Amazon Linux 2,请执行以下步骤安装 Docker:

  1. 更新实例上已安装的程序包和程序包缓存。

    sudo yum update -y
  2. 安装最新的 Docker Community Edition 程序包。

    sudo amazon-linux-extras install docker
  3. 启动 Docker 服务。

    sudo service docker start
  4. 添加ec2-userdocker组以便您可以在没有使用的情况下运行 Docker 命令sudo.

    sudo usermod -a -G docker ec2-user
  5. 拿起新的docker通过注销然后重新登录来分组权限。要执行此操作,请关闭当前的 SSH 终端窗口并在新终端窗口中重新连接到实例。您的新 SSH 会话应有相应的docker组权限。

  6. 验证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 时遇到问题,请参阅Troubleshooting本指南后面的一节。或者,请参阅故障排除的部分Linux 的安装后步骤在 Docker 网站上进行此操作。

第 4 步:安装Amazon SAMCLI

安装Amazon SAMCLI 上,请按照以下步骤操作:

x86_64
  1. 下载Amazon SAMCLI 压缩文件到您选择的目录。

  2. 使用以下命令生成哈希值,验证已下载的安装程序文件的完整性和真实性:

    sha256sum aws-sam-cli-linux-x86_64.zip

    输出应与以下示例类似:

     <64-character SHA256 hash value> aws-sam-cli-linux-x86_64.zip

    将 64 个字符的 SHA256 哈希值与所需的哈希值进行比较Amazon SAM中的 CLI 版本Amazon SAMCLI 发行说明(位于 GitHub 上)。

  3. 将安装文件解压到sam-installation/子目录。

    unzip aws-sam-cli-linux-x86_64.zip -d sam-installation
  4. 安装 Amazon SAM CLI。

    sudo ./sam-installation/install
  5. 验证安装。

    sam --version

    安装成功后,您应看到类似以下内容的输出:

     SAM CLI, version 1.18.0
ARM
  1. 使用pip安装Amazon SAMCLI。

    pip install aws-sam-cli
  2. 验证安装。

    sam --version

    安装成功后,您应看到类似以下内容的输出:

     SAM CLI, version 1.18.0

现在,您已准备好启动开发了。

Upgrading

升级Amazon SAMCLI,请执行与中相同的步骤安装Amazon SAMCLI本主题前面的部分,但是添加--update安装命令的选项,如下所示:

sudo ./sam-installation/install --update

Uninstalling

卸载Amazon SAMCLI,必须通过运行以下命令删除符号链接和安装目录:

  1. 找到符号链接和安装路径。

    • 使用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
  2. 删除符号链接。

    sudo rm /usr/local/bin/sam
  3. 删除安装目录。

    sudo rm -rf /usr/local/aws-sam-cli

每晚构建

每晚构建Amazon SAMCLI 可供你安装。安装后,您可以使用sam-nightly命令。您可以安装和使用Amazon SAM同时提交 CLI。

每晚版本包含的预发布版本Amazon SAMCLI 代码可能不如生产版本稳定。请注意,夜间构建不包含构建映像的预发行版本,因此使用--use-container选项使用构建映像的最新生产版本。

这个下载链接可以使用每晚版本:Amazon SAMCLI 每晚构建. 安装的夜间构建版本Amazon SAMCLI,请执行与中相同的步骤第 4 步:安装Amazon SAMCLI本主题前面的部分,但请改用每晚构建下载链接。你可以在Amazon SAM夜间构建的 CLI 发布说明(位于 GitHub 上)。

要验证你是否安装了夜间构建版本,请运行sam-nightly --version命令。此命令的输出是以下格式:1.X.Y.dev<YYYYMMDDHHmm>,例如:

SAM CLI, version 1.20.0.dev202103151200

Troubleshooting

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 版本已过时。请尝试以下任一操作:

后续步骤

现在,您可以使用开始构建自己的无服务器应用程序。Amazon SAM. 要从示例无服务器应用程序开始,请选择下列链接之一: