0

是否可以使用凭据参数和 KMS_KEY_ID 参数编写卸载命令?运行以下代码后出现以下错误:

unload ('select top 10 * from testtable')
to 's3://mybucket/test.txt'
KMS_KEY_ID '123456789'
encrypted
credentials 'aws_access_key_id=ZYZYZYZYZ;aws_secret_access_key=as098dfas9dfa9sd09a8fa0sd';


  error:  Invalid credentials. Must be of the format: credentials 'aws_iam_role=...;master_symmetric_key=...' or 'aws_access_key_id=...;aws_secret_access_key=...[;token=...];master_symmetric_key=...'
  code:      8001
  context:   
  query:     0
  location:  aws_credentials_parser.cpp:114
  process:   padbmaster [pid=47590]
4

1 回答 1

0

不可以。如果您使用 KMS_KEY_ID,那么您必须使用 IAM 角色或 ACCESS_KEY_ID 和 SECRET_ACCESS_KEY。不支持使用 CREDENTIALS。

注意:我发现有两种指定访问密钥的方法非常有趣。KMS_KEY_ID 支持一个,另一个不支持。CREDENTIALS 子句允许通过附加的“token=xxx”使用临时凭证,这是我看到的唯一区别。

我建议使用 IAM 角色,而不是使用 Redshift 语句指定您的凭证。

授权参数

于 2017-12-01T22:45:38.370 回答