# Google Cloud Storage

Google Cloud Storage は、Google Cloud のインフラストラクチャでデータを保存およびアクセスするための Google の統合オブジェクト ストレージ サービスです。高い可用性とグローバルな冗長性を提供し、Google Cloud エコシステム全体とシームレスに統合されています。

Qlik Talend Cloud は、ターゲットとなるバケットへの読み取り権限を持つ Google Cloud サービス アカウントを使用して、Google Cloud Storage (GCS) に接続します。コネクタは、指定されたバケットからファイルを取得し、ファイルの内容をサンプリングしてスキーマを自動的に検出し、ファイルの変更タイムスタンプに基づいて増分データ レプリケーションを実行します。

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

#### 機能スナップショット

便利なリンクやサポートされている機能など、このコネクタの概要について説明します。

| 機能/性能 | サポートの詳細 |
| --- | --- |
| サポートされている Qlik Talend Data Integration プロジェクト | [レプリケーション プロジェクト](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/data-replication-task.htm)のみ。データ パイプライン プロジェクトはサポートされていません。 |
| [ターゲットの更新方法](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/Change-processing.htm) | レプリケーション タスク:<br><br><ul><li><p>変更を適用</p></li><li><p>変更の保存</p></li></ul><br><br>データ レイク タスクにデータをランディング:<br><br><ul><li><p>変更データキャプチャ (CDC)</p></li></ul> |
| [SaaSアプリケーションへの接続](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm#Managing) | 手動でのメタデータ生成は必要ありません。 |
| [スキーマの自動進化](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Schema) | [列のデータ型を変更] 操作のみサポートされています。 |
| LOB 列 (NCLOB、CLOB、BLOB) のレプリケーション | サポートされていません。 |
| スケジュールされた CDC | 必須。これにより、ソースの変更に応じてターゲットが最新の状態に保たれます。<br><br>レプリケーション タスクについては、「[タスクのスケジューリング](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Scheduli2)」を参照してください。<br><br>レイク ランディング タスクについては、「[レイク ランディング タスクの CDC のスケジュール設定](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes-settings.htm#Scheduli2)」を参照してください。 |
| 通知 | 部分的にサポート<br><br>[動作変更時の通知の設定](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Notifications.htm) |
| 監視 | このコネクタではフル ロードは関係ないため、CDC のみ。<br><br>[個々のデータ タスクの監視](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Monitoring-data-tasks.htm) |
| JSON 列ペイロードの自動ネスト解除 | サポートされていません。ソース データセット内の JSON 列ペイロードは、ターゲット上で自動的にネスト解除されません。 |

## 認証の準備

データにアクセスするには、アカウント資格情報を使用して接続を認証する必要があります。

情報メモ使用するアカウントに、フェッチするテーブルへのアクセス権があることを確認してください。

Google Cloud Storage アカウントを設定するには、次が必要です。

* Cloud Storage API が有効化された Google Cloud Platform (GCP) プロジェクト。

* レプリケートするファイルを含む Google Cloud Storage (GCS) バケット。

* バケットへの読み取りアクセス権を持つサービス アカウント。

  推奨されるロールは、必要な `roles/storage.objectViewer` および `storage.objects.get` 権限を付与する Storage Object Viewer (`storage.objects.list`) です。詳細については、「[Google Cloud Storage IAM ロールのドキュメンテーション](https://docs.cloud.google.com/storage/docs/access-control/iam-roles)」を参照してください。

* サービス アカウント用にダウンロードされたサービス アカウントの JSON キー ファイル。

サービス アカウントを作成し資格情報を取得するには、次の手順に従ってください。

1. [Google Cloud](https://accounts.google.com/v3/signin/identifier?authuser=0&ec=GAlAywI&hl=en&flowName=GlifWebSignIn&flowEntry=AddSession&dsh=S-1020015778%3A1777897358935634) アカウントにログインします。

2. [IAMと管理] &gt; [サービス アカウント] に移動します。

3. [サービス アカウントを作成] をクリックします。

4. サービス アカウントの名前と説明を入力し、 [作成して続行] をクリックします。

5. サービス アカウントに、Storage Object Viewer ロール、または `storage.objects.get` および `storage.objects.list` の権限を持つカスタム ロールを付与します。

6. [続行] および [完了] をクリックします。

7. 新しく作成したサービス アカウントで、 [アクション] メニューをクリックします。

8. [キーを管理] &gt; [キーを追加] &gt; [新しいキーを作成] に移動します。

9. [JSON] を選択し、 [作成] をクリックします。

   JSON キー ファイルが使用中のマシンに直接ダウンロードされます。このファイルには、接続を確立するために必要な `project_id`、`client_email`、`private_key` の各項目が含まれています。

   キー ファイルは一度だけダウンロードできます。このファイルは Google Cloud リソースへのアクセスを提供するものであるため、安全に保管してバックアップしてください。

### 対応ファイル形式

* 区切り記号付きテキスト: CSV, TSV, PSV, TXT (設定可能な区切り記号)
* JSON Lines (`.jsonl`)
* Parquet (`.parquet`)
* Avro (`.avro`)
* 上記のいずれかの形式を含む Gzip 圧縮ファイル (`.gz`)
* CSV、JSON Lines、TXT、TSV、PSV、または Gzip ファイルを含む ZIP アーカイブ

## 接続の作成

詳細については、「[SaaSアプリケーションへの接続](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm)」を参照してください。

1. 必要な接続プロパティを入力します。

2. 接続名に接続の名前を入力します。

3. 接続メタデータを開くを選択して、作成時の接続のメタデータを定義します。

4. [作成] をクリックします。

接続の設定

| 設定 | 説明 |
| --- | --- |
| データ ゲートウェイ | ユース ケースに応じて Data Movement gateway を選択します。<br><br>情報メモ<br><br>Qlik Talend Cloud スターター サブスクリプションでは Data Movement gateway をサポートしていないため、この項目は使用できません。別のサブスクリプション ティアを利用しており、Data Movement gateway を使用しない場合は、 [None] (なし) を選択します。<br><br>Data Movement gateway の利点とそれを必要とするユース ケースの詳細については、「[Qlik データ ゲートウェイ - データ移動](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm)」を参照してください。 |
| 開始日 | ソースからターゲットにデータをレプリケートする必要がある日付を `MM/DD/YYYY` 形式で入力します。 |
| クライアントのメール | サービス アカウントの JSON キー ファイルからのクライアントのメール。 |
| プロジェクト ID | サービス アカウントの JSON キー ファイルからのプロジェクト ID。 |
| バケット | ファイルが保存されている Google Cloud Storage (GCS) バケットの名前。例: `my-gcs-bucket`。<br><br>`gs://` プレフィックスを含めないでください。 |
| テーブル | テーブルを構成して、読み取るファイルとその内容の解釈方法を制御します。各テーブル定義には、ファイル検索パターン、テーブル名、高度な動作のオプション設定が含まれます。 |
| プライベート キー | サービス アカウントの JSON キー ファイルからのプライベートキー。 |

### テーブルの構成

テーブル構成の各エントリは、ターゲット バケット内のファイルから作成された論理テーブルを指定します。各テーブルに対して、次のプロパティを設定できます。

| プロパティ | 必須またはオプション | 説明 |
| --- | --- | --- |
| テーブル名 | 必須 | 論理テーブルの名前を指定します。例: `my_orders_csv`。この名前は、Qlik Talend Cloud でストリーム名として表示されます。 |
| 検索パターン | 必須 | ファイル名に一致する正規表現を入力します。例: すべての CSV ファイルを選択する場合は `.*\.csv$`。コネクタは、正規表現および glob 検索パターンの構文を使用します。正規表現では、`*.csv` は CSV ファイル名に一致しません。繰り返しを行う式の後には `*` が続く必要があるためです。`\.csv$` または `.*\.csv$` などのパターンを使用して、`report.csv` や `my.data.csv` などのファイル名と一致させます。 |
| 検索プレフィックス | オプション | バケット内のパス プレフィックスを指定してファイル検索を絞り込みます。例: `exports/orders/`。プレフィックスを使用すると、スキャンするファイル数が制限され、パフォーマンスが向上します。 |
| キー プロパティ | オプション | プライマリ キーを定義するために、カンマ区切りで 1 つ以上の列名を指定します例: `id` または `id,date`。 |
| 日付の上書き | オプション | 日時項目として扱う列名を、カンマ区切りで指定します。スキーマ検出中にこれらの項目が自動的に検出されない場合は、このオプションを使用します。 |
| 区切り記号 | オプション | ファイル内の値を区切る記号を指定します。既定は `,` (カンマ) です。タブ区切り (TSV) ファイルには `\t`、パイプ区切り (PSV) ファイルには `\|` を使用します。空白のままにすると、システムはファイルの拡張子に基づいて区切り記号を自動的に検出します。 |

### レプリケートされたテーブル

テーブルは、テーブル構成に基づいて作成されます (上記参照)。各テーブルは、指定された検索パターンとオプションのプレフィックスの両方に一致する、Google Cloud Storage (GCS) バケット内の一連のファイルに対応します。コネクタは、テーブルごとに最大 5 つのファイルをサンプリングし、5 行ごとに読み取り、ファイルごとに最大 1,000 レコードを分析することでスキーマを自動的に検出します。

レプリケーションは増分であり、ファイルの更新タイムスタンプを使用して変更を追跡します。各抽出において、コネクタは前回の同期成功時以降に更新されたファイルのみを処理します。これは同期ブックマークに記録された情報を基に判断されます。

以下のシステム列がデフォルトで各テーブルに追加されます。

| 列 | 説明 |
| --- | --- |
| `_sdc_source_bucket` | レコードが読み取られた Google Cloud Storage (GCS) バケットの名前。 |
| `_sdc_source_file` | レコードを含むファイルのフルパス。 |
| `_sdc_source_lineno` | ファイル内のレコードの行番号。 |
| `_sdc_extra` | 解析中に検出された、スキーマと一致しない追加の列。JSONL ファイルにのみ適用されます。 |

## 制限と考慮事項

* サービスアカウントの資格情報 (`project_id`、`client_email`、`private_key`) は、JSON キー ファイルから抽出された個別の値として提供する必要があります。ファイルのアップロードはサポートされていません。
* Gzip 圧縮ファイル (`.gz`) がサポートされています。コネクタは、内部ファイル形式を決定するために、gzipヘッダーから元のファイル名を読み取ります。`--no-name` で作成された Gzip ファイル (ヘッダーにファイル名が保存されない) はスキップされます。
* ネストされた圧縮 (例: .`.gz` の中の `.gz` や `.zip` の中の `.zip`）はサポートされていません。これらのファイルはスキップされます。
* `.csv`、`.txt`、`.tsv`、`.psv`、または `.jsonl` 拡張子のファイルは、gzip マジックバイトが確認され、gzip 圧縮されている場合は `.gz` 拡張子がなくても解凍されます。
* `search_pattern` フィールドは、正規表現および glob 検索パターンの構文を使用します。正規表現では、`*.csv` は CSV ファイル名に一致しません。繰り返しを行う式の後には `*` が続く必要があるためです。`report.csv` や `my.data.csv` などのファイル名と一致させるには、`.*\.csv$` を使用します。
* コネクタには、Google Cloud Storage (GCS) APIレート制限 (`429`) および一時的なサーバーエラー (`500`、`502`、`503`、`504`) に対して、指数バックオフによる組み込みの再試行ロジックがあります。失敗するまでに最大 5 回試行されます。
* 認識された拡張子のないファイルはスキップされ、警告が発行されます。