标签: aws-cli

9
推荐指数
1
解决办法
165
查看次数

AWS CLI:ECR列表图像,获取最新版本

如果需要,使用AWS CLI和jq,我正在尝试在特定仓库中获取最新图像的标记.

让我们调用回购foo,并说最新的图像被标记bar.我用什么查询返回bar

我得到了

aws ecr list-images --repository-name foo
Run Code Online (Sandbox Code Playgroud)

然后意识到列表图像文档没有提供日期作为可查询字段的引用.在终端中粘贴以上内容为我提供了仅包含标签和摘要的密钥对,没有日期.

还有一些方法可以获得"最新"的图像吗?我可以假设它将永远是返回输出中的第一个或最后一个吗?

amazon-ec2 amazon-web-services aws-cli

8
推荐指数
4
解决办法
9594
查看次数

在env中找到的部分凭据缺失:AWS_SECRET_ACCESS_KEY

刚刚使用我的AWS Access和密钥在我的计算机上配置了AWS CLI.当我尝试使用AWS CLI时,虽然它给了我这个错误.

Partial credentials found in env, missing: AWS_SECRET_ACCESS_KEY
Run Code Online (Sandbox Code Playgroud)

我去了〜/ .aws/config,确实有那些凭据,包括AWS Secret Key,所以我不确定为什么它会对我发出嘎嘎声.

amazon-web-services secret-key aws-cli aws-ecr

8
推荐指数
2
解决办法
6688
查看次数

AWS CLI - 如何为 cognito 用户生成安全令牌

最终,我需要为 Cognito 用户池中的用户生成 AccessKeyId、SecirutyKey 和 SessionToken,以便我可以使用 Postman 作为 Cognito 用户测试 lambda 函数。到目前为止,我已经花了 2 天的时间试图解决这个问题。似乎这会起作用:

aws sts assume-role-with-web-identity --role-arn arn:aws:iam::1234567890:role/rolename--role-session-name "RoleSession1" --web-identity-token ??? --provider-id provideridvalue
Run Code Online (Sandbox Code Playgroud)

我能够获得 provider-id 值,但我无法获得 web-identity-token 的有效值。

如果我理解正确,这应该让我获得网络身份令牌:

aws cognito-idp initiate-auth --auth-flow USER_PASSWORD_AUTH --client-id clientidvalue --auth-parameters USERNAME=usernamevalue,PASSWORD=passwordvalue
Run Code Online (Sandbox Code Playgroud)

我从联合身份池中获得了 clientidvalue。

我一直无法解决的问题是上面的命令给了我这个错误:

未知选项:PASSWORD=<密码>

我尝试了许多不同的变体,包括 json 格式,但没有任何效果。我究竟做错了什么?

aws-cli postman aws-lambda aws-cognito

8
推荐指数
2
解决办法
6869
查看次数

ECS CLI - 您不能为需要服务相关角色的服务指定 IAM 角色

我正在尝试通过 aws cli 将容器部署到 ECS(Fargate)。我能够成功创建任务定义,当我想向 Fargate 集群添加新服务时出现问题。

这是执行的命令:

aws ecs create-service --cli-input-json file://aws_manual_cfn/ecs-service.json
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

