【问题标题】:Download files from s3 according to my OS根据我的操作系统从 s3 下载文件
【发布时间】:2021-05-06 00:36:49
【问题描述】:

需要帮助构建一个 Bash 脚本,该脚本将能够与 S3 存储桶的“密钥”+“访问密钥”建立连接,如果有特定的操作系统,它将从存储桶下载特定的 exe 文件。 例如: 如果我的操作系统是 Amazon Linux 2,它将从 X 文件夹下载 X 文件。 如果我的操作系统是 Centos 6 或 7 或 8,它会下载其他文件,与 Windows 等类似。

最后执行这个文件。

任何帮助都将不胜感激,我总是使用单独的命令(如“aws s3 sync”或 aws configure 来连接秘密和访问密钥)手动执行此操作,但现在我正在尝试跨多个帐户运行它并想要建立一些自动化。

感谢您的帮助。

【问题讨论】:

  • (1) 你检查$OSTYPE & 然后在其中使用uname -a 作为版本(2) os_type+version 的主bash关联数组作为你的aws s3存储桶路径的键和值(3)根据第 1 步的条件找出要使用的 aws s3 存储桶

标签: bash amazon-web-services amazon-s3 automation


【解决方案1】:

在处理多个帐户时,您没有理由不使用 awscli 工具。正如Named profiles 下的文档中所见:

以下示例显示了一个包含两个配置文件的凭据文件。第一个[default] 用于在没有配置文件的情况下运行 CLI 命令。第二个用于运行带有 --profile user1 参数的 CLI 命令时。

~/.aws/credentials(Linux 和 Mac)或%USERPROFILE%\.aws\credentials(Windows)

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user1]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

这也适用于~/.aws/config 文件,但您不需要在其中输入条目,除非您想逐个用户覆盖区域或编码。

因此,在您的 ~/.aws/credentials 中为每个帐户创建一堆条目,然后使用您想到的任何 aws s3 命令循环访问每个帐户。

【讨论】:

  • awscli 工具很棒,但我想在 aws 系统管理器中自动化这个脚本,并用它构建一个文档并在自动化中运行它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 1970-01-01
  • 2016-02-02
  • 2021-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多