我一直试图从Redshift卸载一些数据到S3存储桶。 除非出现以下错误:
Amazon无效操作:无法删除活动门户; [SQL State = XX000,DB Errorcode = 500310]
要注意Redshift和S3在2个不同的存储桶中,所以我指定了卸载区域。
我尝试查找它,其中提到我无法放下桌子。
所以我创建了一个“测试”表,我可以100%确信它没有连接到任何视图或其他视图,但是仍然出现相同的错误。
我也尝试通过AWSQuickSolutions: Redshift Table Can’t Be Dropped or Drop Table Hangs进行故障排除,但我无权访问svv_table_info
。
有什么方法可以卸载吗?
答案 0 :(得分:1)
好的,所以我遇到了同样的问题。没有一个已知的解决方案适用于我的问题,因为:
1)集群与我创建的S3存储桶位于同一区域
2)我尝试通过python,cli和redshift运行UNLOAD命令,结果相同。
3)我尝试为redshift角色添加存储桶策略
4)我尝试使用for arns(redshift角色和s3角色)运行unload命令
最后,我明白了。发生了什么变化?我现在直接在公司的网络上,而不是在遇到此问题时使用VPN。
最终对我有用的东西
UNLOAD ('SELECT * FROM table where EXTRACT(YEAR FROM order_datetime_utc )=2019')
to 's3://bucket/'
REGION 'us-east-1'
iam_role 'arn:aws:iam::0000000000:role/RedshiftCopyUnload,arn:aws:iam::0000000000:role/S3Access'
parallel off
delimiter as '\t'
gzip;
答案 1 :(得分:0)
昨天我有同样的问题。至少在我的事件中,Data-Warehouse中存在一个sev-2。我使用的是Amazon零售使用的Amazon DWP,所以不确定是否与AWS使用的服务相同。
tldr;这可能是redshift提供商内部的服务器问题。
答案 2 :(得分:0)
报告@nofinator答复,因为它对我有用,对其他人也可能有帮助:
通过从其他应用程序运行UNLOAD(在我的案例中是Redshift Console中的查询编辑器),解决了异常Amazon Invalid operation: cannot drop active portal
答案 3 :(得分:0)
修改角色的IAM权限后出现此问题。不幸的是,我不得不重启集群,然后我的UNLOAD命令起作用了。
答案 4 :(得分:0)
我不知道是什么导致了此错误,但卸载失败后却出现了。
我断开连接,然后重新连接我的sql客户端并使其正常工作。不是很方便,但是比重新启动集群更好。