查询所寻址的 S3 存储桶与该集群位于不同的区域

Posted

技术标签:

【中文标题】查询所寻址的 S3 存储桶与该集群位于不同的区域【英文标题】:The S3 bucket addressed by the query is in a different region from this cluster 【发布时间】:2020-12-03 23:25:58 【问题描述】:

我刚刚开始了我在 Redshift 道路上的旅行。我正在尝试使用复制命令加载多个 GZIP 文件并添加清单。 S3 存储桶和集群都在同一个区域中。我的清单文件是一个带有 JSON 的 txt 文件。要么我的语法错误,要么有其他问题。谢谢!

"entries": [
    
    
    "url":"s3://abacosdw-load-queue/sales1.txt.gz", "mandatory":true
    ,
    
    "url":"s3://abacosdw-load-queue/sales2.txt.gz", "mandatory":true
    ,
    
    "url":"s3://abacosdw-load-queue/sales3.txt.gz", "mandatory":true
    ,
    
    "url":"s3://abacosdw-load-queue/sales4.txt.gz", "mandatory":true
    

]

复制事实销售 来自 's3://mydw-load-queue/manifest.txt' iam_role 'arn:aws:iam::123456789:role/RedshiftS3' 地区“us-west-2” 分隔符“|” 压缩包 清单

【问题讨论】:

我有点疑惑——bucket和cluster是在同一个区域还是不同区域?问题的标题和正文似乎在这一点上不一致。 集群和bucket在us-west2同一个区域 那么你不想使用“区域”选项。如果bucket是集群本地的,不要表示它是远程的 【参考方案1】:

对于每个 COPY 命令,请执行以下操作:

替换为与您的集群位于同一区域的存储桶的名称。

此步骤假设存储桶和集群位于同一区域。或者,您可以在 COPY 命令中使用 REGION 选项指定区域。

参考this

【讨论】:

以上是关于查询所寻址的 S3 存储桶与该集群位于不同的区域的主要内容,如果未能解决你的问题,请参考以下文章

当 S3 和 Lambda 位于不同区域时,如何使用 S3 事件通知触发跨区域 Lambda 函数

“GetObject 时发生错误。S3 错误代码:PermanentRedirect。S3 错误消息:存储桶位于此区域:us-east-1

在结构中组织不同的结果集,以便可以通过Id查询它,并返回包含与该Id关联的所有道具的字典

同一区域内的 AWS 数据传输成本,但属于不同的账户?

如何将不同的 AWS 终端节点用于另一个 AWS 区域?

是否不可能在与 s3 存储桶区域不同的区域上传文件? (IllegalLocationConstraintException)