Openflow Connector for Microsoft Dataverseを設定する¶
注釈
このコネクタは、 Snowflakeコネクタ規約 に従うものとします。
このトピックでは、Openflow Connector for Microsoft Dataverseを設定する手順について説明します。
前提条件¶
Ensure that you have Openflowの設定 - BYOC or Set up Openflow - Snowflake Deployments.
If using Openflow - Snowflake Deployments, ensure that you've reviewed configuring required domains and have granted access to the required domains for the Microsoft Dataverse connector.
認証情報を取得する¶
Microsoft Dataverse管理者として、以下の手順を実行します。
作業するDataverse Environmentがあり、https://admin.powerplatform.microsoft.com/を介してその環境にアクセスできることを確認します。
portal.azure.com のMicrosoft Entra ID にアプリケーションが登録されていることを確認してください。このアプリケーションは、Dataverse Environment で利用可能な テナントにアクセスできる必要があります。アプリケーションを登録するには このガイド に従います。
アプリケーション内で ClientID とクライアントシークレットを生成し、格納します。
Power アプリ管理センター に移動し、以前に登録されたアプリケーションを介してアクセスできるようにDataverse Environment を構成する。そのためには、Manage » Environments に移動し、構成する環境を選択します。その後 Settings » Users & permissions » 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で、右上のハンバーガーメニューから、このシークレットマネージャーに関連付けられたパラメータープロバイダーを構成します。Controller Settings » Parameter Provider に移動してから、パラメーター値を取得します。
この時点で、すべての認証情報を関連するパラメーターパスで参照することができるため、機密性の高い値をOpenflow内で永続化する必要はありません。
他のSnowflakeユーザーが、コネクタによって取り込まれた生の取り込みドキュメントやとテーブルへのアクセスを必要とする場合は(Snowflakeでのカスタム処理のためなど)、それらのユーザーにステップ1で作成したロールを付与します。
コネクタが使用するウェアハウスを指定します。以前に作成したロールにウェアハウスの USAGE 権限を付与します。まずは最小のウェアハウスサイズから始め、複製するテーブルの数や転送するデータ量に応じて異なるサイズを試してみてください。テーブル数が大きい場合は、通常、ウェアハウスのサイズを大きくするよりも、 マルチクラスターウェアハウス を使用した方がスケーリングが向上します。
コネクタを設定する¶
データエンジニアとして、以下のタスクを実行してコネクタをインストールおよび構成します。
コネクタをインストールする¶
Navigate to the Openflow overview page. In the Featured connectors section, select View more connectors.
Openflowのコネクタページでコネクタを探し、 Add to runtime を選択します。
In the Select runtime dialog, select your runtime from the Available runtimes drop-down list and click 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アカウント識別子 |
以下を使用する場合:
|
有り |
Snowflake秘密キー |
以下を使用する場合:
|
無し |
Snowflake秘密キーファイル |
以下を使用する場合:
|
無し |
Snowflake秘密キーパスワード |
以下を使用する場合
|
無し |
Snowflakeロール |
以下を使用する場合
|
有り |
Snowflakeのユーザー名 |
以下を使用する場合
|
有り |
Snowflakeウェアハウス |
クエリの実行に使用されるSnowflakeウェアハウス。 |
有り |
Dataverse取り込みパラメーター¶
パラメーター |
説明 |
|---|---|
スケジュール間隔 |
プロセッサーがテーブルのリストを取得し、インジェスチョンを初期化するためのトリガー間隔として使用される間隔。 |
ソーステーブルフィルターストラテジー |
取り込むテーブルをフィルターするためのストラテジー。REGEXP か LIST のいずれかです。 |
ソーステーブルフィルター値 |
テーブルフィルターの値。ソーステーブルフィルターストラテジーが REGEXP に設定されている場合 - 選択されたテーブルに一致する正規表現になります。LIST をプロバイダーとして指定した場合は、コンマで区切られたテーブル名のリストになります。 |
Column Filter JSON |
Optional. A JSON containing a list of fully-qualified table names and a regex pattern
for column names that should be included into replication.
For example: |
フローを実行する¶
プレーンを右クリックし、 Enable all Controller Services を選択します。
インポートしたプロセスグループを右クリックし、 Start を選択します。コネクタがデータの取り込みを開始します。
Replicate a subset of columns in a table¶
The connector can filter the data replicated per table to a subset of configured columns.
To apply filters to columns, modify the Replication Parameters context Column Filter property to specify a JSON filter.
Add an array of configurations, one entry for every table to which you want to apply a filter.
Columns can be included or excluded by name or pattern. You can apply a single condition per table, or combine multiple conditions, with exclusions taking precedence over inclusions.
The following example shows the fields that are available. The table field is mandatory. One or
more of included, excluded, includedPattern, excludedPattern is required.
[
{
"table" : "<source table name>",
"included": ["<column name>", "<column name>"],
"excluded": ["<column name>", "<column name>"],
"includedPattern": "<regular expression>",
"excludedPattern": "<regular expression>",
}
]