選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Amazon RDSAurora 與 Amazon Redshift 整合的資料篩選

焦點模式
Amazon RDSAurora 與 Amazon Redshift 整合的資料篩選 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon RDS Aurora零 ETL 整合支援資料篩選,可讓您控制從來源 Amazon RDS 資料庫複寫到目標 Amazon Redshift 資料倉儲的資料。您可以套用一或多個篩選條件來選擇性地包含或排除特定資料表,而不是複寫整個資料庫。這可協助您透過確保僅傳輸相關資料,來最佳化儲存和查詢效能。目前,篩選僅限於資料庫和資料表層級。不支援資料欄層級和資料列層級篩選。

當您想要執行下列動作時,資料篩選非常有用:

  • 從兩個或多個不同的來源資料庫聯結特定資料表,您不需要來自任一資料庫的完整資料。

  • 僅使用一部分資料表而非整個資料庫機群執行分析,以節省成本。

  • 從特定資料表篩選出敏感資訊,例如電話號碼、地址或信用卡詳細資訊。

您可以使用 AWS Management Console、 AWS Command Line Interface (AWS CLI) 或 Amazon RDS API,將資料篩選條件新增至零 ETL 整合。

如果整合具有佈建的 Amazon Redshift 叢集做為其目標,則叢集必須位於修補程式 180 或更高版本,才能使用資料篩選。

資料篩選條件的格式

您可以為單一整合定義多個篩選條件。每個篩選條件都會包含或排除符合篩選條件表達式中其中一個模式的任何現有和未來資料庫資料表。Amazon RDS Aurora零 ETL 整合使用 Maxwell 篩選條件語法進行資料篩選。

每個篩選條件都有下列元素:

Element 描述
篩選條件類型

Include 篩選條件類型包含符合篩選條件表達式中其中一個模式的所有資料表。Exclude 篩選條件類型會排除符合其中一個模式的所有資料表。

篩選條件表達式

模式的逗號分隔清單。表達式必須使用 Maxwell 篩選條件語法

模式

database.table篩選條件模式。您可以指定常值名稱,或定義規則運算式。

您無法包含資料欄層級篩選條件或拒絕清單。

單一整合最多可有 99 個模式。在 主控台中,您可以在單一篩選條件表達式內輸入模式,或在多個表達式之間分散。單一模式的長度不可超過 256 個字元。

下圖顯示主控台中 資料篩選條件的結構:

零 ETL 整合的資料篩選條件
重要

請勿在您的篩選模式中包含個人識別、機密或敏感資訊。

中的資料篩選條件 AWS CLI

使用 AWS CLI 來新增資料篩選條件時,語法與主控台略有不同。您必須個別為每個模式指派篩選條件類型 (IncludeExclude),因此您無法在一個篩選條件類型下將多個模式分組。

例如,在主控台中,您可以在單一Include陳述式下將下列逗號分隔模式分組:

mydb.mytable, mydb./table_\d+/

不過,使用 時 AWS CLI,相同的資料篩選條件必須採用下列格式:

'include: mydb.mytable, include: mydb./table_\d+/'

篩選條件邏輯

如果您未在整合中指定任何資料篩選條件,Amazon RDS Aurora會假設 的預設篩選條件include:*.*,會將所有資料表複寫至目標資料倉儲。不過,如果您新增至少一個篩選條件,預設邏輯會切換到 exclude:*.*,預設會排除所有資料表。這可讓您明確定義複寫中要包含哪些資料庫和資料表。

例如,如果您定義下列篩選條件:

'include: db.table1, include: db.table2'

Amazon RDS Aurora會評估篩選條件,如下所示:

'exclude:*.*, include: db.table1, include: db.table2'

因此,Amazon RDS Aurora只會table2從名為 的資料庫複寫 table1db到目標資料倉儲。

篩選優先順序

Amazon RDS Aurora會依您指定的順序評估資料篩選條件。在 中 AWS Management Console,它會處理從左到右,從上到下篩選表達式。第二個篩選條件或第一個後面的個別模式可以覆寫它。

例如,如果第一個篩選條件是 Include books.stephenking,它只會包含books資料庫中的stephenking資料表。不過,如果您新增第二個篩選條件 Exclude books.*,則會覆寫第一個篩選條件。這可防止books索引中的任何資料表複寫至 Amazon Redshift。

當您至少指定一個篩選條件時,邏輯會先exclude:*.*假設,再自動排除複寫的所有資料表。最佳實務是定義從最廣泛到最具體的篩選條件。從一或多個Include陳述式開始指定要複寫的資料,然後新增Exclude篩選條件以選擇性地移除特定資料表。

