AWS cli 中是否有命令可以获取在我的 ec2 实例上运行的服务列表?
通常我会单独登录每个 ec2 实例,并使用 Linux 命令(例如“netstat”或“ps -eaf”)进行检查。
大约有 400 个实例,因此如果我手动执行此操作,则会花费相当多的时间。如果有任何 AWS 命令可以在不实际登录实例的情况下查找正在运行的服务,那就太好了。
提前致谢。
我正在尝试使用以下命令通过 AWS 控制台工具创建一个新的 EC2 实例:
aws ec2 run-instances --image-id ami-9abea4fb --count 1 –-instance-type t2.micro --key-name my_key_name --security-group-ids my_rule --region us-west-2
Run Code Online (Sandbox Code Playgroud)
但我不断收到此错误。
Traceback (most recent call last):
File "/usr/local/bin/aws", line 27, in <module>
sys.exit(main())
File "/usr/local/bin/aws", line 23, in main
return awscli.clidriver.main()
File "/Users/davesmith/Library/Python/2.7/lib/python/site-packages/awscli/clidriver.py", line 56, in main
return driver.main()
File "/Users/davesmith/Library/Python/2.7/lib/python/site-packages/awscli/clidriver.py", line 203, in main
sys.stderr.write(str(e))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 27: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud) 我正在旋转一个debian:jessie容器。
执行后:
pip install awscli
Run Code Online (Sandbox Code Playgroud)
我导出我的凭据:
export AWS_ACCESS_KEY_ID=<myaccesskeyid>
export AWS_SECRET_ACCESS_KEY=<mysecretkey>
Run Code Online (Sandbox Code Playgroud)
但导出该区域似乎不起作用
root@cae75eebe847:/# export AWS_REGION=eu-west-1
root@cae75eebe847:/# $(aws ecr get-login --no-include-email)
You must specify a region. You can also configure your region by running "aws configure".
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
交互式运行aws configure完成了这项工作,但我正在尝试编写脚本。
以上发生在debian:jessie容器内,我正在使用:
$ docker info | grep -i version
WARNING: No swap limit support
Server Version: 17.12.0-ce
containerd version: 89623f28b87a6004d4b785663257362d1658a729
runc version: b2567b37d7b75eb4cf325b77297b140ea686ce8f
init version: 949e6fa
Kernel Version: 4.13.0-32-generic
Run Code Online (Sandbox Code Playgroud) 我正在编写一个 Jenkins 作业来显示特定时间的 CPU 利用率,并且我的 Jenkins 作业能够使用 AWS cli 处理 AWS 命令。
有没有简单的方法可以获取 CPU 利用率?
我在 S3 中有按类别和日期分区的数据,如下所示:
s3://mybucket/category=1/date=2018-08-30/data1.json
s3://mybucket/category=1/date=2018-08-31/data2.json
s3://mybucket/category=2/date=2018-08-30/data3.json
s3://mybucket/category=2/date=2018-08-31/data4.json
Run Code Online (Sandbox Code Playgroud)
运行爬网程序后,我的元数据表中有两个分区键:一个用于category,另一个用于date。我想使用GetPartitions API检索与某些键匹配的分区,因此我开始尝试使用 AWS CLI。如果我运行这个命令:
aws glue get-partitions --database-name mydb --table-name mytable --expression "category=1" --region us-west-2
我按预期成功检索了分区。但是,我尝试了以下命令:
aws glue get-partitions --database-name mydb --table-name mytable --expression "category=1 AND date=2018-08-30" --region us-west-2
得到的回应是
调用 GetPartitions 操作时发生错误 (InvalidInputException):不支持的表达式 '2018 - 08 - 30'
产生此错误的另一个命令是
aws glue get-partitions --database-name mydb --table-name mytable --expression category=1\ AND\ date=2018-08-30 --region us-west-2
我还尝试使用以下命令修改调用:
aws glue get-partitions --database-name mydb --table-name mytable --expression "category=1 AND date=2018\-08\-30" --region us-west-2 …
我正在尝试遵循有关的AWS文档aws s3 cp,该文档将--expires标志记录为:
--expires(字符串)对象不再可缓存的日期和时间。
...
将具有到期日期的本地文件复制到S3
以下cp命令将单个文件复制到指定的存储桶和密钥,该文件在指定的ISO 8601时间戳记到期:
aws s3 cp test.txt s3://mybucket/test2.txt --expires 2014-10-01T20:30:00Z
因此,当我像上面的示例一样运行命令时,我在S3中得到一个文件,该文件的右侧具有“概述”窗格,如下所示:
概述窗格声称没有“到期日期”。好。但是,如果我单击该文件,然后单击“属性”->“元数据”,则会看到以下内容:
那么哪一个是对的?“到期”和“到期日期”时间戳在某种程度上表示不同的含义吗?还是它们是同一回事,而显示的只是越野车?
我正在尝试为我的 aws 事物创建部署脚本。
我们为生产和开发创建了单独的帐户,我想传递一个参数,用户可以在其中指定要部署到的环境。由于配置文件将他们与他们正在使用的帐户联系起来,因此有没有办法在命令行上根据配置文件名称获取帐户名称?
我已按照使用 pip 在 macOS 上安装 AWS CLI 版本 1安装了 AWS CLI 。
pip install awscli --upgrade --user
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行 AWS CLI 命令时,出现以下错误。
$ aws --version
-bash: aws: command not found
Run Code Online (Sandbox Code Playgroud)
我已确认已安装 AWS CLI。
$ pip list
Package Version
-------------------- ---------
awscli 1.16.279
Run Code Online (Sandbox Code Playgroud)
为什么aws我已经成功安装了却找不到该命令?
我有一个 S3 存储桶,其中包含一些 sql 脚本和一些使用 mysqldump 的备份文件。
我还有一个 .yaml 文件,用于部署新的 mariadb 映像。
由于我对 kubernetes 还不是很有经验,如果我想将这些备份文件之一恢复到 pod 中,我需要重击它,运行 aws cli,插入我的凭据,然后在本地同步存储桶并运行 mysql < backup .sql
显然,这破坏了全自动部署的概念。
所以,问题是……我怎样才能安全地使这个 pod 立即配置为访问 S3?
我有一个包含几千个文件的 S3 存储桶,其中文件名始终与模式 {hostname}.{contenttype}.{yyyyMMddHH}.zip 匹配。我想创建一个每天运行一次的脚本,根据文件名中的年份和月份将这些文件移动到文件夹中。
如果我尝试以下 aws-cli 命令
aws s3 mv s3://mybucket/*.202001* s3://mybucket/202001/
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
fatal error: An error occurred (404) when calling the HeadObject operation: Key "*.202001*" does not exist
Run Code Online (Sandbox Code Playgroud)
是否有 aws-cli 命令可以按计划运行以实现此目的?