我在Amazon EC2上有两个不同的应用程序(第二个即将上市).
如何在命令行(Mac OS X)中使用这两个帐户,但保持EC2密钥和证书分开?在每个ec2-*命令之前,我是否需要更改环境变量?
会使用别名并将其设置为环境在线工作吗?就像是:
别名ec2-describe-instances1 = export EC2_PRIVATE_KEY =/path; EC2-描述,实例
我附加了一个 lambda 函数,在其中运行命令aws ls s3://bucketname.com,该函数失败并出现错误:
botocore.exceptions.ClientError: An error occurred (InvalidToken) when calling the ListObjectsV2 operation: The provided token is malformed or otherwise invalid.
Run Code Online (Sandbox Code Playgroud)
我一直在努力找出问题所在,这看起来像是权限问题吗?然而,附加的 IAM 角色有一个内联策略,本质上允许一切:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Test0",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::bucketname.com/*",
"arn:aws:s3:::bucketname.com"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试按照另一个 SO 问题中的建议aws --region eu-west-3 s3 ls s3://bucketname.com在命令 ( )中指定区域,但我仍然遇到相同的错误。
编辑:如果我添加选项--debug,我会看到:
2019-11-26 11:46:48,292 - MainThread - botocore.endpoint - DEBUG - Making request for OperationModel(name=ListObjectsV2) with …Run Code Online (Sandbox Code Playgroud)