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 のMicrosoft Entra ID にアプリケーションが登録されていることを確認してください。このアプリケーションは、Dataverse Environment で利用可能な テナントにアクセスできる必要があります。アプリケーションを登録するには このガイド に従います。
アプリケーション内で ClientID とクライアントシークレットを生成し、格納します。
Power アプリ管理センター に移動し、以前に登録されたアプリケーションを介してアクセスできるようにDataverse Environment を構成する。そのためには、Manage » Environments に移動し、構成する環境を選択します。その後、Settings`|ra|:extui:`Users & permissions`|ra|:extui:`Application users に移動します。以前に作成したアプリケーションを追加して、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 のスコープパラメーターを作成することもできます。 |
ソーステナント ID |
Microsoft Azure テナント ID。OAuthURLs の作成に使用します。Microsoft Dataverse Environmentは、このテナントに属している必要があります。 |
ソース OAuth クライアント ID |
Microsoft Azure クライアントID はMicrosoft Dataverse API へのアクセスに使用します。Microsoft Dataverse Web API は OAuth 認証でアクセスを保護し、コネクタはクライアントID 認証情報フローを使用します。クライアントの詳細およびMicrosoft Entraでそれを見つける方法については、` アプリケーション ID(クライアント ID) <https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application#application-id-client-id>`_ をご参照ください。 |
ソース OAuth クライアントシークレット |
Microsoft Azureクライアントシークレットは、Microsoft Dataverse API へのアクセスに使用します。Microsoft Dataverse Web API は、OAuth 認証でアクセスを保護し、コネクタはクライアント認証情報フローを使用します。クライアントシークレットの詳細と、Microsoft Entraでそれを見つける方法については、 `証明書およびシークレット <https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application#certificates--secrets>`_をご参照ください。 |
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 を選択します。コネクタがデータの取り込みを開始します。