我正在将数据放入客户端的示例 Redshift 集群中,但无法通过 S3 进行身份验证。
最近发生了变化,所以我自己的“根用户”访问密钥无法用于此目的。我尝试创建几个 IAM 用户(首先使用“高级用户”级别,然后再次使用管理员级别)并使用这些密钥,但这两个级别都不起作用。
我确认格式正确,我想......
copy gameevents
from 's3://s3.amazonaws.com/motigadata/gamestats_GameEvents_v1.csv' CREDENTIALS 'aws_access_key_id=keyid;aws_secret_acccess_key=secretID' delimiter ';' null as '(null)';
但是我收到此错误:
ERROR: Invalid credentials. Must be of the format: credentials 'aws_access_key_id=<access-key-id>;aws_secret_access_key=<secret-access-key>;token=<temporary-session-token>'
Detail: error: Invalid credentials. Must be of the format: credentials 'aws_access_key_id=<access-key-id>;aws_secret_access_key=<secret-access-key>;token=<temporary-session-token>'
code: 8001
context:
query: 251
location: aws_credentials_parser.cpp:86
process: padbmaster pid=2829
错误不清楚(对我来说);我的凭证设置中是否存在语法错误,或者凭证本身不被接受?
最后,我刚刚验证了 S3 存储桶已设置权限,允许任何人执行任何操作。那么:发生了什么事?
帮助!
答案1
这是一个拼写错误:第二个访问短语中写错了“accaccess”,而不是“access”。
我建议,如果 AWS 的任何人正在阅读本文,更有针对性的错误消息会向我指出这一点。Chef 的错误消息就是这类事情的一个典型例子……