有沒有辦法提供多個憑據或指定除Redshift COPY
以外的路徑來加載JSONPaths文件?複製命令JSONPaths w/Multiple Credentials
在此示例中,我擁有對我的控制範圍外的存儲桶的只讀訪問權限someone_elses_bucket
。紅移的文檔指出只有2個選項JSON是「自動」或S3路徑:
COPY example
FROM 's3://someone_elses_bucket/data'
CREDENTIALS 'aws_access_key_id=someone_elses_bucket_foo;aws_secret_access_key=someone_elses_bucket_bar'
DATEFORMAT AS 'auto'
TRUNCATECOLUMNS
JSON 's3://my_bucket/redshift_json.json' GZIP;
由於我沒有訪問someone_elses_bucket
我不得不把JSONPaths文件在我的帳戶。但我得到S3ServiceException:Access Denied,Status 403,Error AccessDenied
錯誤。我的存檔中的文件向公衆開放。要麼我做錯了什麼,或者COPY在另一個帳戶上使用我的IAM角色來限制我的訪問權限。在任何情況下,我都無法提供給JSONPaths文件,從而無法提取我的格式化數據。 auto
不起作用。
這裏是我的就是我的桶的政策給訪問我的帳戶「someone_elses_bucket`(賬號替換這個例子):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Example permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789:user/jerdak"
},
"Action": [
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::my_bucket"
]
}
]
}
我澄清了我的問題,我正在使用由'someone_elses_bucket'提供的憑據,另外我附加了設置帳戶訪問權限的策略。 (2)是一個選項,但我正在查看2TB的數據和非常短的轉身。 – Jerdak
仍然,你的選擇保持不變 –
有了選項(1)我仍然拒絕訪問,除非你的意思是使用不同的,更多配置的帳戶?我附加到我原來的問題的政策是使用我的只讀IAM帳戶。 – Jerdak