我试图迁移使用IAM权限从EC2写入S3存储桶的现有应用程序。根据Google文档,您有一种方法来保留相同的代码,并利用GCS api与S3的兼容性。但是,使用相同的代码(我只是替代端点以使用storage.googleapis.com
),我遇到了以下异常:
com.amazonaws.SdkClientException: The requested metadata is not found at http://169.254.169.254/latest/meta-data/iam/security-credentials/
at com.amazonaws.internal.EC2CredentialsUtils.readResource(EC2CredentialsUtils.java:115)
at com.amazonaws.internal.EC2CredentialsUtils.readResource(EC2CredentialsUtils.java:77)
at
有没有一种方法,而不必将访问密钥和秘密密钥传递给我的应用?
答案 0 :(得分:0)
如果您想继续使用现有的API,唯一的方法是使用Google开发人员密钥,简单的迁移始终需要以下两个步骤:
将请求端点更改为Cloud Storage请求端点:如前所述,您已经通过覆盖Cloud Storage请求端点来完成此步骤:
data.table
用您的Google开发人员密钥替换AWS访问和密钥: 由于您将不再能够继续使用以前在AWS上设置的IAM权限,因此必须使用和访问密钥以及一个秘密密钥来完成授权,因此您将需要使用Google访问权限添加一个Authorization request标头密钥并使用您的Google密钥创建签名:
https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]
有关更多信息,请检查envnames。