# Google Cloud Storage

Google Cloud Storage to ujednolicona usługa przechowywania obiektów firmy Google służąca do przechowywania danych i uzyskiwania do nich dostępu w infrastrukturze Google Cloud. Oferuje wysoką dostępność, globalną redundancję oraz integruje się z szerszym ekosystemem Google Cloud.

Qlik Talend Cloud używa konta usługi Google Cloud z dostępem do odczytu docelowego zasobnika, aby połączyć się z Google Cloud Storage (GCS). Łącznik pobiera pliki z określonego zasobnika, automatycznie wykrywa schematy poprzez próbkowanie zawartości plików oraz przeprowadza przyrostową replikację danych na podstawie znaczników czasu modyfikacji plików.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/Connecting-Google-Cloud-Storage.htm)

#### Migawka cech

Ogólne informacje o tym łączniku, w tym przydatne linki i obsługiwane cechy.

| Cecha/możliwość | Szczegóły obsługi |
| --- | --- |
| Wspierane projekty Qlik Talend Data Integration | Tylko [projekty replikacji](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/data-replication-task.htm). Projekty potoków danych nie są obsługiwane. |
| [Metody aktualizacji celu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/Change-processing.htm) | Zadania replikacji:<br><br><ul><li><p>Zastosuj zmiany</p></li><li><p>Zapisz zmiany</p></li></ul><br><br>Umieszczanie danych w zadaniach jeziora danych:<br><br><ul><li><p>Przechwytywanie zmian danych (CDC)</p></li></ul> |
| [Łączenie się z aplikacjami SaaS](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm#Managing) | Ręczne tworzenie metadanych nie jest wymagane. |
| [Automatyczna ewolucja schematu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Schema) | Obsługiwana jest tylko operacja Zmień typ danych kolumny. |
| Replikacja kolumn LOB (NCLOB, CLOB i BLOB) | Brak obsługi. |
| Zaplanowane CDC | Wymagane. W ten sposób cel jest na bieżąco informowany o zmianach w źródle.<br><br>W kwestii zadań replikacji zobacz [Planowanie zadań](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Scheduli2)<br><br>W sprawie zadań umieszczania w jeziorze zobacz [Harmonogram CDC dla zadań umieszczania w jeziorze](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes-settings.htm#Scheduli2) |
| Powiadomienia | Częściowa obsługa<br><br>[Ustawianie powiadomień o zmianach w działaniu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Notifications.htm) |
| Monitorowanie | Tylko CDC, ponieważ pełne ładowanie jest nieodpowiednie dla tego łącznika.<br><br>[Monitorowanie indywidualnego zadania danych](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Monitoring-data-tasks.htm) |
| Automatyczne eliminowanie zagnieżdżeń zawartości kolumn JSON | Brak obsługi. Ładunki kolumn JSON w źródłowych zestawach danych nie są automatycznie rozwijane w docelowych. |

## Przygotowanie do uwierzytelnienia

Aby uzyskać dostęp do swoich danych, musisz uwierzytelnić połączenie za pomocą danych logowania do swojego konta.

InformacjaUpewnij się, że używane konto ma uprawnienia do odczytu interesujących Cię tabel.

Aby skonfigurować konto Google Cloud Storage, potrzebujesz:

* Projekt Google Cloud Platform (GCP) z włączonym API Cloud Storage.

* Zasobnik Google Cloud Storage (GCS) zawierający pliki do zreplikowania.

* Konto usługi z dostępem do odczytu zasobnika.

  Zalecaną rolą jest Storage Object Viewer (`roles/storage.objectViewer`), która przyznaje wymagane uprawnienia `storage.objects.get` i `storage.objects.list`. Więcej informacji, patrz [dokumentacja ról IAM w Google Cloud Storage](https://docs.cloud.google.com/storage/docs/access-control/iam-roles).

* Plik klucza JSON konta usługi pobrany dla konta usługi.

Aby utworzyć konto usługi i pobrać swoje dane uwierzytelniające:

1. Zaloguj się na swoje konto [Google Cloud](https://accounts.google.com/v3/signin/identifier?authuser=0&ec=GAlAywI&hl=en&flowName=GlifWebSignIn&flowEntry=AddSession&dsh=S-1020015778%3A1777897358935634).

2. Przejdź do IAM i administracja &gt; Konta usług.

3. Kliknij Utwórz konto usługi.

4. Wprowadź nazwę i opis konta usługi, a następnie kliknij Utwórz i kontynuuj.

5. Nadaj kontu usługi rolę Storage Object Viewer lub rolę niestandardową z uprawnieniami `storage.objects.get` i `storage.objects.list`.

6. Kliknij Kontynuuj i Gotowe.

7. W nowo utworzonym koncie usługi kliknij menu Działania.

8. Przejdź do Zarządzaj kluczami &gt; Dodaj klucz &gt; Utwórz nowy klucz.

9. Wybierz JSON i kliknij Utwórz.

   Plik klucza JSON zostanie pobrany bezpośrednio na Twój komputer. Ten plik zawiera pola `project_id`, `client_email` i `private_key` wymagane do nawiązania połączenia.

   Możesz pobierać plik klucza tylko raz. Pamiętaj, aby bezpiecznie go przechowywać i utworzyć jego kopię zapasową, ponieważ zapewnia dostęp do Twoich zasobów Google Cloud.

### Obsługiwane formaty plików

* Tekst rozdzielany: CSV, TSV, PSV, TXT (z konfigurowalnym separatorem)
* JSON Lines (`.jsonl`)
* Parquet (`.parquet`)
* Avro (`.avro`)
* Pliki skompresowane za pomocą Gzip (`.gz`) zawierające dowolny z powyższych formatów
* Archiwa ZIP zawierające pliki CSV, JSON Lines, TXT, TSV, PSV lub Gzip

## Tworzenie połączenia

Więcej informacji zawiera temat [Łączenie się z aplikacjami SaaS](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm).

1. Wprowadź wymagane właściwości połączenia.

2. Podaj nazwę połączenia w polu Nazwa połączenia.

3. Wybierz opcję Otwórz metadane połączenia, aby zdefiniować metadane połączenia po jegu utworzeniu.

4. Kliknij polecenie Utwórz.

Ustawienia połączenia

| Ustawienie | Opis |
| --- | --- |
| Brama danych | Wybierz bramę Brama danych ruchu danych, jeżeli jest wymagana do danego zastosowania.<br><br>Informacja<br><br>To pole jest niedostępne w subskrypcji Qlik Talend Cloud Starter, ponieważ brama Brama danych ruchu danych jest w niej nieobsługiwana. Jeśli masz inny poziom subskrypcji i nie chcesz korzystać z bramy Brama danych ruchu danych, wybierz opcję Brak.<br><br>Informacje o zaletach bramy Brama danych ruchu danych i o okolicznościach, w których jest wymagana, zawiera temat [Brama danych Qlik — ruch danych](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm). |
| Data rozpoczęcia | Wprowadź datę, w formacie `MM/DD/YYYY`, od której dane muszą być replikowane ze źródła do celu. |
| Adres e-mail klienta | Adres e-mail klienta z pliku klucza JSON konta usługi. |
| Identyfikator projektu | Identyfikator projektu z pliku klucza JSON konta usługi. |
| Zasobnik | Nazwa zasobnika Google Cloud Storage (GCS), w którym przechowywane są pliki, na przykład `my-gcs-bucket`.<br><br>Nie dołączaj prefiksu `gs://`. |
| Tabele | Skonfiguruj tabele, aby kontrolować, które pliki są odczytywane i jak interpretowana jest ich zawartość. Każda definicja tabeli zawiera wzorzec wyszukiwania plików, nazwę tabeli oraz opcjonalne ustawienia zaawansowanego zachowania. |
| Klucz prywatny | Klucz prywatny z pliku klucza JSON konta usługi. |

### Konfiguracja tabeli

Każdy wpis w konfiguracji tabeli określa tabelę logiczną utworzoną z plików w docelowym zasobniku. Dla każdej tabeli można skonfigurować następujące właściwości:

| Właściwość | Wymagane lub opcjonalne | Opis |
| --- | --- | --- |
| Nazwa tabeli | Wymagane pole | Określ nazwę tabeli logicznej, na przykład `my_orders_csv`. Ta nazwa pojawi się jako nazwa strumienia w Qlik Talend Cloud. |
| Wzorzec wyszukiwania | Wymagane pole | Wprowadź wyrażenie regularne, aby dopasować nazwy plików, na przykład `.*\.csv$`, aby wybrać wszystkie pliki CSV. Łącznik używa składni wzorców wyszukiwania regex i glob. W wyrażeniach regularnych `*.csv` nie dopasowuje nazw plików CSV, ponieważ `*` musi obserwować wyrażenie, aby je powtórzyć. Użyj wzorców, takich jak `\.csv$` lub `.*\.csv$`, aby dopasować nazwy plików, takie jak `report.csv` i `my.data.csv`. |
| Prefiks wyszukiwania | Opcjonalne | Podaj prefiks ścieżki w zasobniku, aby zawęzić wyszukiwanie plików, na przykład `exports/orders/`. Użycie prefiksu poprawia wydajność, ograniczając liczbę skanowanych plików. |
| Kluczowe właściwości | Opcjonalne | Wymień jedną lub więcej nazw kolumn, oddzielonych przecinkami, aby zdefiniować klucz podstawowy. Na przykład: `id` lub `id,date`. |
| Zastąpienia dat | Opcjonalne | Wymień nazwy kolumn, rozdzielone przecinkami, które mają być traktowane jako pola daty i godziny. Użyj tej opcji, jeśli te pola nie zostaną automatycznie wykryte podczas wykrywania schematu. |
| Ogranicznik | Opcjonalne | Określ znak rozdzielający wartości w Twoich plikach. Wartość domyślna to `,` (przecinek). Użyj `\t` dla plików rozdzielanych tabulatorami (TSV) lub `\|` dla plików rozdzielanych kreską pionową (PSV). Jeśli pole pozostanie puste, system automatycznie wykrywa separator na podstawie rozszerzenia pliku. |

### Zreplikowane tabele

Tabele są tworzone na podstawie konfiguracji tabeli (patrz wyżej). Każda tabela odpowiada zestawowi plików w zasobniku Google Cloud Storage (GCS), które pasują zarówno do określonego wzorca wyszukiwania, jak i dowolnego opcjonalnego prefiksu. Łącznik automatycznie wykrywa schematy, próbkując do 5 plików na tabelę, odczytując co piąty wiersz, maksymalnie do 1000 rekordów na plik.

Replikacja jest przyrostowa i wykorzystuje znaczniki czasu modyfikacji plików do śledzenia zmian. Podczas każdej ekstrakcji łącznik przetwarza tylko te pliki, które zostały zmodyfikowane od czasu ostatniej pomyślnej synchronizacji, zgodnie z zapisem w zakładce synchronizacji.

Do każdej tabeli domyślnie dodawane są następujące kolumny systemowe:

| Kolumna | Opis |
| --- | --- |
| `_sdc_source_bucket` | Nazwa zasobnika Google Cloud Storage (GCS), z którego odczytano rekord. |
| `_sdc_source_file` | Pełna ścieżka do pliku zawierającego rekord. |
| `_sdc_source_lineno` | The line number of the record within the file.<br>-&gt;<br>Numer wiersza rekordu w pliku. |
| `_sdc_extra` | Wszelkie dodatkowe kolumny znalezione podczas analizowania, które nie pasują do wykrytego schematu. Dotyczy tylko plików JSONL. |

## Ograniczenia i uwagi

* Poświadczenia konta usługi (`project_id`, `client_email`, `private_key`) muszą zostać podane jako poszczególne wartości wyodrębnione z pliku klucza JSON; przesyłanie plików nie jest obsługiwane.
* Pliki skompresowane za pomocą Gzip (`.gz`) są obsługiwane. Łącznik odczytuje oryginalną nazwę pliku z nagłówka gzip, aby określić format pliku wewnętrznego. Pliki gzip utworzone za pomocą `--no-name` (brak nazwy pliku zapisanej w nagłówku) są pomijane.
* Zagnieżdżona kompresja (na przykład `.gz` wewnątrz innego `.gz` lub `.zip` wewnątrz `.zip`) nie jest obsługiwana. Te pliki są pomijane.
* Pliki z rozszerzeniami `.csv`, `.txt`, `.tsv`, `.psv` lub `.jsonl` są sprawdzane pod kątem bajtów magicznych gzip i dekompresowane, jeśli są skompresowane za pomocą gzip — nawet jeśli plik nie ma rozszerzenia `.gz`.
* Pole `search_pattern` używa składni wzorców wyszukiwania regex i glob. W wyrażeniach regularnych `*.csv` nie dopasowuje nazw plików CSV, ponieważ `*` musi obserwować wyrażenie, aby je powtórzyć. Użyj `.*\.csv$`, aby dopasować nazwy plików, takie jak `report.csv` i `my.data.csv`.
* Łącznik ma wbudowaną logikę ponawiania prób z wycofywaniem wykładniczym w przypadku limitów żądań API Google Cloud Storage (GCS) (`429`) oraz przejściowych błędów serwera (`500`, `502`, `503`, `504`). Przed zakończeniem niepowodzeniem podejmowanych jest maksymalnie pięć prób.
* Pliki bez rozpoznanego rozszerzenia są pomijane i generowane jest ostrzeżenie.