Openflow Connector for Microsoft Dataverseを設定する¶
注釈
コネクタには、 コネクタ利用規約 が適用されます。
このトピックでは、Openflow Connector for Microsoft Dataverseを設定する手順について説明します。
前提条件¶
Openflow Connector for Microsoft Dataverse を確認してください。
Openflowを設定した ことを確認します。
認証情報を取得する¶
Microsoft Dataverse管理者として、以下の手順を実行します。
作業するDataverse Environmentがあり、https://admin.powerplatform.microsoft.com/を介してその環境にアクセスできることを確認します。
アプリケーションがportal.azure.comに登録されていることを確認します。このアプリケーションは、Dataverse Environmentで利用可能なテナントにアクセスできる必要があります。
アプリケーション内で ClientID とクライアントシークレットを生成し、格納します。
Power Apps Admin Centerにアクセスし、以前に登録したアプリケーションからアクセスできるようにDataverse Environmentを構成します。これを行うには、 Settings » Users & permissions » アプリケーションユーザーにアクセスします。以前に作成したアプリケーションを追加し、Microsoft Dataverseからデータを読み取るために必要な権限を付与する必要があります。
https://admin.powerplatform.microsoft.com/から選択したDataverse EnvironmentのEnvironment URL をコピーし、保存します。
Snowflakeアカウントを設定する¶
Snowflakeアカウント管理者として、以下のタスクを実行します。
- タイプを SERVICE としてSnowflakeユーザーを作成します。
複製データを格納するデータベースとスキーマを作成し, USAGE と CREATE TABLE 権限 を付与して,サービスユーザーが宛先スキーマにテーブルを作成できる権限を設定します.
CREATE DATABASE <destination_database>; CREATE SCHEMA <destination_database>.<destination_schema>; CREATE USER <openflow_user> TYPE=SERVICE COMMENT='Service user for automated access of Openflow'; CREATE ROLE <openflow_role>; GRANT ROLE <openflow_role> TO USER <openflow_user>; GRANT USAGE ON DATABASE <destination_database> TO ROLE <openflow_role>; GRANT USAGE ON SCHEMA <destination_database>.<destination_schema> TO ROLE <openflow_role>; GRANT CREATE TABLE ON SCHEMA <destination_database>.<destination_schema> TO ROLE <openflow_role>; CREATE WAREHOUSE <openflow_warehouse> WITH WAREHOUSE_SIZE = 'SMALL' AUTO_SUSPEND = 300 AUTO_RESUME = TRUE; GRANT USAGE, OPERATE ON WAREHOUSE <openflow_warehouse> TO ROLE <openflow_role>;
セキュアキーのペア(公開キーと秘密キー)を作成します。ユーザーの秘密キーをファイルに格納して、コネクタの構成に提供します。Snowflakeサービスユーザーに公開キーを割り当てます:
ALTER USER <openflow_user> SET RSA_PUBLIC_KEY = 'thekey';
詳細については、 キーのペア をご参照ください。
Snowflakeではこの手順を強く推奨します。Openflowがサポートするシークレットマネージャ(AWS、Azure、Hashicorpなど)を構成し、公開キーと秘密キーを秘密ストアに格納します。
注釈
何らかの理由でシークレットマネージャを使用したくない場合は、組織のセキュリティポリシーに従って、キーペア認証に使用する公開キーと秘密キーファイルを保護する責任があります。
シークレットマネージャを構成したら、その認証方法を決定します。AWS 上では、Openflowに関連付けられた EC2 インスタンスロールが推奨されます。こうすることで、他の秘密を永続化する必要がなくなるからです。
Openflowで、右上のハンバーガーメニューから、このシークレットマネージャに関連付けられたParameter Providerを構成します。 Controller Settings » Parameter Provider に移動し、パラメーターの値をフェッチします。
この時点で、すべての認証情報を関連するパラメーターパスで参照することができるため、機密性の高い値をOpenflow内で永続化する必要はありません。
他のSnowflakeユーザーが、コネクタによって取り込まれた生の取り込みドキュメントやとテーブルへのアクセスを必要とする場合は(Snowflakeでのカスタム処理のためなど)、それらのユーザーにステップ1で作成したロールを付与します。
コネクタが使用するウェアハウスを指定します。以前に作成したロールにウェアハウスの USAGE 権限を付与します。まずは最小のウェアハウスサイズから始め、複製するテーブルの数や転送するデータ量に応じて異なるサイズを試してみてください。テーブル数が大きい場合は、通常、ウェアハウスのサイズを大きくするよりも、 マルチクラスターウェアハウス を使用した方がスケーリングが向上します。
コネクタを設定する¶
データエンジニアとして、以下のタスクを実行してコネクタをインストールおよび構成します。
コネクタをインストールする¶
Openflowの概要ページに移動します。 Featured connectors セクションで、 View more connectors を選択します。
Openflowのコネクタページでコネクタを探し、 Add to runtime を選択します。
Select runtime ダイアログで、 Available runtimes ドロップダウンリストからランタイムを選択します。
Add を選択します。
注釈
コネクタをインストールする前に、コネクタが取り込んだデータを格納するためのデータベースとスキーマをSnowflakeで作成したことを確認します。
Snowflakeアカウント認証情報でデプロイメントを認証し、Snowflakeアカウントへのランタイムアプリケーションのアクセスを許可するよう求められたられたら、 Allow を選択します。コネクタのインストールプロセスは数分で完了します。
Snowflakeアカウント認証情報でランタイムを認証します。
コネクタプロセスグループが追加されたOpenflowキャンバスが表示されます。
コネクタを構成する¶
インポートしたプロセスグループを右クリックし、 Parameters を選択します。
フローパラメーター の説明に従って、必要なパラメーター値を入力します。
フローパラメーター¶
このセクションでは、以下のパラメーターコンテキストに基づいて構成できるフローパラメーターについて説明します。
Dataverseソースパラメーター: Dataverseとの接続を確立するために使用します。
Dataverse宛先パラメーター: Snowflakeとの接続を確立するために使用します。
Dataverse取り込みパラメーター: Dataverseからダウンロードするデータの構成を定義するために使用します。
Dataverseソースパラメーター¶
パラメーター |
説明 |
---|---|
ソースDataverse Environment URL |
データをフェッチするソースシステムの主な識別子。URL はDataverseテーブルが存在する名前空間を示します。また、 OAuth のスコープパラメーターを作成することもできます。 |
ソースMicrosoft Azureテナント ID |
Microsoftテナント ID を使うと OAuth URLs を作成できます。 |
ソース OAuth クライアント ID |
Microsoft Dataverse Web API は OAuth 認証を使用してアクセスを保護し、コネクタはクライアント認証情報フローを使用します。クライアント ID とMicrosoft Entraでの探し方については、 アプリケーション ID (クライアント ID) をご参照ください。 |
ソース OAuth クライアントシークレット |
Microsoft Dataverse Web API は OAuth 認証を使用してアクセスを保護し、コネクタはクライアント認証情報フローを使用します。Microsoft Entraにおけるクライアントシークレットとその探し方については、 証明書およびシークレット をご参照ください。 |
Dataverse宛先パラメーター¶
パラメーター |
説明 |
---|---|
宛先データベース |
データが永続化されるデータベース。既にSnowflakeに存在している必要があります |
宛先スキーマ |
データが永続化されるスキーマ。既にSnowflakeに存在している必要があります |
Snowflakeアカウント識別子 |
データが永続化されるSnowflakeアカウント名(形式: [organization-name]- [account-name])。 |
Snowflake認証ストラテジー |
Snowflakeへの認証のストラテジー。可能な値: SPCS 上でフローを実行している場合は SNOWFLAKE_SESSION_TOKEN、 秘密キーを使ったアクセスを設定したい場合は KEY_PAIR |
Snowflake秘密キー |
認証に使用される RSA 秘密キー。RSA キーは、 PKCS8 標準に従って書式設定され、標準的な PEM ヘッダーとフッターを持つ必要があります。Snowflake秘密キーファイルまたはSnowflake秘密キーのどちらかが定義されている必要があります。 |
Snowflake秘密キーファイル |
Snowflakeへの認証に使用される RSA 秘密キーを含むファイル。 PKCS8 標準に従って書式設定され、標準的な PEM ヘッダーとフッターを持ちます。ヘッダー行は |
Snowflake秘密キーパスワード |
Snowflake秘密キーファイルに関連付けられたパスワード |
Snowflakeロール |
クエリ実行時に使用されるSnowflakeロール |
Snowflakeのユーザー名 |
Snowflakeインスタンスへの接続に使用するユーザー名 |
Snowflakeウェアハウス |
クエリの実行に使用されるSnowflakeウェアハウス |
Dataverse取り込みパラメーター¶
パラメーター |
説明 |
---|---|
スケジュール間隔 |
取り込むテーブルのリストをフェッチするプロセッサーは、スケジュールに従ってトリガーされなければなりません。間隔はユーザーが指定します。 |
ソーステーブルフィルターストラテジー |
取り込むテーブルをフィルターするためのストラテジー。REGEXP か LIST のいずれかです。 |
ソーステーブルフィルター値 |
テーブルフィルターの値。ソーステーブルフィルターストラテジーが REGEXP に設定されている場合 - 選択されたテーブルに一致する正規表現になります。LIST をプロバイダーとして指定した場合は、コンマで区切られたテーブル名のリストになります。 |
フローを実行する¶
プレーンを右クリックし、 Enable all Controller Services を選択します。
インポートしたプロセスグループを右クリックし、 Start を選択します。コネクタがデータの取り込みを開始します。