标签: aws-cli

有没有办法从aws web控制台获得s3 uri?

我想从我的s3 下载一个目录.
当我需要一个文件时,s3管理控制台(aws web控制台)允许我下载它,但是当一个目录时,我必须使用aws-cli,如:

$ aws s3 cp s3://mybucket/mydirectory/ . --recursive
Run Code Online (Sandbox Code Playgroud)

我的问题是:有没有办法s3://mybucket/mydirectory/从s3管理控制台获取s3 uri()?
它的URL可用,但它与aws-cli所需的s3 URI略有不同.我找不到任何菜单来获取uri.

先感谢您!

amazon-s3 amazon-web-services aws-cli

33
推荐指数
2
解决办法
3万
查看次数

AWS CLI Client.UnauthorizedOperation即使设置了密钥也是如此

我正在尝试设置AWS CLI工具,并按照说明进行操作 http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html#setting_up_ec2_command_linux上的

然而,在所有的步骤,并且设置了后我AWS_ACCESS_KEYAWS_SECRET_KEY,我得到

$ ec2-describe-regions
Client.UnauthorizedOperation: You are not authorized to perform this operation. (Service: AmazonEC2; Status Code: 403; Error Code: UnauthorizedOperation; Request ID: 55f02cc4-2e9f-4a0a-8b55-46bcc1973f50)
Run Code Online (Sandbox Code Playgroud)

然后我尝试重新生成新凭据,但仍然得到相同的错误.我似乎无法找到有关此问题的其他任何人的信息.我尝试使用-O和传递密钥-W,但这也不起作用.

知道我可能做错了什么吗?

amazon-ec2 aws-cli

32
推荐指数
2
解决办法
3万
查看次数

32
推荐指数
4
解决办法
1万
查看次数

传递访问权限和密钥aws cli

我试图嵌入访问和密钥以及aws cli.例如

aws ec2 describe-instances --aws-access-key <access_key> --aws-secret-key <secret_key>
Run Code Online (Sandbox Code Playgroud)

还分别尝试使用-o和-w选项进行访问和密钥.它说:未知选项aws-access-key和aws-secret-key

aws-cli

29
推荐指数
7
解决办法
4万
查看次数

无法删除空S3 Bucket

我有一个100%空的S3桶.从未在存储桶上启用版本控制.但是,我仍然无法删除桶.我通过Console和CLI工具尝试过.在控制台上它只是说"错误"没有错误消息.从cli和api它告诉我:"调用DeleteBucket操作时发生错误(BucketNotEmpty):你试图删除的存储桶不为空".我尝试了以下所有方法:

aws s3 rb s3://<bucket_name> --force - > BucketNotEmpty

aws s3 rm s3://<bucket_name> --recursive - >没有输出(因为它已经是空的)

aws s3api list-object-versions --bucket <bucket_name> - >无输出(因为从未启用版本控制)

aws s3api list-multipart-uploads --bucket <bucket_name> - >没有输出

aws s3api list-objects --delimiter=/ --prefix= --bucket <bucket_name> - >没有输出(因为它是空的)

  • 它没有依赖关系(它不被cloudfront使用或我所知道的任何其他东西).
  • 水桶已经空了大约5天.
  • 我能够使用相同的IAM用户删除另一个非常相似的存储桶.此外,我的IAM用户具有管理员权限.

amazon-s3 amazon-web-services aws-cli

29
推荐指数
4
解决办法
2万
查看次数

使用aws-cli 1.3.6在其他数据中列出实例名称

使用aws-cli 1.3.6我试图用名称和状态获得一个简单的ec2实例表.我一直在查看--query和JMESpath文档,我已经能够选择Map的"Value"项,其中"Key"项等于Name.这对于获取实例名称很有用.因此,下面的代码似乎工作

aws ec2 describe-instances --output table --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value'
Run Code Online (Sandbox Code Playgroud)

并提供这个:

-------------------
|DescribeInstances|
+-----------------+
|  Name1          |
|  Name2          |
+-----------------+
Run Code Online (Sandbox Code Playgroud)

但是,如果我想添加状态,事情就会像我预期的那样得到.运用

aws ec2 describe-instances --output table --query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value,State.Name]'
Run Code Online (Sandbox Code Playgroud)

提供

-------------------
|DescribeInstances|
+-----------------+
|  Name1          |
|  stopped        |
|  Name2          |
|  stopped        |
+-----------------+
Run Code Online (Sandbox Code Playgroud)

而不是具有名称和状态的两列表.

如果我们将输出转换为JSON,我们可以看到Tags选项返回一个列表(单元素列表),这可能是问题所在:

[
    [
        [
            "Name1"
        ],
        "stopped"
    ],
    [
        [
            "Name2"
        ],
        "stopped"
    ]
]
Run Code Online (Sandbox Code Playgroud)

我无法通过选择第一个元素将此列表转换为标量.这个,不起作用.返回一个空列表作为名称.

aws ec2 describe-instances --output json --query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value[0],State.Name]'
Run Code Online (Sandbox Code Playgroud)

和此一样

aws ec2 describe-instances --output json --query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value[][0],State.Name]'
Run Code Online (Sandbox Code Playgroud)

我解决这个问题的唯一方法是通过join函数.因为我只期待一个元素,所以可以,但我似乎有点hacky.

aws ec2 …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services aws-cli jmespath

28
推荐指数
1
解决办法
1万
查看次数

如果cp文件只有在它不存在的情况下如何,否则抛出错误?

aws s3 cp "dist/myfile" "s3://my-bucket/production/myfile"
Run Code Online (Sandbox Code Playgroud)

它总是复制myfile到s3 - 我想复制文件,如果它不存在,否则抛出错误.我怎么能这样做?或者至少我如何使用awscli检查文件是否存在?

amazon-web-services aws-cli

28
推荐指数
3
解决办法
3万
查看次数

AWS ECR GetAuthorizationToken

我已经尝试通过向我的用户提供AmazonEC2ContainerRegistryFullAccess策略来遵循关于为我的用户设置ECR授权的AWS说明.

但是,当我尝试在我的电脑上运行时,aws ecr get-login我收到一个错误,我没有得到许可.

An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::ACCOUNT_NUMBER:user/MY_USER is not authorized to perform: ecr:GetAuthorizationToken on resource: *
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

amazon-ec2 amazon-web-services amazon-ecs aws-cli

28
推荐指数
7
解决办法
1万
查看次数

AWS CLI从AWS CLI获取私有存储桶的S3 URL

我可以使用以下命令成功将文件上传到私有 S3存储桶:

aws s3 cp "myfile.txt" "s3://myfolder/myfile.txt" --region=us-east-1 --output=json

我想发出一个AWS CLI命令来返回myfile.txt的临时URL下载,有谁知道怎么做?

我google了,看起来我必须做一些签名来获取临时URL,例如:http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html

amazon-s3 amazon-web-services aws-cli

27
推荐指数
3
解决办法
3万
查看次数

索引处理程序未定义或未导出

我有一个运行良好的 lambda 函数,但我想导入一个包,所以我用 index.js 创建了一个目录并安装了我的 npm 包。

然后创建此文件夹的 zip 并使用上传

aws lambda 更新函数代码 --function-name smrtfac-test --zip-file fileb://lambda.zip

但现在我收到这个错误

index.handler is undefined or not exported
Run Code Online (Sandbox Code Playgroud)

原因可能是什么?myindex.jsnode_modules在同一个目录中。

aws-cli aws-lambda

27
推荐指数
2
解决办法
2万
查看次数