AWS IoT Greengrass:配置安装 AWS CLI

AWS IoT Greengrass:配置安装 AWS CLI

使用 pip 安装 AWS CLI

这是一个用于 Python 的程序包管理器,提供了简单的方式来安装、升级和删除 Python 程序包及其相关组件。

如果您已经有 pip 和支持的 Python 版本,则可以使用以下命令安装 AWS CLI:如果您安装了 Python 3 版本,我们建议您使用 pip3 命令。

pip3 install awscli --upgrade --user

--upgrade 选项通知 pip3 升级已安装的任何必要组件。--user 选项通知 pip3 将程序安装到用户目录的子目录中,以避免修改您的操作系统所使用的库。

升级到最新版本的 AWS CLI

我们建议您定期检查以查看是否有新的 AWS CLI 版本,并尽可能升级到该版本。

使用 pip3 list -o 命令来检查哪些程序包已“过时”:

aws --version
aws-cli/1.16.273 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13.0

pip3 list -o
Package    Version  Latest   Type 
---------- -------- -------- -----
awscli     1.16.170 1.16.198 wheel
botocore   1.12.160 1.12.188 wheel

由于前一个命令显示有较新版本的 AWS CLI 可用,您可以运行 pip3 install --upgrade 以获取最新版本:

pip3 install --upgrade --user awscli
Collecting awscli
  Downloading https://files.pythonhosted.org/packages/dc/70/b32e9534c32fe9331801449e1f7eacba6a1992c2e4af9c82ac9116661d3b/awscli-1.16.198-py2.py3-none-any.whl (1.7MB)
     |████████████████████████████████| 1.7MB 1.6MB/s 
Collecting botocore==1.12.188 (from awscli)
  Using cached https://files.pythonhosted.org/packages/10/cb/8dcfb3e035a419f228df7d3a0eea5d52b528bde7ca162f62f3096a930472/botocore-1.12.188-py2.py3-none-any.whl
Requirement already satisfied, skipping upgrade: docutils>=0.10 in ./venv/lib/python3.7/site-packages (from awscli) (0.14)
Requirement already satisfied, skipping upgrade: rsa<=3.5.0,>=3.1.2 in ./venv/lib/python3.7/site-packages (from awscli) (3.4.2)
Requirement already satisfied, skipping upgrade: colorama<=0.3.9,>=0.2.5 in ./venv/lib/python3.7/site-packages (from awscli) (0.3.9)
Requirement already satisfied, skipping upgrade: PyYAML<=5.1,>=3.10; python_version != "2.6" in ./venv/lib/python3.7/site-packages (from awscli) (3.13)
Requirement already satisfied, skipping upgrade: s3transfer<0.3.0,>=0.2.0 in ./venv/lib/python3.7/site-packages (from awscli) (0.2.0)
Requirement already satisfied, skipping upgrade: jmespath<1.0.0,>=0.7.1 in ./venv/lib/python3.7/site-packages (from botocore==1.12.188->awscli) (0.9.4)
Requirement already satisfied, skipping upgrade: urllib3<1.26,>=1.20; python_version >= "3.4" in ./venv/lib/python3.7/site-packages (from botocore==1.12.188->awscli) (1.24.3)
Requirement already satisfied, skipping upgrade: python-dateutil<3.0.0,>=2.1; python_version >= "2.7" in ./venv/lib/python3.7/site-packages (from botocore==1.12.188->awscli) (2.8.0)
Requirement already satisfied, skipping upgrade: pyasn1>=0.1.3 in ./venv/lib/python3.7/site-packages (from rsa<=3.5.0,>=3.1.2->awscli) (0.4.5)
Requirement already satisfied, skipping upgrade: six>=1.5 in ./venv/lib/python3.7/site-packages (from python-dateutil<3.0.0,>=2.1; python_version >= "2.7"->botocore==1.12.188->awscli) (1.12.0)
Installing collected packages: botocore, awscli
  Found existing installation: botocore 1.12.160
    Uninstalling botocore-1.12.160:
      Successfully uninstalled botocore-1.12.160
  Found existing installation: awscli 1.16.170
    Uninstalling awscli-1.16.170:
      Successfully uninstalled awscli-1.16.170
Successfully installed awscli-1.16.198 botocore-1.12.188

添加到环境变量

sudo vi /etc/profile
添加CLI路径
export PATH=$PATH:/home/pi/.local/bin
生效改变
source /etc/profile
查看环境变量是否添加成功
echo $PATH

使用捆绑安装程序安装 AWS CLI 版本 1

以下是可剪切和粘贴以作为一组命令运行的安装命令的摘要,各个命令的具体解释见下文。

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

使用捆绑安装程序,在命令行中执行以下步骤来安装 AWS CLI 版本 1。

