# Amazon S3

Amazon S3 可作為以下內容使用：

* 使用 Databricks (選用) 或 Amazon Redshift (必要) 作為資料管道目標時的雲端暫存區域。雲端分段區域是資料和變更在套用和儲存之前分段的區域。

* 使用 Qlik 開放湖倉庫 專案搭配 CDC 來源時的雲端暫存區。這需要 資料移動閘道 和叢集能夠讀取及寫入登陸值區。如需詳細資訊，請參閱[步驟 1：建立網路整合](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/network-integration.htm)。

* 使用 Qlik 開放湖倉庫 專案搭配串流來源時的雲端暫存區。這需要叢集能夠讀取及寫入登陸值區。如需詳細資訊，請參閱[步驟 1：建立網路整合](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/network-integration.htm)。

* 複寫任務中的目標。

  * 如需如何透過標準、進階和企業訂閱將資料複寫到 Amazon S3 的說明，請參閱 [透過標準、進階或企業訂閱在資料湖中登陸資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes.htm)。
  * 如需如何透過入門訂閱將資料複寫到 Amazon S3 的說明，請參閱 [透過 Qlik Talend Cloud 啟動器 訂閱複寫資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-starter-subscription.htm)。

## 登陸資料所需的權限

* 您必須擁有一個可從用於存取它的服務或機器進行存取的 Amazon S3 值區。

  如需關於註冊 Amazon S3 的資訊，請參閱 http://aws.amazon.com/s3/。

* 值區存取認證：製作值區名稱、存取金鑰和密碼存取金鑰的備註 - 您將需要在 Amazon S3連接器 設定中提供這些內容。

* 值區存取權限：需要下列值區存取權限：

  ```
   
  ```

  ```
  {
  	"Version": "2012-10-17",
  	"Statement": [
  	    {
  	     "Sid": "Stmt1497347821000",
  	     "Effect": "Allow",
  	     "Action": [
                  "s3:GetBucketLocation",
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::YOUR_BUCKET_NAME"
              ]
          },
          {
              "Sid": "Stmt1497344984000",
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "s3:GetObject",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::YOUR_BUCKET_NAME/target_path",
                  "arn:aws:s3:::YOUR_BUCKET_NAME/target_path/*"
              ]
          }
      ]
  }
  ```

若 `YOUR_BUCKET_NAME` 是值區名稱，而 `target_path` 是值區中目標檔案的預期位置。

資訊備註

若目標路徑是值區根，請指定具有空字串的 `“/target_path”`。

## Qlik Data Gateway - Data Movement 必要條件

Data Movement gateway 使用 SSL 連線至 AWS。這需要適當的 CA 憑證在Data Movement gateway 機器，否則連線將失敗。CA 憑證的目的為驗證 AWS 伺服器憑證擁有權。

請確保在 Linux 機器以下位置存在必要的 CA 憑證：

/etc/pki/tls/certs/ca-bundle.crt

如果不存在，最簡單的解決方案為從另一台 Linux 機器複製憑證配套。

## 設定 Amazon S3 連線屬性

若要設定連接器，進行下列事項：

1. 在連線中，按一下建立連線。

2. 選取 Amazon S3目標連接器，然後提供下列設定：

### 資料目標

用法

請依據您的使用需求選取下列其中一項：

* 資料移動：在使用 資料移動閘道 存取 Amazon S3 目標時選取。

* 網路整合：當使用 Amazon S3 儲存 [Qlik 開放湖倉庫 網路整合](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/manual-integration.htm)所需的 Qlik 中繼資料檔案時選取。

* 兩者：當上述兩者皆成立時選取。

資料閘道

當選取 資料移動 或 兩者 時，請選取您要用來存取目標的 資料移動閘道。

