Azure Data Lake Storage
Azure Data Lake Storage 連接器可讓您連線至 Azure Data Lake Storage,並使用 SQL 擷取及更新 Azure Data Lake Storage 資料。
事前準備
使用 Azure Data Lake Storage 連接器前,請先執行下列工作:
- 在 Google Cloud 專案中:
- 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
- 將 roles/connectors.admin IAM 角色授予設定連接器的使用者。
- 將下列 IAM 角色授予要用於連接器的服務帳戶:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
服務帳戶是特殊的 Google 帳戶類型,主要用於代表需要驗證且必須取得授權才能存取 Google API 資料的非人類使用者。如果您沒有服務帳戶,請務必建立服務帳戶。詳情請參閱「建立服務帳戶」。
- 啟用下列服務:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(連接器 API)
如要瞭解如何啟用服務,請參閱「啟用服務」。
如果先前未為專案啟用這些服務或權限,系統會在設定連接器時提示您啟用。
- 如要瞭解如何建立 Azure 儲存體帳戶,請參閱「建立儲存體帳戶」。如要瞭解如何在 Azure 中建立容器,請參閱「建立容器」一文。如要瞭解如何在 Azure 中建立目錄,請參閱「建立目錄」。
設定連接器
連線是特定資料來源的連線,也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:
- 在 Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 建立新連線」,開啟「建立連線」頁面。
- 在「位置」部分,選擇連線的位置。
- 區域:從下拉式清單中選取位置。
支援的連接器地區包括:
如需所有支援地區的清單,請參閱「位置」一節。
- 點按「Next」。
- 區域:從下拉式清單中選取位置。
- 在「連線詳細資料」部分中,完成下列操作:
- 連接器:從可用連接器的下拉式清單中選取「Azure Data Lake Storage」。
- 連接器版本:從可用版本的下拉式清單中選取連接器版本。
- 在「Connection Name」欄位中,輸入連線例項的名稱。
連線名稱必須符合下列條件:
- 連線名稱可以包含英文字母、數字或連字號。
- 字母必須為小寫。
- 連線名稱的開頭必須是英文字母,結尾則須為英文字母或數字。
- 連結名稱不得超過 49 個半形字元。
- 視需要輸入連線例項的「Description」(說明)。
- 您可以選擇啟用 Cloud Logging,然後選取記錄層級。根據預設,記錄層級會設為
Error
。 - 服務帳戶:選取具備必要角色的服務帳戶。
- 視需要設定連線節點設定:
- 節點數量下限:輸入連線節點數量下限。
- 節點數量上限:輸入連線節點數量上限。
節點是用來處理交易的連線單位 (或備用資源)。處理的交易量越多,就需要越多節點;反之,處理的交易量越少,就需要越少節點。如要瞭解節點對連接器定價的影響,請參閱「 連線節點的定價」。如果您未輸入任何值,系統預設會將最小節點設為 2 (以提高可用性),並將最大節點設為 50。
- Account:此屬性會指定 Azure Data Lake Storage 帳戶的名稱。
- Directory:此屬性會指定列出檔案和資料夾的根路徑。
- 檔案系統:這個屬性會指定將在第 2 代儲存空間帳戶中使用的 FileSystem 名稱。例如 Azure Blob 容器的名稱。
- 區塊大小:上傳大型檔案時使用的區塊大小 (以 MB 為單位)。
- Include Sub Directories:選擇是否要在 ADLSGen2 結構定義的「Resources」檢視畫面中列出子目錄路徑。
- 您可以按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
- 點按「Next」。
-
在「Authentication」部分中,輸入驗證詳細資料。
- 選取「驗證類型」並輸入相關詳細資料。
Azure Data Lake Storage 連線支援下列驗證類型:
- 共用存取簽章
- 帳戶存取金鑰
- 點按「Next」。
如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。
- 選取「驗證類型」並輸入相關詳細資料。
- 查看:查看連線和驗證詳細資料。
- 按一下 [建立]。
連線設定範例
本節列出您在建立 Azure Data Lake Storage 連線時設定的各個欄位範例值。
共用存取簽章連線類型
Fieldname | 詳細資料 |
---|---|
位置 | us-central1 |
連接器 | azuredatalakestorage |
連接器版本 | 1 |
連線名稱 | adls-gen2-conn-public |
啟用 Cloud Logging | 是 |
服務帳戶 | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
帳戶 | google-cloud-dslgen3 |
目錄 | testdirectory1 |
檔案系統 | testcontainer1 |
包含子目錄 | 否 |
節點數量下限 | 2 |
節點數量上限 | 50 |
共用存取簽章 | SHARED_ACCESS_SIGNATURE |
Secret 版本 | 1 |
帳戶存取金鑰連線類型
Fieldname | 詳細資料 |
---|---|
位置 | us-central1 |
連接器 | azuredatalakestorage |
連接器版本 | 1 |
連線名稱 | azure-data-lake-conn |
啟用 Cloud Logging | 是 |
服務帳戶 | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
帳戶 | google-cloud-dslgen3 |
目錄 | testdirectory1 |
檔案系統 | testcontainer1 |
包含子目錄 | 否 |
節點數量下限 | 2 |
節點數量上限 | 50 |
帳戶存取權金鑰 | ACCOUNT_ACCESS_KEY |
Secret 版本 | 1 |
設定驗證機制
根據要使用的驗證方法輸入詳細資料。
-
共用存取權簽名
如果您想使用匿名登入功能,請選取「不適用」。
- 共用存取簽章:包含共用存取簽章的 Secret Manager 密鑰。
-
帳戶存取權金鑰
如果您想使用匿名登入功能,請選取「不適用」。
- 帳戶存取金鑰:包含帳戶存取金鑰的 Secret Manager 密鑰。
實體、作業和動作
所有整合連接器都為已連結應用程式的物件提供一層抽象層。您只能透過這個抽象層存取應用程式的物件。抽象概念會以實體、作業和動作的形式提供給您。
- 實體: 實體可視為已連結應用程式或服務中的物件或屬性集合。實體的定義與連接器至連接器的定義不同。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。
不過,連接器可能不支援或沒有任何實體,在這種情況下,
Entities
清單會是空白。 - 作業: 作業是指您可對實體執行的活動。您可以對實體執行下列任一操作:
從可用清單中選取實體後,系統會產生可用於該實體的作業清單。如需作業的詳細說明,請參閱連接器工作中的實體作業。不過,如果連接器不支援任何實體作業,則
Operations
清單中不會列出這些不支援的作業。 - 動作: 動作是透過連接器介面提供給整合項目的一流函式。動作可讓您變更實體或多個實體,而這些變更會因連接器而異。通常,動作會包含一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,在這種情況下,
Actions
清單會為空白。
系統限制
Azure Data Lake Storage 連接器可處理每個節點每秒 5 筆交易,並節流超過此限制的任何交易。根據預設,Integration Connectors 會為連線分配 2 個節點 (可提高可用性)。
如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一節。
動作
本節列出連接器支援的動作。如要瞭解如何設定動作,請參閱「動作範例」。
DownloadFile 動作
這項動作可讓您從目錄或容器下載特定 blob 的內容。
DownloadFile 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
路徑 | 字串 | 是 | 要下載的檔案路徑 (包括檔案名稱)。例如:
|
HasBytes | 布林值 | 否 | 是否以位元組 (Base64 格式) 下載內容。
false 。 |
DownloadFile 動作的輸出參數
如果動作成功,就會傳回檔案或 blob 的內容。
如需 DownloadFile
動作的設定範例,請參閱「動作範例」。
CreateFile 動作
這項動作可讓您在容器或目錄中建立 Blob 或檔案。
CreateFile 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
路徑 | 字串 | 是 | 要建立的檔案路徑。 |
如需 CreateFile
動作的設定範例,請參閱「動作範例」。
CopyFile 動作
這項動作可讓您將檔案或 Blob 的內容複製到同一個容器或目錄中的其他檔案或 Blob。
CopyFile 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
來源路徑 | 字串 | 是 | 要複製的檔案路徑。 |
DestinationPath | 字串 | 是 | 檔案的複製路徑。 |
如需 CopyFile
動作的設定範例,請參閱「動作範例」。
DeleteObject 動作
這項操作可讓您刪除檔案或 Blob。
DeleteObject 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
遞迴 | 字串 | 否 | 將此值設為 true 即可刪除所有資料夾內容,包括任何子資料夾。 |
路徑 | 字串 | 是 | 要刪除的檔案或資料夾路徑。 |
DeleteType | 字串 | 是 |
|
如需 DeleteObject
動作的設定範例,請參閱「動作範例」。
LeaseBlob 動作
這個動作可讓您建立及管理 blob 的鎖定。
LeaseBlob 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
路徑 | 字串 | 是 | 檔案路徑。 |
LeaseAction | 字串 | 是 | 指定要執行的租用動作。 |
LeaseDuration | 整數 | 是 | 指定租用期。 |
如需 LeaseBlob
動作的設定範例,請參閱「動作範例」。
UploadFile 動作
這個動作可讓使用者將內容上傳至特定 blob 或容器。
UploadFile 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
路徑 | 字串 | 是 | 待上傳檔案的路徑。 |
HasBytes | 布林值 | 否 | 是否以位元組上傳內容。 |
內容 | 字串 | 是 | 要上傳的內容。 |
如需 UploadFile
動作的設定範例,請參閱「動作範例」。
RenameObject 動作
這個動作可讓您重新命名檔案或資料夾。
RenameObject 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
路徑 | 字串 | 是 | 要重新命名的路徑。 |
RenameTo | 字串 | 是 | 檔案或資料夾的新名稱。 |
如需 RenameObject
動作的設定範例,請參閱「動作範例」。
行動號召範例
範例:下載檔案
這個範例會下載二進位檔案。
- 在
Configure connector task
對話方塊中,按一下Actions
。 - 選取
DownloadFile
動作,然後按一下「Done」。 - 在「Connectors」任務的「Task Input」部分,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似以下的值:{ "Path": "testdirectory1/test1.pdf", "HasBytes": true }
如果動作成功,DownloadFile
工作項的 connectorOutputPayload
回應參數會包含類似以下的值:
[{ "Success": "True", "ContentBytes": "UEsDBBQABgAIAAAAIQCj77sdZQEAAFIFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooA" }]
範例:上傳檔案
本範例會將內容上傳為 blob。
- 在
Configure connector task
對話方塊中,按一下Actions
。 - 選取
UploadFile
動作,然後按一下「Done」。 - 在「Connectors」任務的「Task Input」部分,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似以下的值:{ "Path": "testblob4", "HasBytes": true, "Content": "abcdef\nabcdef" }
如果動作成功,UploadFile
工作項的 connectorOutputPayload
回應參數會包含類似以下的值:
[{ "Success": "true" }]
範例:建立檔案
這個範例會在指定的目錄中建立檔案。
- 在
Configure connector task
對話方塊中,按一下Actions
。 - 選取
CreateFile
動作,然後按一下「Done」。 - 在「Connectors」任務的「Task Input」部分,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似以下的值:{ "path": "testdirectory1/testblob" }
如果動作成功,CreateFile
工作項的 connectorOutputPayload
回應參數會包含類似以下的值:
[{ "Success": "true" }]
範例:複製檔案
這個範例會將檔案從一個位置複製到另一個位置。
- 在
Configure connector task
對話方塊中,按一下Actions
。 - 選取
CopyFile
動作,然後按一下「Done」。 - 在「Connectors」任務的「Task Input」部分,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似以下的值:{ "SourcePath": "testdirectory1/testblob", "DestinationPath": "testblob" }
如果動作成功,CopyFile
工作項的 connectorOutputPayload
回應參數會包含類似以下的值:
[{ "Success": "true" }]
範例:刪除 Blob
這個範例會刪除指定的 Blob。
- 在
Configure connector task
對話方塊中,按一下Actions
。 - 選取
DeleteObject
動作,然後按一下「Done」。 - 在「Connectors」任務的「Task Input」部分,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似以下的值:{ "path": "testdirectory1/testblob" }
如果動作成功,DeleteObject
工作項的 connectorOutputPayload
回應參數會包含類似以下的值:
[{ "Success": "true" }]
範例:租用 blob
本範例會租用指定的 Blob。
- 在
Configure connector task
對話方塊中,按一下Actions
。 - 選取
LeaseBlob
動作,然後按一下「Done」。 - 在「Connectors」任務的「Task Input」部分,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似以下的值:{ "Path": "testblob2", "LeaseAction": "Acquire", "LeaseDuration": 60.0 }
如果動作成功,LeaseBlob
工作項的 connectorOutputPayload
回應參數會包含類似以下的值:
[{ "LeaseId": "7aae9ca2-f015-41b6-9bdf-5fd3401fc493", "Success": "true" }]
範例:重新命名 Blob
本範例會重新命名 blob。
- 在
Configure connector task
對話方塊中,按一下Actions
。 - 選取
RenameObject
動作,然後按一下「Done」。 - 在「Connectors」任務的「Task Input」部分,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似以下的值:{ "Path": "testblob", "RenameTo": "testblob6" }
如果動作成功,RenameObject
工作項的 connectorOutputPayload
回應參數會包含類似以下的值:
[{ "Success": true }]
實體操作範例
本節說明如何在這個連接器中執行部分實體作業。
範例:列出所有記錄
這個範例會列出 Resource
實體中的所有記錄。
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Resource
。 - 選取
List
作業,然後按一下「Done」。 - 您也可以在 Connector 工作中的「Task Input」部分,指定篩選子句來篩選結果集。請一律在單引號 (') 內指定篩選器子句值。
範例 - 取得記錄
這個範例會從 Resource
實體取得指定 ID 的記錄。
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Resource
。 - 選取
Get
作業,然後按一下「Done」。 - 在「連接器」工作中的「工作輸入」部分,按一下「EntityId」,然後在「預設值」欄位中輸入
testdirectory1/testblob1
。其中
testdirectory1/testblob1
是Resource
實體中的專屬記錄 ID。
在整合中使用 Azure Data Lake Storage 連線
建立連線後,即可在 Apigee Integration 和 Application Integration 中使用。您可以透過「連接器」工作,在整合中使用連線。
- 如要瞭解如何在 Apigee Integration 中建立及使用連接器工作,請參閱「連接器工作」。
- 如要瞭解如何在 Application Integration 中建立及使用連接器工作,請參閱「連接器工作」。