# Google Cloud Storage

O Google Cloud Storage é o serviço de armazenamento de objetos unificado do Google para armazenar e acessar dados na infraestrutura do Google Cloud. Ele oferece alta disponibilidade, redundância global e se integra ao ecossistema mais amplo do Google Cloud.

O Qlik Talend Cloud usa uma conta de serviço do Google Cloud com acesso de leitura ao compartimento de destino para se conectar ao Google Cloud Storage (GCS). O conector recupera arquivos do compartimento especificado, descobre automaticamente esquemas amostrando o conteúdo do arquivo e executa a replicação de dados incremental com base nos carimbos de data/hora de modificação do arquivo.

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

#### Snapshot de recursos

Uma visão de alto nível desse conector, incluindo links úteis e recursos compatíveis.

| Recurso/Capacidade | Detalhes do suporte |
| --- | --- |
| Projetos do Qlik Talend Data Integration compatíveis | Apenas [Projetos de replicação](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/data-replication-task.htm). Não há suporte para projetos de pipeline de dados. |
| [Métodos de atualização de destino](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/Change-processing.htm) | Tarefas de replicação:<br><br><ul><li><p>Aplicar alterações</p></li><li><p>Armazenar alterações</p></li></ul><br><br>Aterrisando dados em tarefas de data lake:<br><br><ul><li><p>Captura de dados de alterações (CDC)</p></li></ul> |
| [Conectando-se a aplicativos SAP](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm#Managing) | A geração manual de metadados não é necessária. |
| [Evolução automática de esquema](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Schema) | Somente a operação Alterar tipo de dados da coluna é compatível. |
| Replicação de colunas LOB (NCLOB, CLOB e BLOB) | Sem suporte. |
| CDC agendado | Obrigatório. É assim que o destino é mantido atualizado com as alterações na fonte.<br><br>Para tarefas de replicação, consulte [Programando tarefas](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Scheduli2)<br><br>Para tarefas de aterrisagem no lake, consulte [Agendando uma CDC para tarefas de aterrisagem no lake](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes-settings.htm#Scheduli2) |
| Notificações | Parcialmente compatível<br><br>[Configurando notificações sobre alterações na operação](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Notifications.htm) |
| Monitoramento | Somente CDC, pois o carregamento total não é relevante para esse conector.<br><br>[Monitorando uma tarefa de dados individual](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Monitoring-data-tasks.htm) |
| Desencaixe automático de cargas úteis de colunas JSON | Sem suporte. As cargas úteis da coluna JSON nos conjuntos de dados de origem não são anuladas automaticamente no destino. |

## Preparando para autenticação

Para acessar seus dados, você precisa autenticar a conexão com as credenciais da sua conta.

Nota informativaCertifique-se de que a conta que você usa tenha acesso de leitura às tabelas que deseja buscar.

Para configurar sua conta do Google Cloud Storage, você precisa:

* Um projeto do Google Cloud Platform (GCP) com a API do Cloud Storage ativada.

* Um compartimento do Google Cloud Storage (GCS) que contém os arquivos a serem replicados.

* Uma conta de serviço com acesso de leitura ao compartimento.

  A função recomendada é Visualizador de Objetos de Armazenamento (`roles/storage.objectViewer`), que concede as permissões `storage.objects.get` e `storage.objects.list` necessárias. Para obter mais informações, consulte [Documentação de funções do IAM do Google Cloud Storage](https://docs.cloud.google.com/storage/docs/access-control/iam-roles).

* Um arquivo de chave JSON de conta de serviço baixado para a conta de serviço.

Para criar uma conta de serviço e recuperar suas credenciais:

1. Faça login na sua conta do [Google Cloud](https://accounts.google.com/v3/signin/identifier?authuser=0&ec=GAlAywI&hl=en&flowName=GlifWebSignIn&flowEntry=AddSession&dsh=S-1020015778%3A1777897358935634).

2. Navegue até IAM e Administração &gt; Contas de Serviço.

3. Clique em Criar conta de serviço.

4. Insira um nome e uma descrição para a conta de serviço e, em seguida, clique em Criar e continuar.

5. Conceda à conta de serviço a função Visualizador de objetos de armazenamento ou uma função personalizada com as permissões `storage.objects.get` e `storage.objects.list`.

6. Clique em Continuar e Concluído.

7. Na sua conta de serviço recém-criada, clique no menu Ações.

8. Navegue até Gerenciar chaves &gt; Adicionar chave &gt; Criar nova chave.

9. Selecione JSON e clique em Criar.

   O arquivo de chave JSON é baixado diretamente para sua máquina. Este arquivo inclui os campos `project_id`, `client_email` e `private_key` necessários para estabelecer a conexão.

   Você pode baixar o arquivo de chave apenas uma vez. Certifique-se de armazená-lo com segurança e fazer backup dele, pois ele fornece acesso aos seus recursos do Google Cloud.

### Formatos de arquivo não suportados

* Texto delimitado: CSV, TSV, PSV, TXT (com delimitador configurável)
* Linhas JSON (`.jsonl`)
* Parquet (`.parquet`)
* Avro (`.avro`)
* Arquivos compactados com Gzip (`.gz`) contendo qualquer um dos formatos acima
* Arquivos ZIP contendo arquivos CSV, JSON Lines, TXT, TSV, PSV ou Gzip

## Criando a conexão

Para obter mais informações, consulte [Conectando-se a aplicativos SAP](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm).

1. Preencha as propriedades de conexão obrigatórias.

2. Forneça um nome para a conexão em Nome da conexão.

3. Selecione Abrir metadados de conexão para definir metadados para a conexão quando ela for criada.

4. Clique em Criar.

Configurações de conexão

| Configuração | Descrição |
| --- | --- |
| Gateway de dados | Selecione um Gateway do Data Movement se for necessário para seu caso de uso.<br><br>Nota informativa<br><br>Esse campo não está disponível com a assinatura do Iniciante do Qlik Talend Cloud, pois esta não é compatível com o Gateway do Data Movement. Se você tiver outro nível de assinatura e não quiser usar o Gateway do Data Movement, selecione Nenhum.<br><br>Para obter informações sobre os benefícios do Gateway do Data Movement e casos de uso que exigem isso, consulte [Qlik Data Gateway - Data Movement](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm). |
| Data inicial | Digite a data, no formato `MM/DD/YYYY`, a partir da qual os dados devem ser replicados da fonte de dados para o destino. |
| E-mail do cliente | E-mail do cliente do arquivo de chave JSON da conta de serviço. |
| ID do projeto | ID do projeto do arquivo de chave JSON da conta de serviço. |
| Compartimento | Nome do compartimento do Google Cloud Storage (GCS) onde os arquivos estão armazenados, por exemplo, `my-gcs-bucket`.<br><br>Não inclua o prefixo `gs://`. |
| Tabelas | Configure tabelas para controlar quais arquivos são lidos e como seu conteúdo é interpretado. Cada definição de tabela inclui um padrão de pesquisa de arquivos, um nome de tabela e configurações opcionais para comportamentos avançados. |
| Chave privada | Chave privada do arquivo de chave JSON da conta de serviço. |

### Configuração da tabela

Cada entrada na configuração da tabela especifica uma tabela lógica criada a partir de arquivos no compartimento de destino. Você pode configurar as seguintes propriedades para cada tabela:

| Propriedade | Obrigatório ou opcional | Descrição |
| --- | --- | --- |
| Nome da tabela | Obrigatório | Especifique um nome para a tabela lógica, por exemplo, `my_orders_csv`. Esse nome aparecerá como o nome do fluxo no Qlik Talend Cloud. |
| Padrão de pesquisa | Obrigatório | Insira uma expressão regular para corresponder aos nomes dos arquivos, por exemplo, `.*\.csv$` para selecionar todos os arquivos CSV. O conector usa a sintaxe de padrões de pesquisa regex e glob. Em regex, `*.csv` não corresponde a nomes de arquivos CSV porque `*` deve seguir uma expressão para repetir. Use padrões como `\.csv$` ou `.*\.csv$` para corresponder a nomes de arquivo como `report.csv` e `my.data.csv`. |
| Prefixo de pesquisa | Opcional | Forneça um prefixo de caminho dentro do compartimento para restringir a pesquisa de arquivos, por exemplo, `exports/orders/`. O uso de um prefixo melhora o desempenho ao limitar o número de arquivos verificados. |
| Propriedades chave | Opcional | Liste um ou mais nomes de coluna, separados por vírgulas, para definir a chave primária. Por exemplo: `id` ou `id,date`. |
| Substituições de data | Opcional | Liste os nomes das colunas, separados por vírgulas, a serem tratados como campos de data e hora. Use esta opção se esses campos não forem detectados automaticamente durante a descoberta do esquema. |
| Delimitador | Opcional | Especifique o caractere que separa os valores em seus arquivos. O padrão é `,` (vírgula). Use `\t` para arquivos delimitados por tabulação (TSV) ou `\|` para arquivos separados por barra vertical (PSV). Se deixado em branco, o sistema detecta automaticamente o delimitador com base na extensão do arquivo. |

### Tabelas replicadas

As tabelas são criadas com base na configuração da tabela (veja acima). Cada tabela corresponde a um conjunto de arquivos no compartimento do Google Cloud Storage (GCS) que correspondem ao padrão de pesquisa especificado e a qualquer prefixo opcional. O conector descobre automaticamente os esquemas, amostrando até 5 arquivos por tabela, lendo uma linha a cada cinco, com um máximo de 1.000 registros por arquivo.

A replicação é incremental e usa carimbos de data/hora de modificação de arquivo para rastrear alterações. Durante cada extração, o conector processa apenas os arquivos que foram modificados desde a última sincronização bem-sucedida, conforme registrado pelo marcador de sincronização.

As seguintes colunas do sistema são adicionadas a cada tabela por padrão:

| Coluna | Descrição |
| --- | --- |
| `_sdc_source_bucket` | O nome do compartimento do Google Cloud Storage (GCS) onde o registro foi lido. |
| `_sdc_source_file` | O caminho completo do arquivo que contém o registro. |
| `_sdc_source_lineno` | O número da linha do registro dentro do arquivo. |
| `_sdc_extra` | Quaisquer colunas extras encontradas durante a análise que não correspondem ao esquema descoberto. Aplica-se apenas a arquivos JSONL. |

## Limitações e considerações

* As credenciais da conta de serviço (`project_id`, `client_email`, `private_key`) devem ser fornecidas como valores individuais extraídos do arquivo de chave JSON; o upload de arquivo não é compatível.
* Arquivos compactados com Gzip (`.gz`) são suportados. O conector lê o nome do arquivo original do cabeçalho Gzip para determinar o formato do arquivo interno. Arquivos Gzip criados com `--no-name` (sem nome de arquivo armazenado no cabeçalho) são ignorados.
* Compactação aninhada (por exemplo, um `.gz` dentro de outro `.gz` ou um `.zip`dentro de um `.zip`) não é suportada. Esses arquivos são ignorados.
* Arquivos com extensões `.csv`, `.txt`, `.tsv`, `.psv` ou `.jsonl` são verificados em busca de bytes mágicos do gzip e descompactados se estiverem compactados em gzip — mesmo quando o arquivo não possui uma extensão `.gz`.
* O campo `search_pattern` utiliza a sintaxe de padrões de pesquisa regex e glob. Em regex, `*.csv` não corresponde a nomes de arquivos CSV porque `*` deve seguir uma expressão para repetir. Use `.*\.csv$` para corresponder a nomes de arquivo como `report.csv` e `my.data.csv`.
* O conector possui lógica de repetição integrada com retirada exponencial para limites de taxa da API do Google Cloud Storage (GCS) (`429`) e erros transientes do servidor (`500`, `502`, `503`, `504`). São feitas até cinco tentativas antes de falhar.
* Arquivos sem uma extensão reconhecida são ignorados e um aviso é emitido.