根據您的使用情況，這會是為了從資料來源登陸資料而部署的相同或不同 資料移動閘道。如需關於可能的 資料移動閘道 部署可能性的資訊，請參閱 [常見使用案例](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm#Common)。

資訊備註需要 資料移動閘道 2023.5.10 或更高版本。

網路整合

當選取 網路整合 或 兩者 時，請選取 Qlik 開放湖倉庫 [您稍早建立的網路整合](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/network-integration.htm)。

### 連線屬性

* 存取選項：選取下列其中一項：

  * 金鑰對 (預設)

    使用金鑰組存取您的 Amazon S3 值區。選取此選項後，請指定下列項目：

    * 存取金鑰：Amazon S3 值區的存取金鑰。

    * 秘密金鑰：您 Amazon S3 值區的秘密金鑰。

  * IAM Roles Anywhere (將 Amazon S3 作為 Databricks 或 Qlik 開放湖倉庫 的預備區域時不支援)：

    您可以在 [IAM Roles Anywhere 主控台](https://console.aws.amazon.com/rolesanywhere/home/)中、透過 AWS CLI 或使用 AWS SDK 來設定 IAM Roles Anywhere。IAM Roles Anywhere 允許您使用公開金鑰基礎結構 (PKI) 產生臨時憑證，以便從 AWS 外部存取 IAM 角色。這表示您可以從 Qlik Talend Data Integration 安全地存取 AWS 資源，而無需管理長期憑證。

    選取此選項時，請指定下列項目：

    * 憑證檔案：Data Movement gateway 機器上 Qlik Talend Data Integration 公開憑證的 PEM 格式路徑。此檔案需要使用在 IAM Roles Anywhere 主控台中設定的 CA 憑證進行簽署。

    * 私密金鑰檔案：Data Movement gateway 機器上 Qlik Talend Data Integration 私密金鑰檔案的 PEM 格式路徑。

    * 私密金鑰密碼： 私密金鑰密碼。僅在私密金鑰檔案已加密時才需要。

    * 信任起點 ARN： 與您在 IAM Roles Anywhere 主控台中建立的信任起點相關聯的 ARN。您可以透過建立信任起點，在 IAM Roles Anywhere 與您的憑證授權單位 (CA) 之間建立信任。信任起點是 AWS Private CA 或外部 CA 憑證的參考。您在 AWS 外部的工作負載會使用受信任 CA 核發的憑證向信任起點進行驗證，以換取臨時 AWS 憑證。

    * 設定檔 ARN： 與您在 IAM Roles Anywhere 主控台中建立的設定檔相關聯的 ARN。若要指定 IAM Roles Anywhere 擔任的角色，以及您的工作負載可以使用臨時憑證執行哪些操作，您需要建立設定檔。在設定檔中，您可以使用 IAM 受管政策定義權限，以限制所建立工作階段的權限。

    * 角色 ARN： 與您在 IAM Roles Anywhere 主控台中建立的角色相關聯的 ARN。角色是您在帳戶中建立的具有特定權限的 IAM 身分。為了讓 IAM Roles Anywhere 能夠擔任角色並提供臨時 AWS 憑證，該角色必須信任 IAM Roles Anywhere 服務主體。

      格式應如下所示：

      arn:aws:iam::&lt;account-id&gt;:role/&lt;role-name-with-path&gt;

    如需有關 IAM Roles Anywhere 的詳細資訊，請參閱：

    [使用 IAM Roles Anywhere 將 AWS IAM 角色延伸至 AWS 外部的工作負載](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/introduction.html)

  * 適用於 EC2 的 IAM 角色

    如果用於存取 Amazon S3 的機器已設定為使用 IAM 角色進行身分驗證，請選取此方法。

    如需 IAM 角色的相關資訊，請參閱 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

    * 擔任角色：選取此選項以擔任目標 IAM 角色。

      此選項在資料移動、網路整合以及兩者模式下為選用。

      未選取時，連線會使用與相關 EC2 機器關聯的 IAM 角色。

      設定目標角色的信任政策，以信任適用於所選 使用 模式的資料存取及/或資料移動角色。

      指定下列項目：

      * 其他角色 ARN：與目標角色相關聯的 ARN。
      * 額外角色外部 ID：當選取 擔任角色 且將 用途 設定為 網路整合 或 兩者 時，按一下 載入外部 ID 以擷取外部 ID。將擷取到的外部 ID 新增至其他目標角色的信任政策。

      設定信任政策，以信任適用於您所選 Usage 模式的角色：

      * 網路整合模式：信任您的網路整合所使用的資料存取角色 (伺服器角色)。
      * 資料移動模式：信任 資料移動閘道 所使用的資料移動角色。
      * 兩者 模式：同時信任資料存取角色與資料移動角色。

* 值區名稱：Amazon S3 值區的名稱。

  資訊備註

  預設值區區域設定為自動偵測，不需要設定特定區域。不過，由於安全性考量，對於某些區域 (例如 AWS GovCloud)，您可能需要明確設定區域。在這類情況下，您可以使用 `regionCode` 內部屬性設定區域代碼。

  如需區域代碼清單，請參閱以下位置的區域可用性區段：https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html

  如需關於設定內部屬性的說明，請參閱下文。

* 使用 AWS PrivateLink（不支援作為 Qlik 開放湖倉庫 的登陸目標）： 選取此項以連線至 Amazon VPC，然後指定 VPC 端點 URL（例如 https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com）。

  資訊備註使用 Amazon S3 值區作為 Databricks 目標的分段區域時，不支援使用 AWS PrivateLink 選項。如需關於設定 Databricks 目標連線能力的資訊，請參閱 [Databricks](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/databricks-target.htm)。

### 資料加密

請選取下列其中一個 加密選項：

* 搭配 Amazon S3 管理的金鑰進行伺服器端加密 (SSE-S3)。

  這是預設值。

* 使用 AWS KMS 管理的金鑰進行伺服器端加密 (SSE-KMS)

  此選項也要求您指定您的 KMS 金鑰 ID。

  如需有關可用伺服器端加密方法的詳細資訊，請參閱：

  [使用伺服器端加密保護資料](http://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)

* 無

### 內部屬性

內部屬性用於特殊使用情況，因此不會在對話方塊中顯示。您只能在 Qlik 支援指示下使用。

根據需要使用欄位右側的 the 新建 icon 和 the 取消 icon 按鈕以新增或移除屬性。

### 名稱

連線的顯示名稱。

## 資料類型對應

下表顯示從 Qlik Cloud 資料類型至 Amazon S3 資料類型的預設對應。

資訊備註只有在啟用「在資料湖中登陸資料」任務設定中的[在目標資料夾中建立中繼資料檔案](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes-settings.htm#Metadata)選項時，資料類型對應才會相關。

### 從 Qlik Cloud 資料類型對應至 Amazon S3

Qlik CloudQlik Cloud 和 Amazon S3 資料類型

| Qlik Cloud 資料類型 | Amazon S3 目標資料類型 |
| --- | --- |
| DATE | DATE |
| TIME | TIME |
| DATETIME | DATETIME |
| BYTES | 位元組 (長度) |
| BLOB | BLOB |
| REAL4 | REAL4 (7) |
| REAL8 | REAL8 (14) |
| INT1 | INT1 (3) |
| INT2 | INT2 (5) |
| INT4 | INT4 (10) |
| INT8 | INT8 (19) |
| UINT1 | UINT1 (3) |
| UINT2 | UINT2 (5) |
| UINT4 | UINT4 (10) |
| UINT8 | UINT8 (20) |
| NUMERIC | 數值 (p,s) |
| STRING | 字串 (長度) |
| WSTRING | 字串 (長度) |
| CLOB | CLOB |
| NCLOB | NCLOB |
| BOOLEAN | 布林 (1) |

### 從 Qlik Cloud 資料類型對應至 Parquet

若 Parquet 設定為檔案格式，由於 Parquet 支援的資料類型數量有限，資料類型對應將如下所示：

Parquet 資料類型對應

| Qlik Cloud 資料類型 | Parquet 基本類型 | 邏輯類型 |
| --- | --- | --- |
| BOOLEAN | BOOLEAN |  |
| INT1 | INT32 | INT(8，真) |
| INT2 | INT32 | INT(16，真) |
| INT4 | INT32 |  |
| INT8 | INT64 |  |
| UINT1 | INT32 | INT(8，偽) |
| UINT2 | INT32 | INT(16，偽) |
| UINT4 | INT64 |  |
| UINT8 | INT64 | INT(64，偽) |
| REAL4 | FLOAT |  |
| REAL8 | DOUBLE |  |
| NUMERIC | FIXED\_LEN\_BYTE\_ARRAY (16) | 小數 (精確度，縮放) |
| STRING | BYTE\_ARRAY | STRING |
| WSTRING | BYTE\_ARRAY | STRING |
| BYTES | BYTE\_ARRAY |  |
| BLOB | BYTE\_ARRAY |  |
| CLOB | BYTE\_ARRAY | STRING |
| NCLOB | BYTE\_ARRAY | STRING |
| DATE | INT32 | DATE |
| TIME | INT32 | 時間 (UTC=真，單位=MILLIS) |
| DATETIME | INT64 | 時間戳記 (UTC=真，單位=MICROS) |

## 瞭解更多資訊

* [在資料湖中登陸資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes.htm)
* [Amazon Redshift 目標](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/redshift-target.htm)
* [Databricks 目標](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/databricks-target.htm)