Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Datenfilterung für Aurora-Zero-Integrationen mit Amazon Redshift
Sie können die Datenfilterung für Aurora-Zero-Integrationen verwenden, um den Umfang der Replikation vom Aurora-DB-Cluster der zum Amazon Redshift-Ziel-Data Warehouse zu definieren. Anstatt alle Daten auf das Ziel zu replizieren, können Sie einen oder mehrere Filter definieren, die bestimmte Tabellen selektiv einbeziehen oder von der Replikation ausschließen. Für Null-Integrationen ist nur das Filtern auf Datenbank- und Tabellenebene verfügbar. ETL Sie können nicht nach Spalten oder Zeilen filtern.
Datenfilterung kann nützlich sein, wenn Sie:
-
Wenn Sie bestimmte Tabellen aus zwei oder mehr verschiedenen verbinden, benötigen Sie keine vollständigen Daten aus einem der .
-
Sparen Sie Kosten, indem Sie Analysen nur mit einer Teilmenge von Tabellen und nicht mit einer ganzen Flotte von Datenbanken durchführen.
-
Filtern Sie vertrauliche Informationen wie Telefonnummern, Adressen oder Kreditkarteninformationen aus bestimmten Tabellen heraus.
Sie können Datenfilter zu einer ETL Zero-Integration hinzufügen, indem Sie The AWS Management Console, The AWS Command Line Interface (AWS CLI) oder Amazon verwenden RDSAPI.
Wenn die Integration einen bereitgestellten Amazon Redshift Redshift-Cluster als Ziel hat, muss sich der Cluster auf Patch 180 oder höher befinden.
Themen
Format eines Datenfilters
Sie können mehrere Filter für eine einzelne Integration definieren. Jeder Filter schließt alle vorhandenen und future Datenbanktabellen ein oder schließt sie aus, die einem der Muster im Filterausdruck entsprechen. Aurora Zero ETL Integrations verwenden die Maxwell-Filtersyntax
Jeder Filter hat die folgenden Elemente:
Element | Beschreibung |
---|---|
Typ des Filters |
Ein |
Filterausdruck |
Eine durch Kommas getrennte Liste von Mustern. Ausdrücke müssen die Maxwell-Filtersyntax |
Muster |
Ein Filtermuster im Format AnmerkungFür Aurora My werden SQL reguläre Ausdrücke sowohl im Datenbank- als auch im Tabellennamen unterstützt. Für Aurora Postgre SQL werden reguläre Ausdrücke nur im Schema- und Tabellennamen unterstützt, nicht im Datenbanknamen. Sie können keine Filter oder Denylisten auf Spaltenebene einbeziehen. Eine einzelne Integration kann insgesamt maximal 99 Muster haben. In der Konsole können Sie Muster innerhalb eines einzelnen Filterausdrucks eingeben oder sie auf mehrere Ausdrücke verteilen. Ein einzelnes Muster darf nicht länger als 256 Zeichen sein. |
Wichtig
Wenn Sie einen Aurora SQL Postgre-Quell-DB-Cluster auswählen, müssen Sie mindestens ein Datenfiltermuster angeben. Das Muster muss mindestens eine einzige Datenbank (
) für die Replikation nach Amazon Redshift enthalten.database-name
.*.*
Die folgende Abbildung zeigt die Struktur der Aurora My SQL Datenfilter in der Konsole:

