Google Cloud Storage
Google Cloud Storage is de uniforme objectopslagservice van Google voor het opslaan van en toegang krijgen tot gegevens op de Google Cloud-infrastructuur. Het biedt hoge beschikbaarheid, wereldwijde redundantie en integreert met het bredere Google Cloud-ecosysteem.
Qlik Talend Cloud gebruikt een Google Cloud-serviceaccount met leestoegang tot de doel-bucket om verbinding te maken met Google Cloud Storage (GCS). De connector haalt bestanden op uit de opgegeven bucket, ontdekt automatisch schema's door de bestandsinhoud te bemonsteren en voert incrementele gegevensreplicatie uit op basis van tijdstempels van bestandswijzigingen.
Voorbereiden op authenticatie
Om toegang te krijgen tot uw gegevens, moet u de verbinding authenticeren met uw accountgegevens.
Om uw Google Cloud Storage-account in te stellen, hebt u het volgende nodig:
- Een Google Cloud Platform (GCP)-project waarbij de Cloud Storage API is ingeschakeld.
- Een Google Cloud Storage (GCS)-bucket die de bestanden bevat die moeten worden gerepliceerd.
- Een serviceaccount met leestoegang tot de bucket.
De aanbevolen rol is Storage Object Viewer (
roles/storage.objectViewer), die de vereiste machtigingenstorage.objects.getenstorage.objects.listverleent. Zie voor meer informatie de documentatie over Google Cloud Storage IAM-rollen . - Een JSON-sleutelbestand van het serviceaccount dat is gedownload voor het serviceaccount.
Om een serviceaccount aan te maken en uw inloggegevens op te halen:
- Log in op uw Google Cloud-account.
- Navigeer naar IAM en beheer > Serviceaccounts.
- Klik op Serviceaccount maken.
- Voer een naam en beschrijving in voor het serviceaccount en klik vervolgens op Maken en doorgaan.
- Verleen het serviceaccount de rol Storage Object Viewer of een aangepaste rol met de machtigingen
storage.objects.getenstorage.objects.list. - Klik op Doorgaan en Gereed.
- Klik in uw nieuw gemaakte serviceaccount op het menu Acties.
- Navigeer naar Sleutels beheren > Sleutel toevoegen > Nieuwe sleutel maken.
- Selecteer JSON en klik op Maken.
Het JSON-sleutelbestand wordt direct naar uw machine gedownload. Dit bestand bevat de velden
project_id,client_emailenprivate_keydie vereist zijn om de verbinding tot stand te brengen.U kunt het sleutelbestand slechts één keer downloaden. Zorg ervoor dat u het veilig opslaat en er een back-up van maakt, aangezien het toegang biedt tot uw Google Cloud-resources.
Ondersteunde bestandsindelingen
- Gescheiden tekst: CSV, TSV, PSV, TXT (met configureerbaar scheidingsteken)
- JSON Lines (
.jsonl) - Parquet (
.parquet) - Avro (
.avro) - Gzip-gecomprimeerde bestanden (
.gz) die een van de bovenstaande indelingen bevatten - ZIP-archieven die CSV-, JSON Lines-, TXT-, TSV-, PSV- of Gzip-bestanden bevatten
De verbinding maken
Ga voor meer informatie naar Verbinding maken met SaaS-applicaties.
- Vul de vereiste verbindingseigenschappen in.
-
Geef in Verbindingsnaam een naam voor de verbinding op.
-
Selecteer Metagegevens verbinding openen om metagegevens te definiëren voor de verbinding nadat deze is gemaakt.
-
Klik op Maken.
| Instelling | Beschrijving |
|---|---|
| Gegevensgateway |
Selecteer een Data Movement gateway als dit is vereist voor uw usecase. Informatie
Dit veld is niet beschikbaar met het Qlik Talend Cloud Starter-abonnement, omdat het geen ondersteuning biedt voor Data Movement gateway. Als u een ander abonnementsniveau hebt en Data Movement gateway niet wilt gebruiken, selecteer dan Geen. Raadpleeg Qlik Gegevensgateway - Gegevensverplaatsing voor informatie over de voordelen van Data Movement gateway en usecases waarvoor deze is vereist. |
| Startdatum |
Voer de datum in, in het formaat |
| E-mailadres van client | E-mailadres van client uit het JSON-sleutelbestand van het serviceaccount. |
| Project-ID | Project-ID uit het JSON-sleutelbestand van het serviceaccount. |
| Bucket | Naam van de Google Cloud Storage (GCS)-bucket waar de bestanden zijn opgeslagen, bijvoorbeeld my-gcs-bucket.
Neem het voorvoegsel |
| Tabellen | Configureer tabellen om te bepalen welke bestanden worden gelezen en hoe de inhoud ervan wordt geïnterpreteerd. Elke tabeldefinitie bevat een bestandszoekpatroon, een tabelnaam en optionele instellingen voor geavanceerd gedrag. |
| Privésleutel | Privésleutel uit het JSON-sleutelbestand van het serviceaccount. |
Tabelconfiguratie
Elke invoer in de tabelconfiguratie specificeert een logische tabel die is gemaakt op basis van bestanden in de doel-bucket. U kunt de volgende eigenschappen voor elke tabel configureren:
| Eigenschap | Vereist of optioneel | Beschrijving |
|---|---|---|
| Tabelnaam | Vereist |
Geef een naam op voor de logische tabel, bijvoorbeeld my_orders_csv. Deze naam wordt weergegeven als de stream-naam in Qlik Talend Cloud.
|
| Zoekpatroon | Vereist |
Voer een reguliere expressie in om overeen te komen met bestandsnamen, bijvoorbeeld .csv$ om alle CSV-bestanden te selecteren.
|
| Zoekvoorvoegsel | Optioneel | Geef een padvoorvoegsel op binnen de bucket om het zoeken naar bestanden te verfijnen, bijvoorbeeld exports/orders/. Het gebruik van een voorvoegsel verbetert de prestaties door het aantal gescande bestanden te beperken.
|
| Sleuteleigenschappen | Optioneel |
Geef een of meer kolomnamen op, gescheiden door komma's, om de primaire sleutel te definiëren. Bijvoorbeeld: id of id,date.
|
| Datumoverschrijvingen | Optioneel | Geef kolomnamen op, gescheiden door komma's, die als datum-tijdvelden moeten worden behandeld. Gebruik deze optie als deze velden niet automatisch worden gedetecteerd tijdens het ontdekken van schema's. |
| Scheidingsteken | Optioneel |
Geef het teken op dat waarden in uw bestanden scheidt. De standaardwaarde is , (komma). Gebruik \t voor door tabs gescheiden (TSV) bestanden of | voor door sluistekens gescheiden (PSV) bestanden. Als dit leeg wordt gelaten, detecteert het systeem automatisch het scheidingsteken op basis van de bestandsextensie.
|
Gerepliceerde tabellen
Tabellen worden gemaakt op basis van de tabelconfiguratie (zie hierboven). Elke tabel komt overeen met een set bestanden in de Google Cloud Storage (GCS)-bucket die overeenkomen met zowel het opgegeven zoekpatroon als een eventueel optioneel voorvoegsel. De connector ontdekt automatisch schema's door maximaal 5 bestanden per tabel te bemonsteren, waarbij elke vijfde rij wordt gelezen, met een maximum van 1.000 records per bestand.
Replicatie is incrementeel en gebruikt tijdstempels van bestandswijzigingen om wijzigingen bij te houden. Tijdens elke extractie verwerkt de connector alleen die bestanden die zijn gewijzigd sinds de laatste succesvolle synchronisatie, zoals vastgelegd door de synchronisatiebladwijzer.
De volgende systeemkolommen worden standaard aan elke tabel toegevoegd:
| Kolom | Beschrijving |
|---|---|
_sdc_source_bucket
|
De naam van de Google Cloud Storage (GCS)-bucket waar de record is gelezen. |
_sdc_source_file
|
Het volledige pad van het bestand dat de record bevat. |
_sdc_source_lineno
|
Het regelnummer van de record binnen het bestand. |
_sdc_extra
|
Eventuele extra kolommen die tijdens het parseren zijn gevonden en die niet overeenkomen met het ontdekte schema. Alleen van toepassing op JSONL-bestanden. |
Beperkingen en overwegingen
-
Inloggegevens van het serviceaccount (
project_id,client_email,private_key) moeten worden opgegeven als afzonderlijke waarden die zijn geëxtraheerd uit het JSON-sleutelbestand; het uploaden van bestanden wordt niet ondersteund. -
Gzip-gecomprimeerde bestanden (
.gz) worden ondersteund. De connector leest de oorspronkelijke bestandsnaam uit de gzip-header om de interne bestandsindeling te bepalen. Gzip-bestanden die zijn gemaakt met--no-name(geen bestandsnaam opgeslagen in de header) worden overgeslagen. -
Geneste compressie (bijvoorbeeld een
.gzin een andere.gzof een.zipin een.zip) wordt niet ondersteund. Deze bestanden worden overgeslagen. -
Bestanden met de extensies
.csv,.txt,.tsv,.psvof.jsonlworden gecontroleerd op gzip magic bytes en gedecomprimeerd als ze gzip-gecomprimeerd zijn, zelfs wanneer het bestand geen.gz-extensie heeft. -
Het veld
search_patterngebruikt de syntaxis van reguliere expressies, geen glob-patronen. Gebruik bijvoorbeeld\.csv$in plaats van*.csv. -
De connector heeft ingebouwde logica voor opnieuw proberen met exponentiële back-off voor Google Cloud Storage (GCS) API-snelheidslimieten (
429) en tijdelijke serverfouten (500,502,503,504). Er worden maximaal vijf pogingen gedaan voordat deze mislukt. - Bestanden zonder een herkende extensie worden overgeslagen en er wordt een waarschuwing afgegeven.