我正在使用copy
命令以redshift加载表,如下所示。
COPY tip_files
FROM 's3 path'
iam_role 'role arn'
FORMAT AS PARQUET;
问题是我的arn在这里被硬编码,这似乎是一个不好的编程习惯。我尝试将arn
存储在cred
表中,并按以下方式使用它:
COPY tipfile
FROM 's3 path'
iam_role (select arn from cred)
FORMAT AS PARQUET;
它没有用。有什么办法可以做到这一点?
答案 0 :(得分:0)
这是不可能的。需要在COPY命令中 中提供凭据。无法在其他地方加入他们。
不应 将亚马逊资源名称(ARN)视为机密信息。它不会公开任何凭据。
您可以选择将ARN保留在某个位置(例如,放在AWS SSM参数存储中),并使代码将ARN插入命令中,而不是将其与命令一起存储。但是,您的程序需要进行这种操作,而不是在Redshift中进行操作。