使用捆绑安装程序安装 AWS CLI 版本 1

  1. 使用以下命令下载 AWS CLI 版本 1 捆绑安装程序:

    curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
    
  2. 解压缩程序包。

    unzip awscli-bundle.zip
    

    注意

    如果没有 unzip,请使用 Linux 发行版的内置程序包管理器进行安装。

  3. 运行安装程序。

    sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
    

    注意

    默认情况下,安装脚本在系统默认版本的 Python 下运行。如果您已安装 Python 的可选版本并希望使用该版本安装 AWS CLI,请使用该版本按 Python 可执行文件的绝对路径运行安装脚本。例如:

    sudo /usr/local/bin/python3.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
    

安装程序在 /usr/local/aws 中安装 AWS CLI,并在 /usr/local/bin 目录中创建符号链接 aws。使用 -b 选项创建符号链接将免除在用户的 $PATH 变量中指定安装目录的需要。这应该能让所有用户通过在任何目录下键入 aws 来调用 AWS CLI。

要查看 -i-b 选项的说明,请使用 -h 选项。

$ ./awscli-bundle/install -h

快速配置AWS CLI

对于一般用途,aws configure 命令是设置 AWS CLI 安装的最快方法。以下示例显示了示例值。将它们替换为您自己的值,如以下部分所述。

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json

输入该命令时,AWS CLI 会提示您输入四条信息(访问密钥、秘密访问密钥、AWS 区域和输出格式)。以下各节介绍了这些信息。AWS CLI 将这些信息存储在名为 default配置文件(一个设置集合)中。每当您运行的 AWS CLI 命令未明确指定要使用的配置文件时,就会使用 default 配置文件中的信息。

访问密钥和私有访问密钥

AWS Access Key IDAWS Secret Access Key 是您的 AWS 凭证。它们与 AWS Identity and Access Management (IAM) 用户或角色相关联,用于确定您拥有的权限。有关如何使用 IAM 服务创建用户的教程,请参阅 IAM 用户指南 中的创建您的第一个 IAM 管理员用户和组

访问密钥包含访问密钥 ID 和秘密访问密钥,用于签署对 AWS 发出的编程请求。如果没有访问密钥,您可以使用AWS 管理控制台进行创建。作为最佳实践,请勿在不必要时使用 AWS 账户根用户 访问密钥执行任务。而是为自己创建一个具有访问密钥的新管理员 IAM 用户

仅当创建访问密钥时,您才能查看或下载秘密访问密钥。以后您无法恢复它们。不过,您随时可以创建新的访问密钥。您还必须拥有执行所需 IAM 操作的权限。有关更多信息,请参阅 IAM 用户指南 中的访问 IAM 资源所需的权限

为 IAM 用户创建访问密钥

  1. 登录 AWS 管理控制台 并通过以下网址打开 IAM 控制台 https://console.aws.amazon.com/iam/。

  2. 在导航窗格中,选择 Users

  3. 选择要为其创建访问密钥的用户的名称,然后选择 Security credentials (安全凭证) 选项卡。

  4. Access keys (访问密钥) 部分,选择 Create access key (创建访问密钥)

  5. 要查看新访问密钥对,请选择 Show (显示)。关闭此对话框后,您将无法再次访问该秘密访问密钥。您的凭证与下面类似:

    • 访问密钥 ID:AKIAIOSFODNN7EXAMPLE
    • 秘密访问密钥:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  6. 要下载密钥对,请选择下载 .csv 文件。将密钥存储在安全位置。关闭此对话框后,您将无法再次访问该秘密访问密钥。

    请对密钥保密以保护您的 AWS 账户,切勿通过电子邮件发送密钥。请勿对组织外部共享密钥,即使有来自 AWS 或 Amazon.com 的询问。合法代表 Amazon 的任何人永远都不会要求您提供密钥。

  7. 下载 .csv 文件之后,选择 Close (关闭)。在创建访问密钥时,默认情况下,密钥对处于活动状态,并且您可以立即使用此密钥对。

区域

Default region name 标识默认情况下您要将请求发送到的服务器所在的 AWS 区域。通常是离您最近的区域,但可以是任意区域。例如,您可以键入 us-west-2 以使用美国西部(俄勒冈)。除非在命令中另行指定,否则这是所有后续请求将发送到的区域。

注意

使用 AWS CLI 时,必须明确指定或通过设置默认区域来指定 AWS 区域。有关可用区域的列表,请参阅区域和终端节点。AWS CLI 使用的区域指示符与您在 AWS 管理控制台 URL 和服务终端节点中看到的名称相同。

输出格式

Default output format 指定结果的格式。可以是以下列表中的任何值。如果未指定输出格式,则默认使用 json

  • json:输出采用 JSON 字符串的格式。
  • yaml:输出采用 YAML 字符串的格式。(available in AWS CLI 版本 2 only)
  • text:输出采用多行制表符分隔的字符串值的格式,如果要将输出传递给文本处理器(如 grepsedawk),则该格式非常有用。
  • table:输出采用表格形式,使用字符 +|- 以形成单元格边框。它通常以“人性化”格式呈现信息,这种格式比其他格式更容易阅读,但从编程方面来讲不是那么有用。
posted @ 2020-01-03 10:56  Hi,Simon  阅读(371)  评论(0编辑  收藏  举报