Wichtig
Nehmen Sie keine personenbezogenen, vertraulichen oder sensiblen Informationen in Ihre Filtermuster auf.
Datenfilter im AWS CLI
Wenn Sie den verwenden AWS CLI , um einen Datenfilter hinzuzufügen, unterscheidet sich die Syntax geringfügig von der der Konsole. Jedes einzelne Muster muss einem eigenen Filtertyp (Include
oderExclude
) zugeordnet werden. Sie können nicht mehrere Muster mit einem einzigen Filtertyp gruppieren.
In der Konsole können Sie beispielsweise die folgenden durch Kommas getrennten Muster in einer einzigen Include
Anweisung gruppieren:
Aurora My SQL
mydb
.mytable
,mydb
./table_\d+/
Aurora Postgret SQL
mydb
.myschema
.mytable
,mydb
.myschema
./table_\d+/
Wenn Sie den verwenden AWS CLI, muss derselbe Datenfilter jedoch das folgende Format haben:
Aurora My SQL
'include:
mydb.mytable
, include:mydb./table_\d+/
'
Aurora Postgret SQL
'include:
mydb.myschema.mytable
, include:mydb.myschema./table_\d+/
'
Filterlogik
Wenn Sie in Ihrer Integration keine Datenfilter angeben, geht Aurora von einem Standardfilter für aus include:*.*
und repliziert alle Tabellen in das Ziel-Data Warehouse. Wenn Sie jedoch mindestens einen Filter angeben, beginnt die Logik mit einem angenommenen Wertexclude:*.*
, was bedeutet, dass alle Tabellen automatisch von der Replikation ausgeschlossen werden. Auf diese Weise können Sie direkt definieren, welche Tabellen und Datenbanken eingeschlossen werden sollen.
Wenn Sie beispielsweise den folgenden Filter definieren:
'include: db.table1, include: db.table2'
Aurora bewertet den Filter wie folgt:
'exclude:*.*, include: db.table1, include: db.table2'
Daher db
werden nur table1
und table2
aus der genannten Datenbank in das Ziel-Data Warehouse repliziert.
Priorität filtern
Aurora wertet Datenfilter in der Reihenfolge aus, in der sie angegeben sind. In der bedeutet dies AWS Management Console, dass Aurora Filterausdrücke von links nach rechts und von oben nach unten auswertet. Wenn Sie ein bestimmtes Muster für den ersten Filter angeben, kann ein zweiter Filter oder sogar ein einzelnes Muster, das unmittelbar danach angegeben wird, dieses überschreiben.
Dies könnte beispielsweise Ihr erster Filter sein Include
books.stephenking
, der eine einzelne Tabelle enthält, die innerhalb stephenking
der books
Datenbank benannt wurde. Wenn Sie jedoch einen zweiten Filter von hinzufügen Exclude
books.*
, überschreibt dieser den zuvor definierten Include
Filter. Somit werden keine Tabellen aus dem books
Index nach Amazon Redshift repliziert.
Wenn Sie mindestens einen Filter angeben, beginnt die Logik mit einem angenommenen Wertexclude:*.*
, was bedeutet, dass alle Tabellen automatisch von der Replikation ausgeschlossen werden. Es hat sich daher bewährt, Ihre Filter vom breitesten bis zum am wenigsten breiten Filter zu definieren. Verwenden Sie beispielsweise eine oder mehrere Include
Anweisungen, um alle Daten zu definieren, die Sie replizieren möchten. Beginnen Sie dann mit dem Hinzufügen von Exclude
Filtern, um bestimmte Tabellen selektiv von der Replikation auszuschließen.
Das gleiche Prinzip gilt für Filter, die Sie mit dem definieren. AWS CLI Aurora wertet diese Filtermuster in der Reihenfolge aus, in der sie angegeben wurden, sodass ein Muster eines zuvor angegebenen überschreiben kann.
Aurora Meine SQL Beispiele
Die folgenden Beispiele zeigen, wie Datenfilterung für Aurora My SQL ETL Zero-Integrations funktioniert:
-
Schließt alle Datenbanken und alle Tabellen ein:
'include: *.*'
-
Schließt alle Tabellen in die
books
Datenbank ein:'include: books.*'
-
Schließt alle Tabellen mit den folgenden Namen aus
mystery
:'include: *.*, exclude: *.mystery'
-
Schließt zwei spezifische Tabellen in die
books
Datenbank ein:'include: books.stephen_king, include: books.carolyn_keene'
-
Schließt alle Tabellen in die
books
Datenbank ein, außer denen, die die Teilzeichenfolgemystery
enthalten:'include: books.*, exclude: books./.*mystery.*/'
-
Schließt alle Tabellen in die
books
Datenbank ein, außer denen, die beginnen mitmystery
:'include: books.*, exclude: books./mystery.*/'
-
Schließt alle Tabellen in die
books
Datenbank ein, mit Ausnahme der Tabellen, die wie folgt endenmystery
:'include: books.*, exclude: books./.*mystery/'
-
Schließt alle Tabellen in der
books
Datenbank ein, die mit beginnentable_
, mit Ausnahme der benanntentable_stephen_king
. Zum Beispiel,table_movies
odertable_books
würde repliziert werden, aber nichttable_stephen_king
.'include: books./table_.*/, exclude: books.table_stephen_king'
Aurora Postgre-Beispiele SQL
Die folgenden Beispiele zeigen, wie Datenfilterung für Aurora SQL ETL Postgre-Null-Integrationen funktioniert:
-
Schließt alle Tabellen in die
books
Datenbank ein:'include: books.*.*'
-
Schließt alle
mystery
in derbooks
Datenbank benannten Tabellen aus:'include: books.*.*, exclude: books.*.mystery'
-
Nehmen Sie eine Tabelle innerhalb der
books
Datenbank in dasmystery
Schema und eine Tabelle innerhalb deremployee
Datenbank in dasfinance
Schema auf:'include: books.mystery.stephen_king, include: employee.finance.benefits'
-
Schließt alle Tabellen in die
books
Datenbank und dasscience_fiction
Schema ein, mit Ausnahme derjenigen, die die Teilzeichenfolgeking
enthalten:'include: books.science_fiction.*, exclude: books.*./.*king.*/
-
Schließt alle Tabellen in die
books
Datenbank ein, außer denen, deren Schemaname beginnt mitsci
:'include: books.*.*, exclude: books./sci.*/.*'
-
Schließt alle Tabellen in der
books
Datenbank ein, mit Ausnahme der Tabellen immystery
Schema, die auf Folgendes endenking
:'include: books.*.*, exclude: books.mystery./.*king/'
-
Schließt alle Tabellen in der
books
Datenbank ein, die mit beginnentable_
, mit Ausnahme der benanntentable_stephen_king
. Zum Beispiel werdentable_movies
imfiction
Schema undtable_books
immystery
Schema repliziert, abertable_stephen_king
in keinem der Schemas:'include: books.*./table_.*/, exclude: books.*.table_stephen_king'
Hinzufügen von Datenfiltern zu einer Integration
Sie können die Datenfilterung mit dem AWS Management Console AWS CLI, dem oder Amazon konfigurieren RDSAPI.
Wichtig
Wenn Sie nach dem Erstellen einer Integration einen Filter hinzufügen, bewertet Aurora den Filter neu, als ob er schon immer existiert hätte. Es entfernt alle Daten, die sich derzeit im Amazon Redshift Redshift-Ziel-Data Warehouse befinden und nicht den neuen Filterkriterien entsprechen. Diese Aktion bewirkt, dass alle betroffenen Tabellen erneut synchronisiert werden.
Um Datenfilter zu einer Null-Integration hinzuzufügen ETL
Melden Sie sich bei der an AWS Management Console und öffnen Sie die RDS Amazon-Konsole unter https://console.aws.amazon.com/rds/
. -
Wählen Sie im Navigationsbereich Zero- ETL Integrations aus. Wählen Sie die Integration aus, zu der Sie Datenfilter hinzufügen möchten, und klicken Sie dann auf Ändern.
-
Fügen Sie unter Quelle eine oder mehrere
Include
Exclude
AND-Anweisungen hinzu.Die folgende Abbildung zeigt ein Beispiel für Datenfilter für eine Aurora SQL My-Integration:
-
Wenn alle Änderungen Ihren Wünschen entsprechen, wählen Sie Weiter und Änderungen speichern aus.
Um einer ETL Zero-Integration mithilfe von Datenfilter hinzuzufügen AWS CLI, rufen Sie den Befehl modify-integration--data-filter
Parameter zusätzlich zur Integrations-ID mit einer kommagetrennten Liste von und Maxwell-Filtern an. Include
Exclude
Im folgenden Beispiel werden Filtermuster zu hinzugefügt. my-integration
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:
aws rds modify-integration \ --integration-identifier
my-integration
\ --data-filter'include: foodb.*, exclude: foodb.tbl, exclude: foodb./table_\d+/'
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:
aws rds modify-integration ^ --integration-identifier
my-integration
^ --data-filter'include: foodb.*, exclude: foodb.tbl, exclude: foodb./table_\d+/'
Um eine ETL Nullintegration mit dem zu ändern RDSAPI, rufen Sie die ModifyIntegrationOperation auf. Geben Sie die Integrations-ID an und stellen Sie eine durch Kommas getrennte Liste von Filtermustern bereit.
Datenfilter aus einer Integration entfernen
Wenn Sie einen Datenfilter aus einer Integration entfernen, bewertet Aurora die verbleibenden Filter neu, als ob der entfernte Filter nie existiert hätte. Aurora repliziert dann alle Daten, die zuvor nicht den Filterkriterien entsprachen (dies aber jetzt tun), in das Amazon Redshift Redshift-Ziel-Data Warehouse.
Durch das Entfernen eines oder mehrerer Datenfilter werden alle betroffenen Tabellen erneut synchronisiert.