相同的原則適用於您使用 定義的篩選條件 AWS CLI。Amazon RDS Aurora會依您指定的順序評估這些篩選條件模式,因此模式可能會覆寫您在之前指定的模式。

範例

下列範例示範資料篩選如何用於 零 ETL 整合:

  • 包含所有資料庫和所有資料表:

    'include: *.*'
  • 包含books資料庫中的所有資料表:

    'include: books.*'
  • 排除任何名為 的資料表mystery

    'include: *.*, exclude: *.mystery'
  • books資料庫中包含兩個特定資料表:

    'include: books.stephen_king, include: books.carolyn_keene'
  • 包含books資料庫中的所有資料表,但包含子字串 的資料表除外mystery

    'include: books.*, exclude: books./.*mystery.*/'
  • 包含books資料庫中的所有資料表,但以 開頭的資料表除外mystery

    'include: books.*, exclude: books./mystery.*/'
  • 包含books資料庫中的所有資料表,但結尾為 的資料表除外mystery

    'include: books.*, exclude: books./.*mystery/'
  • 包含books資料庫中以 開頭的所有資料表table_,但名為 的資料表除外table_stephen_king。例如, table_moviestable_books會複寫,但不會複寫 table_stephen_king

    'include: books./table_.*/, exclude: books.table_stephen_king'

將資料篩選條件新增至整合

您可以使用 AWS Management Console、 AWS CLI或 Amazon RDS API 設定資料篩選。

重要

如果您在建立整合之後新增篩選條件,Amazon RDS Aurora會將其視為一律存在。它會移除目標 Amazon Redshift 資料倉儲中不符合新篩選條件的任何資料,並重新同步所有受影響的資料表。

將資料篩選條件新增至零 ETL 整合
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇零 ETL 整合。選取您要新增資料篩選條件的整合,然後選擇修改

  3. 來源下,新增一或多個 IncludeExclude陳述式。

    下圖顯示 MySQL 整合的資料篩選條件範例:

    RDS 主控台中零 ETL 整合的資料篩選條件
  4. 當您對變更感到滿意時,請選擇繼續儲存變更

RDS 主控台

將資料篩選條件新增至零 ETL 整合
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇零 ETL 整合。選取您要新增資料篩選條件的整合,然後選擇修改

  3. 來源下,新增一或多個 IncludeExclude陳述式。

    下圖顯示 MySQL 整合的資料篩選條件範例:

    RDS 主控台中零 ETL 整合的資料篩選條件
  4. 當您對變更感到滿意時,請選擇繼續儲存變更

若要使用 將資料篩選條件新增至零 ETL 整合 AWS CLI,請呼叫 modify-integration 命令。除了整合識別符,使用逗號分隔的 IncludeExclude Maxwell 篩選條件清單指定 --data-filter 參數。

下列範例會將篩選條件模式新增至 my-integration

對於 Linux、 macOS或 Unix:

aws rds modify-integration \ --integration-identifier my-integration \ --data-filter 'include: foodb.*, exclude: foodb.tbl, exclude: foodb./table_\d+/'

在 Windows 中:

aws rds modify-integration ^ --integration-identifier my-integration ^ --data-filter 'include: foodb.*, exclude: foodb.tbl, exclude: foodb./table_\d+/'

若要使用 將資料篩選條件新增至零 ETL 整合 AWS CLI,請呼叫 modify-integration 命令。除了整合識別符,使用逗號分隔的 IncludeExclude Maxwell 篩選條件清單指定 --data-filter 參數。

下列範例會將篩選條件模式新增至 my-integration

對於 Linux、 macOS或 Unix:

aws rds modify-integration \ --integration-identifier my-integration \ --data-filter 'include: foodb.*, exclude: foodb.tbl, exclude: foodb./table_\d+/'

在 Windows 中:

aws rds modify-integration ^ --integration-identifier my-integration ^ --data-filter 'include: foodb.*, exclude: foodb.tbl, exclude: foodb./table_\d+/'

若要使用 RDS API 修改零 ETL 整合,請呼叫 ModifyIntegration 操作。指定整合識別符,並提供以逗號分隔的篩選條件模式清單。

若要使用 RDS API 修改零 ETL 整合,請呼叫 ModifyIntegration 操作。指定整合識別符,並提供以逗號分隔的篩選條件模式清單。

從整合中移除資料篩選條件

當您從整合中移除資料篩選條件時,Amazon RDS Aurora會重新評估剩餘的篩選條件,就像移除的篩選條件永遠不存在一樣。然後,它會將任何先前已排除且現在符合條件的資料複寫到目標 Amazon Redshift 資料倉儲。這會觸發所有受影響資料表的重新同步。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。