Azure Data Lake ストレージ
Azure Data Lake Storage コネクタを使用すると、Azure Data Lake Storage に接続し、SQL を使用して Azure Data Lake Storage データを取得して更新できます。
始める前に
Azure Data Lake Storage コネクタを使用する前に、次の作業を行います。
- Google Cloud プロジェクトで次の操作を行います。
- ネットワーク接続が設定されていることを確認します。ネットワーク パターンの詳細については、Network Connectivity をご覧ください。
- コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
- コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。詳細については、サービス アカウントを作成するをご覧ください。
- 次のサービスを有効にします。
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
サービスを有効にする方法については、サービスを有効にするをご覧ください。
以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。
- Azure ストレージ アカウントの作成方法については、ストレージ アカウントを作成するをご覧ください。Azure でコンテナを作成する方法については、コンテナを作成するをご覧ください。Azure でディレクトリを作成する方法については、ディレクトリを作成するをご覧ください。
コネクタを構成する
コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
- [ロケーション] セクションで、接続のロケーションを選択します。
- リージョン: プルダウン リストからロケーションを選択します
コネクタをサポートしているリージョンは次のとおりです。
サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。
- [次へ] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのプルダウン リストから [Azure Data Lake Storate] を選択します。
- コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
- [接続名] フィールドに、接続インスタンスの名前を入力します。
接続名は次の条件を満たす必要があります。
- 接続名には英字、数字、ハイフンを使用できます。
- 文字は小文字のみを使用できます。
- 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
- 接続名は 49 文字以内で指定してください。
- 必要に応じて、接続インスタンスの [説明] を入力します。
- 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは
Error
に設定されています。 - サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
- 必要に応じて、接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- アカウント: このプロパティには、Azure Data Lake ストレージ アカウントの名前を指定します。
- ディレクトリ: このプロパティは、ファイルとフォルダを一覧表示するルートパスを指定します。
- ファイル システム: このプロパティには、第 2 世代のストレージ アカウントで使用される FileSystem の名前を指定します。たとえば、Azure blob コンテナの名前です。
- チャンクサイズ: 大きなファイルをアップロードするときに使用するチャンクのサイズ(MB 単位)。
- サブディレクトリを含める: ADLSGen2 スキーマの [Resources] ビューにサブディレクトリのパスを一覧表示するかどうかを選択します。
- 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
- [次へ] をクリックします。
-
[認証] セクションで、認証の詳細を入力します。
- [認証タイプ] を選択し、関連する詳細を入力します。
Azure Data Lake Storage 接続でサポートされる認証タイプは次のとおりです。
- 共有アクセス署名
- アカウントのアクセスキー
- [次へ] をクリックします。
これらの認証タイプの構成方法については、認証を構成するをご覧ください。
- [認証タイプ] を選択し、関連する詳細を入力します。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
接続構成のサンプル
このセクションでは、Azure Data Lake Storage 接続を作成するときに構成するさまざまなフィールドのサンプル値を示します。
Shared Access Signature 接続タイプ
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 |
シークレット バージョン | 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 |
シークレット バージョン | 1 |
認証を構成する
使用する認証に基づいて詳細を入力します。
-
共有アクセス署名
匿名ログインを使用する場合は、[Not Available] を選択します。
- 共有アクセス署名: 共有アクセス署名を含む Secret Manager の Secret。
-
アカウントのアクセスキー
匿名ログインを使用する場合は、[Not Available] を選択します。
- アカウント アクセスキー: アカウントのアクセスキーを含む Secret Manager のシークレット。
エンティティ、オペレーション、アクション
すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。
- エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。
ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、
Entities
リストは空になります。 - オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。
使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがいずれかのエンティティ オペレーションをサポートしていない場合、サポートされていないオペレーションは
Operations
リストに含まれません。 - アクション: コネクタ インターフェースを介して統合で使用できる主要な関数の一つです。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。通常、アクションには入力パラメータと出力パラメータがあります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、
Actions
リストが空になります。
システムの上限
Azure Data Lake Storage コネクタは、ノードごとに 1 秒あたり 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 アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
Recursive | 文字列 | × | サブフォルダを含むフォルダのすべてのコンテンツを削除するには、この値を true に設定します。 |
パス | 文字列 | ○ | 削除するファイルまたはフォルダのパス。 |
DeleteType | 文字列 | ○ |
|
DeleteObject
アクションの構成方法の例については、アクションの例をご覧ください。
LeaseBlob アクション
このアクションを使用すると、blob のロックを作成して管理できます。
LeaseBlob アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
パス | 文字列 | ○ | ファイルのパス。 |
LeaseAction | 文字列 | ○ | 実行するリース アクションを指定します。 |
LeaseDuration | 整数 | ○ | リースの期間を指定します。 |
LeaseBlob
アクションの構成方法の例については、アクションの例をご覧ください。
UploadFile アクション
このアクションにより、ユーザーは特定の blob やコンテナにコンテンツをアップロードできます。
UploadFile アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
パス | 文字列 | ○ | アップロードするファイルのパス。 |
HasBytes | ブール値 | × | コンテンツをバイトとしてアップロードするかどうか。 |
コンテンツ | 文字列 | ○ | アップロードするコンテンツ。 |
UploadFile
アクションの構成方法の例については、アクションの例をご覧ください。
RenameObject アクション
このアクションにより、ファイルまたはフォルダの名前を変更できます。
RenameObject アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
パス | 文字列 | ○ | 名前を変更するパス。 |
RenameTo | 文字列 | ○ | ファイルまたはフォルダの新しい名前。 |
RenameObject
アクションの構成方法の例については、アクションの例をご覧ください。
アクションの例
例 - ファイルをダウンロードする
この例では、バイナリ ファイルをダウンロードします。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
DownloadFile
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Path": "testdirectory1/test1.pdf", "HasBytes": true }
アクションが成功すると、DownloadFile
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "True", "ContentBytes": "UEsDBBQABgAIAAAAIQCj77sdZQEAAFIFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooA" }]
例 - ファイルをアップロードする
この例では、コンテンツを blob としてアップロードします。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
UploadFile
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Path": "testblob4", "HasBytes": true, "Content": "abcdef\nabcdef" }
アクションが成功すると、UploadFile
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "true" }]
例 - ファイルを作成する
この例では、指定されたディレクトリにファイルを作成します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
CreateFile
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "path": "testdirectory1/testblob" }
アクションが成功すると、CreateFile
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "true" }]
例 - ファイルをコピーする
この例では、ファイルをある場所から別の場所にコピーします。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
CopyFile
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "SourcePath": "testdirectory1/testblob", "DestinationPath": "testblob" }
アクションが成功すると、CopyFile
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "true" }]
例 - blob を削除する
この例では、指定した blob を削除します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
DeleteObject
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "path": "testdirectory1/testblob" }
アクションが成功すると、DeleteObject
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "true" }]
例 - blob をリースする
この例では、指定した blob をリースします。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
LeaseBlob
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
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
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Path": "testblob", "RenameTo": "testblob6" }
アクションが成功すると、RenameObject
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": true }]
エンティティ オペレーションの例
このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。
例 - すべてのレコードを一覧表示する
この例では、Resource
エンティティ内のすべてのレコードを一覧表示します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からResource
を選択します。- [
List
] オペレーションを選択してから、[完了] をクリックします。 - 必要に応じて、コネクタタスクの [タスク入力] セクションでフィルタ句を指定して、結果セットをフィルタリングできます。 フィルタ句の値は、常に単一引用符(')内で指定します。
例 - レコードを取得する
この例では、Resource
エンティティから、指定した ID のレコードを取得します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からResource
を選択します。- [
Get
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタタスクの [タスク入力 セクションで [entityId] をクリックし、[デフォルト値] フィールドに
testdirectory1/testblob1
を入力します。ここで、
testdirectory1/testblob1
はResource
エンティティ内の一意のレコード ID です。
統合で Azure Data Lake Storage 接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
- Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
Google Cloud コミュニティの助けを借りる
Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
- コネクタの使用状況をモニタリングする方法を確認する。
- コネクタログを表示する方法を確認する。