Openflow Connector for Microsoft Dataverseを設定する¶
注釈
This connector is subject to the Snowflake Connector Terms.
このトピックでは、Openflow Connector for Microsoft Dataverseを設定する手順について説明します。
前提条件¶
Ensure that you have Openflowの設定 - BYOC or Set up Openflow - Snowflake Deployments.
|OFSFSPCS-plural|を使用する場合、:doc:`必要なドメインの構成</user-guide/data-integration/openflow/setup-openflow-spcs-sf-allow-list>`を精査し、:ref:`label-openflow_domains_used_by_openflow_connectors_dataverse`コネクタに必要なドメインへのアクセス許可を付与していることを確認してください。
認証情報を取得する¶
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 をプロバイダーとして指定した場合は、コンマで区切られたテーブル名のリストになります。 |
列フィルター JSON |
オプション。JSON 完全修飾テーブル名のリストと、複製に含める必要がある列名の正規表現パターンが含まれます。例: |
フローを実行する¶
プレーンを右クリックし、 Enable all Controller Services を選択します。
インポートしたプロセスグループを右クリックし、 Start を選択します。コネクタがデータの取り込みを開始します。
テーブルの列のサブセットを複製します。¶
コネクタは、テーブルごとに複製されるデータを構成列のサブセットにフィルターできます。
列にフィルターを適用するには、複製パラメーターのコンテキスト Column Filter プロパティを変更してJSONフィルターを指定します。フィルターを適用するテーブルごとに1つのエントリを含む、構成の配列を追加します。
列は、名前またはパターンによって含めたり除外したりできます。テーブルごとに単一の条件を適用することも、複数の条件を組み合わせて除外条件を包含条件よりも優先することもできます。
次の例は、使用可能なフィールドを示しています。table フィールドは必須です。included、excluded、includedPattern、``excludedPattern``のうち、1つ以上が必要です。
[
{
"table" : "<source table name>",
"included": ["<column name>", "<column name>"],
"excluded": ["<column name>", "<column name>"],
"includedPattern": "<regular expression>",
"excludedPattern": "<regular expression>",
}
]