当预置红移集群和无服务器红移集群在同一区域和同一帐户下时,它们可以共享数据吗?



当预置红移集群和无服务器红移集群在同一区域和同一帐户下时,它们可以共享数据吗?

我在提供的Redshift集群中创建了一个数据共享,并将Serverless Redshift的Namespace ID信息输入为Consumer Namespace ID。

当我在无服务器Redshift查询控制台中运行SHOW DATASHARES命令时,我得到了在配置的Redshift集群中创建的数据共享列表。在本例中,share_type为INBOUND。但是,当我使用以下命令时,不会检索为数据共享而注册的模式和表的列表。命令为:

DESC DATASHARE {MY-DATASHARE-NAME} OF NAMESPACE '{NAMESPACE-ID}' ;

我尝试在无服务器Redshift查询控制台运行以下所有命令:

DESC DATASHARE temp_datashare OF NAMESPACE '{Provisioned Redshift cluster namespace ID}' ;
or,
DESC DATASHARE temp_datashare OF NAMESPACE '{Serverless Redshift cluster namespace ID}' ;

我也试过删除,然后使用反向命令重新创建权限和数据共享列表来创建数据共享。

但是没有成功。

[我引用的文件]https://docs.aws.amazon.com/ko_kr/redshift/latest/dg/within-account.html

在Amazon Redshift中提供的集群和无服务器名称空间之间共享数据确实是可能的。如果在描述数据共享时无法看到数据共享对象,则可能是由于以下情况之一:

加密:生产者和消费者都应该加密,以启用数据共享。Redshift无服务器默认是加密的,所以你需要确保你的生产者也被加密。

可公开访问设置:如果消费者端点是可公开访问的,但数据共享不是,则数据共享将不可能。除非必要,一般建议避免公共访问。要解决这个问题,您可以禁用消费者端点的公共可访问性,或者使数据共享可公开访问。在生产者端,您可以使用以下语句使数据共享可公开访问:

ALTER DATASHARE temp_datashare SET PUBLICACCESSIBLE = TRUE;

Collation:如果生产者有特定的排序设置,确保消费者使用相同的排序设置。如果您已经解决了这些需求,您可以继续使用数据共享在消费者中创建数据库:

CREATE DATABASE consumer_db_test FROM DATASHARE temp_datashare OF NAMESPACE 'producer-namespace-id';

创建数据库后,您可以在数据共享中查询表:

SELECT * FROM consumer_db_test.test_schema.test_table;

如果存在数据共享不能正常工作的任何问题,错误消息将指出潜在的问题。例如,错误可能会声明可公开访问的消费者不能访问数据库中的对象。

最新更新