An error occurred (InvalidParameterException) when calling the CreateService operation: You cannot specify an IAM role for services that require a service linked role.`
Run Code Online (Sandbox Code Playgroud)

ecs-service.json

{
"cluster": "my-fargate-cluster",
"role": "AWSServiceRoleForECS",
"serviceName": "dropinfun-spots",
"desiredCount": 1,
"launchType": "FARGATE",
"networkConfiguration": {
    "awsvpcConfiguration": {
        "assignPublicIp": "ENABLED",
        "securityGroups": ["sg-06d506f7e444f2faa"],
        "subnets": ["subnet-c8ffcbf7", "subnet-1c7b6078", "subnet-d47f7efb", "subnet-e704cfad", "subnet-deeb43d1", "subnet-b59097e8"]
     }
},
"taskDefinition": "dropinfun-spots-task",
"loadBalancers": [
    {
        "targetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:************:targetgroup/dropinfun-spots-target-group/c21992d4a411010f",
        "containerName": "dropinfun-spots-service",
        "containerPort": 80
    }
]
} …
Run Code Online (Sandbox Code Playgroud)

amazon-ecs aws-cli amazon-ecr aws-fargate

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

“我们的记录中不存在您提供的 AWS 访问密钥 ID。” 尝试使用 AWS CLI 时

我正在尝试通过 cli 访问我的 S3 Bucket。我把一切都建立起来,如具有credentials在那里我做这个工作的CLI文件,并确保我的环境变量$AWS_SECRET_ACCESS_KEY,并$AWS_ACCESS_KEY_ID有正确的东西在里面,而使用手动设置它们aws configure

credentials 包含以下信息,全部空白即为:

[sts]
aws_access_key_id = ASIAXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXX
aws_security_token = XXXXXXXXXXXXXXXXXXXXXX
aws_session_expiration = 2018-11-03T00:21:25+0000
aws_session_token = XXXXXXXXXXXXXXXXXXXXXXX
[default]
aws_access_key_id = ASIAXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

也只是为了确保我已经完成了所有设置,我还运行了aws configure

(venv) ~/.aws $ aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key     ****************XXXX shared-credentials-file
secret_key     ****************XXXX shared-credentials-file
    region  

          us-east-1      config-file    ~/.aws/config
Run Code Online (Sandbox Code Playgroud)

但是,当我运行以下命令时,它说我有这个错误:

(venv) ~/.aws $ aws s3 sync s3://mybucket/my/path …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-cli

8
推荐指数
1
解决办法
9843
查看次数

我可以使用 aws cli 获取 lambda 函数触发器信息吗?

我正在处理一个无服务器项目,并且只能访问 aws cli,所以我想获取事件等函数的触发信息,并且由于我使用 sns 主题来触发该函数,所以我想获取该主题infomation 和 arn,我尝试了不同的选项,例如,

list-event-source-mapping- 返回一个空数组

get-function: 不具有该值

我是否有办法使用 aws cli 获取函数的触发信息?

amazon-web-services aws-cli aws-lambda

8
推荐指数
1
解决办法
5565
查看次数

boto3、aiobotocore、awscli 和 botocore 的版本不兼容;无法解决

如果我尝试安装最新版本的 aiobotocore,pip3 install aiobotocore==0.10.3它会说我的 botocore 版本不兼容,我需要旧版本。

ERROR: aiobotocore 0.10.3 has requirement botocore<1.12.190,>=1.12.189, but you'll have botocore 1.12.224 which is incompatible.
Run Code Online (Sandbox Code Playgroud)

因此,如果我将 botocore 的版本更改为 1.12.189,它就会崩溃awscli并且boto3

ERROR: boto3 1.9.224 has requirement botocore<1.13.0,>=1.12.224, but you'll have botocore 1.12.189 which is incompatible.
ERROR: awscli 1.16.234 has requirement botocore==1.12.224, but you'll have botocore 1.12.189 which is incompatible.
Run Code Online (Sandbox Code Playgroud)

似乎没有任何版本的软件包可以与所有这些软件包一起使用。有人可以告诉我哪些版本都兼容吗?pip 有没有办法自动确定这一点?

python amazon-web-services aws-cli botocore boto3

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

调用DeleteRule操作时发生错误(ValidationException):规则无法删除,因为它有目标

我在 aws cloudwatch 上删除事件时遇到此问题

调用DeleteRule 操作时发生错误(ValidationException):规则无法删除,因为它有目标。

我的命令行是:

aws events delete-rule --name event-schedule --force
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cloudwatch aws-cli

8
推荐指数
1
解决办法
9690
查看次数

尝试获取调用者身份时出现 InvalidClientTokenId 错误 aws

您好,我无法运行此命令 aws sts get-caller-identity

当我这样做时 sudo nano ~/.aws/credentials我只能找到这个

[default]
aws_access_key_id = my_id
aws_secret_access_key = my_secret_id
Run Code Online (Sandbox Code Playgroud)

aws configure当我执行成功的命令步骤后,aws sts get-caller-identity 我收到此错误

调用 GetCallerIdentity 操作时发生错误 (InvalidClientTokenId):请求中包含的安全令牌无效。

有什么原因可能导致这种情况吗?

amazon-web-services aws-cli aws-sts

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