在 AWS 區域 之間共用資料 - Amazon Redshift

Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章

在 AWS 區域 之間共用資料

您可以在 AWS 區域 中的 Amazon Redshift 叢集之間共用資料以供讀取。透過跨區域資料共用,您可以在 AWS 區域 區域之間共用資料,而不需要手動複製資料。您不需要將資料卸載到 Amazon S3,也不需要將資料複製到新的 Amazon Redshift 叢集或執行跨區域快照複製。

透過跨區域資料共用,您可以在相同 AWS 帳戶 或不同 AWS 帳戶 中的叢集之間共用資料,即使叢集位於不同區域。與位於相同 AWS 帳戶 但不同 AWS 區域 中的 Amazon Redshift 叢集共用資料時,請遵循與在 AWS 帳戶 中共用資料一樣的工作流程 如需更多詳細資訊,請參閱 在 AWS 帳戶 內共用資料的讀取存取權

如果共用資料的叢集在不同的 AWS 帳戶 和 AWS 區域 中,您可以遵循與跨 AWS 帳戶 共用資料相同的工作流程,並在取用者叢集上包含區域層級關聯。跨區域資料共用支援與整個 AWS 帳戶、整個 AWS 區域 或 AWS 區域 內的特定命名空間建立資料共用關聯。如需在 AWS 帳戶 之間共用資料的相關資訊,請參閱 在 AWS 帳戶 之間共用資料

使用來自不同區域的資料時,取用者須支付從生產者區域到取用者區域的跨區域資料傳輸費用。

若要使用資料共用,取用者帳戶管理員可以透過下列三種方式之一來與資料共用建立關聯。

  • 與整個 AWS 帳戶 (橫跨其所有 AWS 區域) 建立關聯

  • 與 AWS 帳戶 中的特定 AWS 區域 建立關聯

  • 與 AWS 區域 內的特定命名空間建立關聯

當管理員選擇整個 AWS 帳戶 時,帳戶中不同 AWS 區域 上的所有現有和未來命名空間都可以存取資料共用。取用者帳戶管理員也可以選擇區域內的特定 AWS 區域 或命名空間,以對其授予資料共用存取權。

如果您是生產者管理員或資料庫擁有者,請建立資料共用、將資料庫物件和資料取用者新增至資料共用,並將許可授予資料取用者。如需更多詳細資訊,請參閱 生產者管理員動作

如果您是生產者帳戶管理員,請使用 AWS Command Line Interface (AWS CLI) 或 Amazon Redshift 主控台授權資料共用,並選擇資料取用者。

如果您是取用者帳戶管理員,請依照下列步驟執行:

若要將從其他帳戶共用的一或多個資料共用與整個 AWS 帳戶 或特定 AWS 區域,或是 AWS 區域 內的命名空間建立關聯,請使用 Amazon Redshift 主控台。

透過跨區域資料共用功能,您可以使用 AWS Command Line Interface (AWS CLI) 或 Amazon Redshift 主控台在特定 AWS 區域 中新增叢集。

若要指定一或多個 AWS 區域,您可以使用 associate-data-share-consumer CLI 命令搭配選擇性 consumer-region 選項。

使用 CLI 時,下列範例會使用 associate-entire-account 選項將 Salesshare 與整個 AWS 帳戶 建立關聯。您一次只能與一個區域建立關聯。

aws redshift associate-data-share-consumer --region {PRODUCER_REGION} --data-share-arn arn:aws:redshift:{PRODUCER_REGION}:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/Salesshare --associate-entire-account

以下範例會將 Salesshare 與美國東部 (俄亥俄) 區域 (us-east-2) 產生關聯。

aws redshift associate-data-share-consumer --region {PRODUCER_REGION} --data-share-arn arn:aws:redshift:{PRODUCER_REGION}:0123456789012:datashare:{PRODUCER_CLUSTER_NAMESPACE}/Salesshare --consumer-region 'us-east-2'

以下範例會將 Salesshare 與亞太地區 (雪梨) 區域 (ap-southeast-2) 中另一個 AWS 帳戶 中的特定取用者命名空間產生關聯。

aws redshift associate-data-share-consumer --data-share-arn arn:aws:redshift:{PRODUCER_REGION}:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/Salesshare --consumer-arn 'arn:aws:redshift:ap-southeast-2:{CONSUMER_ACCOUNT}:namespace:{ConsumerImmutableClusterId}'

您可以使用 Amazon Redshift 主控台將資料共用與您的整個 AWS 帳戶 或特定 AWS 區域 或 AWS 區域 內的命名空間建立關聯。若要這麼做,請登入 https://console.aws.amazon.com/redshiftv2/。然後,將從其他帳戶共用的一或多個資料共用與您的整個 AWS 帳戶 或特定 AWS 區域 或 AWS 區域 內的特定命名空間建立關聯。如需更多詳細資訊,請參閱 在 Amazon Redshift 中從不同的 AWS 帳戶 建立資料共用的關聯

與 AWS 帳戶 或特定命名空間建立關聯之後,資料共用就可供使用。您也可以隨時變更資料共用關聯。將個別命名空間的關聯變更為 AWS 帳戶 時,Amazon Redshift 會以 AWS 帳戶 資訊覆寫命名空間。將 AWS 帳戶 中的關聯變更為特定命名空間時,Amazon Redshift 會以命名空間資訊覆寫 AWS 帳戶 資訊。將整個 AWS 帳戶 中的關聯變更為特定 AWS 區域和命名空間時,Amazon Redshift 會以特定區域和命名空間資訊覆寫 AWS 帳戶 資訊。

如果您是取用者管理員,則可以建立參照資料共用的本機資料庫,並視需要,將從資料共用建立的資料庫許可授予取用者叢集中的使用者或角色。您也可以在共用物件上建立檢視,以及建立外部結構描述,以參照取用者叢集上匯入之取用者資料庫中的特定結構描述,並對其指派精細的許可。如需更多詳細資訊,請參閱 取用者管理員動作