我正在使用aws ec2服务与awscli.现在我想将我在控制台中键入的所有命令放入python脚本中.我看到如果我import awscli在python脚本中编写它工作正常但我不明白如何在脚本中使用它.例如,如何aws ec2 run-instances <arguments>在python脚本中执行命令import awscli?为了说清楚,我不是在寻找像os.system('aws ec2 run-instances <arguments>')我这样的解决方案
import awscli
awscli.ec2_run-instances(<arguments>)
Run Code Online (Sandbox Code Playgroud) 有没有办法使用AWS CLI为S3存储桶中的对象创建预签名URL?
我知道可以使用SDK完成,但是可以使用CLI吗?
我在其中一个AWS文档上找到了这个,但无法完成命令:
s3cmd signurl s3://BUCKET/OBJECT <expiry_epoch|+expiry_offset>
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
我已经启动了EC2实例并安装了ec2-api-tools.设置环境变量(JAVA_HOME,EC2_PRIVATE_KEY,EC2_CERT).
跑步ec2-describe-instances不会返回任何东西.根据EC2命令行,应返回所有当前运行(和终止)实例的参考信息.出了什么问题?
在一般情况下ec2-describe-images -o self -o amazon,EC2工具正在运行.明确地将-K和-C参数添加到ec2-describe-instances不会改变这种情况.
我已经设置了一些亚马逊AWS CLI工具(EC2,Auto Scaling,MOnitoring和ELB).工具设置正确,工作完美.我的环境变量都已设置,与此Q相关的是:
export EC2_REGION=eu-west-1
export EC2_URL=https://ec2.$EC2_REGION.amazonaws.com
export AWS_ELB_URL=https://elasticloadbalancing.$EC2_REGION.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
当我ec2-describe-instance-status i-XXXXXXXX为任何实例运行时,我得到:
Client.InvalidInstanceID.NotFound: The instance ID 'i-XXXXXXXX' does not exist
Run Code Online (Sandbox Code Playgroud)
我知道实例ID存在,我将其从AWS Web控制台复制出来,它位于eu-west-1区域,我的env vars设置为此区域.
对于我的生活,我无法弄清楚为什么它找不到我的实例.我做错了有什么明显的明显吗?
更新:由于某种原因,重新创建x509 cert/pk解决了这个问题.
我需要在亚马逊云中安装redis.我需要它作为我的npm模块kue(部署)的一部分.任何人都可以链接我一步一步的教程或解释如何做到这一点,考虑到我对linux和管理不好的事实.
所以,我有一个dynamoDB表用户和我想要返回此表的所有内容.或者甚至是一些.
我试过了
aws dynamodb query --table-name Users
Run Code Online (Sandbox Code Playgroud)
它说我必须指定key-condition或key-condition-expression所以我添加了以下内容:
aws dynamodb query --table-name Users --key-condition-expression Username = "test"
Run Code Online (Sandbox Code Playgroud)
并返回错误消息"未知选项:测试"
有没有人能够使用fish shell为AWS CLI设置自动完成功能?AWS文档仅提供bash,tcsh和zsh的指南.
Bash导出变量COMP_LINE,COMP_POINT并由亚马逊提供的aws_completer脚本使用.有没有鱼的等价物?我是鱼壳的新手,我试试看.
我尝试运行AWS CLI时遇到以下错误.我已经尝试安装六个,但它仍然无法正常工作.
有人可以告诉我什么是错的吗?
我之前从未设法在此计算机上运行AWS CLI.
Traceback (most recent call last):
File "/usr/local/bin/aws", line 23, in <module>
sys.exit(main())
File "/usr/local/bin/aws", line 19, in main
return awscli.clidriver.main()
File "/usr/local/lib/python3.3/site-packages/awscli/clidriver.py", line 49, in main
driver = create_clidriver()
File "/usr/local/lib/python3.3/site-packages/awscli/clidriver.py", line 58, in create_clidriver
event_hooks=emitter)
File "/usr/local/lib/python3.3/site-packages/awscli/plugin.py", line 44, in load_plugins
modules = _import_plugins(plugin_mapping)
File "/usr/local/lib/python3.3/site-packages/awscli/plugin.py", line 61, in _import_plugins
module = __import__(path, fromlist=[module])
File "/usr/local/lib/python3.3/site-packages/awscli/handlers.py", line 61, in <module>
from awscli.customizations.opsworks import initialize as opsworks_init
File "/usr/local/lib/python3.3/site-packages/awscli/customizations/opsworks.py", line 24, in <module>
from six.moves …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过cli将文件从私有s3-bucket复制到我的ec2实例.ec2与存储桶位于同一区域,并附加了以下IAM角色(AmazonS3FullAccess):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但该命令aws s3 cp s3://[BUCKETNAME]/index.html失败并显示错误:
调用HeadObject操作时发生客户端错误(400):错误请求已完成1个部分,其中有...文件剩余.
我已经仔细检查了桶名的拼写...
我正在尝试使用此 CLI 用法从 Cloudwatch 获取日志:
cat cli-get-log-events.json
{
"logGroupName": "/aws/lambda/my-group",
"logStreamName": "2019/03/30/[$LATEST]dec1626296d84819be42f2ef615f292e",
"startTime": 1553977650000,
"endTime": 1553977748000,
"limit": 10,
"startFromHead": true
}
aws logs get-log-events --cli-input-json file://cli-get-log-events.json
Run Code Online (Sandbox Code Playgroud)
但是我在响应中看到了这个错误:
调用 GetLogEvents 操作时发生错误 (ResourceNotFoundException):指定的日志组不存在。