# Google Cloud Storage

Google Cloud Storage 是 Google 的整合式物件儲存服務，用於在 Google Cloud 基礎架構上儲存與存取資料。它提供高可用性、全球備援，並與更廣泛的 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/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/data-replication-task.htm)。不支援資料管道專案。 |
| [目標更新方法](https://help.qlik.com/zh-TW/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/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm#Managing) | 不需要手動產生中繼資料。 |
| [自動結構描述演進](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Schema) | 僅支援變更欄資料類型操作。 |
| LOB 欄 (NCLOB、CLOB 和 BLOB) 複寫 | 不支援。 |
| 已排程 CDC | 必填。此為目標與來源的變更保持同步的方式。<br><br>對於複寫任務，請參閱 [排程任務](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Scheduli2)<br><br>對於湖登陸任務，請參閱 [排程湖登陸任務的 CDC](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes-settings.htm#Scheduli2) |
| 通知 | 部分支援<br><br>[設定變更進行時的通知](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Notifications.htm) |
| 監控 | 僅限 CDC，因為此連接器與完整載入無關。<br><br>[監控個別資料任務](https://help.qlik.com/zh-TW/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) 值區。

* 具有該值區讀取權限的服務帳戶。

  建議的角色為 Storage Object Viewer (`roles/storage.objectViewer`)，此角色會授予所需的 `storage.objects.get` 和 `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/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm)。

1. 填寫所需的連線屬性。

2. 在連線名稱中提供連線名稱。

3. 選取開啟連線中繼資料以在建立後定義連線的中繼資料。

4. 按一下建立。

連線設定

| 設定 | 描述 |
| --- | --- |
| 資料閘道 | 如您的使用情況有需要，選取 資料移動閘道。<br><br>資訊備註<br><br>此欄位無法用於 Qlik Talend Cloud 啟動器 訂閱，因為不支援 資料移動閘道。若您有另一個訂閱層級且不想使用 資料移動閘道，選取無。<br><br>如需關於 資料移動閘道 福利的資訊以及需要此項的使用案例，請參閱 [Qlik Data Gateway - Data Movement](https://help.qlik.com/zh-TW/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 檔案。連接器使用 regex 和 glob 搜尋模式語法。在規則運算式中，`*.csv` 無法比對 CSV 檔案名稱，因為 `*` 必須追蹤要重複的運算式。使用例如 `\.csv$` 或 `.*\.csv$` 等模式來比對類似 `report.csv` 與 `my.data.csv` 的檔名。 |
| 搜尋前置詞 | 選用 | 提供值區內的路徑首碼以縮小檔案搜尋範圍，例如 `exports/orders/`。使用前置詞可透過限制掃描的檔案數量來提升效能。 |
| 關鍵屬性 | 選用 | 列出一或多個以逗號分隔的欄位名稱，以定義主鍵。例如：`id` 或 `id,date`。 |
| 日期覆寫 | 選用 | 列出要視為日期時間欄位的欄位名稱，以逗號分隔。如果結構描述探索期間未自動偵測到這些欄位，請使用此選項。 |
| 分隔符號 | 選用 | 指定檔案中用來分隔值的字元。預設值為 `,` (逗號)。Tab 分隔 (TSV) 檔案請使用 `\t`，Pipe 分隔 (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 檔案名稱，因為 `*` 必須追蹤要重複的運算式。使用 `.*\.csv$` 來比對例如 `report.csv` 和 `my.data.csv` 的檔案名稱。
* 此連接器針對 Google Cloud Storage (GCS) API 速率限制 (`429`) 與暫時性伺服器錯誤 (`500`, `502`, `503`, `504`)，內建具有指數退避機制的重試邏輯。在判定失敗之前，最多會嘗試五次。
* 沒有可識別延伸的檔案會被略過，並發出警告。