Openflow Connector for Microsoft Dataverseを設定する

注釈

コネクタには、 コネクタ利用規約 が適用されます。

このトピックでは、Openflow Connector for Microsoft Dataverseを設定する手順について説明します。

前提条件

  1. Openflow Connector for Microsoft Dataverse を確認してください。

  2. Openflowを設定した ことを確認します。

認証情報を取得する

Microsoft Dataverse管理者として、以下の手順を実行します。

  1. 作業するDataverse Environmentがあり、https://admin.powerplatform.microsoft.com/を介してその環境にアクセスできることを確認します。

  2. アプリケーションがportal.azure.comに登録されていることを確認します。このアプリケーションは、Dataverse Environmentで利用可能なテナントにアクセスできる必要があります。

  3. アプリケーション内で ClientID とクライアントシークレットを生成し、格納します。

  4. Power Apps Admin Centerにアクセスし、以前に登録したアプリケーションからアクセスできるようにDataverse Environmentを構成します。これを行うには、 Settings » Users & permissions » アプリケーションユーザーにアクセスします。以前に作成したアプリケーションを追加し、Microsoft Dataverseからデータを読み取るために必要な権限を付与する必要があります。

  5. https://admin.powerplatform.microsoft.com/から選択したDataverse EnvironmentのEnvironment URL をコピーし、保存します。

Snowflakeアカウントを設定する

Snowflakeアカウント管理者として、以下のタスクを実行します。

  1. タイプを 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>;
    
    Copy
    1. セキュアキーのペア(公開キーと秘密キー)を作成します。ユーザーの秘密キーをファイルに格納して、コネクタの構成に提供します。Snowflakeサービスユーザーに公開キーを割り当てます:

      ALTER USER <openflow_user> SET RSA_PUBLIC_KEY = 'thekey';
      
      Copy

      詳細については、 キーのペア をご参照ください。

  2. Snowflakeではこの手順を強く推奨します。Openflowがサポートするシークレットマネージャ(AWS、Azure、Hashicorpなど)を構成し、公開キーと秘密キーを秘密ストアに格納します。

    注釈

    何らかの理由でシークレットマネージャを使用したくない場合は、組織のセキュリティポリシーに従って、キーペア認証に使用する公開キーと秘密キーファイルを保護する責任があります。

    1. シークレットマネージャを構成したら、その認証方法を決定します。AWS 上では、Openflowに関連付けられた EC2 インスタンスロールが推奨されます。こうすることで、他の秘密を永続化する必要がなくなるからです。

    2. Openflowで、右上のハンバーガーメニューから、このシークレットマネージャに関連付けられたParameter Providerを構成します。 Controller Settings » Parameter Provider に移動し、パラメーターの値をフェッチします。

    3. この時点で、すべての認証情報を関連するパラメーターパスで参照することができるため、機密性の高い値をOpenflow内で永続化する必要はありません。

  3. 他のSnowflakeユーザーが、コネクタによって取り込まれた生の取り込みドキュメントやとテーブルへのアクセスを必要とする場合は(Snowflakeでのカスタム処理のためなど)、それらのユーザーにステップ1で作成したロールを付与します。

  4. コネクタが使用するウェアハウスを指定します。以前に作成したロールにウェアハウスの USAGE 権限を付与します。まずは最小のウェアハウスサイズから始め、複製するテーブルの数や転送するデータ量に応じて異なるサイズを試してみてください。テーブル数が大きい場合は、通常、ウェアハウスのサイズを大きくするよりも、 マルチクラスターウェアハウス を使用した方がスケーリングが向上します。

コネクタを設定する

データエンジニアとして、以下のタスクを実行してコネクタをインストールおよび構成します。

コネクタをインストールする

  1. Openflowの概要ページに移動します。 Featured connectors セクションで、 View more connectors を選択します。

  2. Openflowのコネクタページでコネクタを探し、 Add to runtime を選択します。

  3. Select runtime ダイアログで、 Available runtimes ドロップダウンリストからランタイムを選択します。

  4. Add を選択します。

    注釈

    コネクタをインストールする前に、コネクタが取り込んだデータを格納するためのデータベースとスキーマをSnowflakeで作成したことを確認します。

  5. Snowflakeアカウント認証情報でデプロイメントを認証し、Snowflakeアカウントへのランタイムアプリケーションのアクセスを許可するよう求められたられたら、 Allow を選択します。コネクタのインストールプロセスは数分で完了します。

  6. Snowflakeアカウント認証情報でランタイムを認証します。

コネクタプロセスグループが追加されたOpenflowキャンバスが表示されます。

コネクタを構成する

  1. インポートしたプロセスグループを右クリックし、 Parameters を選択します。

  2. フローパラメーター の説明に従って、必要なパラメーター値を入力します。

フローパラメーター

このセクションでは、以下のパラメーターコンテキストに基づいて構成できるフローパラメーターについて説明します。

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 ヘッダーとフッターを持ちます。ヘッダー行は -----BEGIN PRIVATE で始まります。 Reference asset チェックボックスを選択し、秘密キーファイルをアップロードします。

Snowflake秘密キーパスワード

Snowflake秘密キーファイルに関連付けられたパスワード

Snowflakeロール

クエリ実行時に使用されるSnowflakeロール

Snowflakeのユーザー名

Snowflakeインスタンスへの接続に使用するユーザー名

Snowflakeウェアハウス

クエリの実行に使用されるSnowflakeウェアハウス

Dataverse取り込みパラメーター

パラメーター

説明

スケジュール間隔

取り込むテーブルのリストをフェッチするプロセッサーは、スケジュールに従ってトリガーされなければなりません。間隔はユーザーが指定します。

ソーステーブルフィルターストラテジー

取り込むテーブルをフィルターするためのストラテジー。REGEXP か LIST のいずれかです。

ソーステーブルフィルター値

テーブルフィルターの値。ソーステーブルフィルターストラテジーが REGEXP に設定されている場合 - 選択されたテーブルに一致する正規表現になります。LIST をプロバイダーとして指定した場合は、コンマで区切られたテーブル名のリストになります。

フローを実行する

  1. プレーンを右クリックし、 Enable all Controller Services を選択します。

  2. インポートしたプロセスグループを右クリックし、 Start を選択します。コネクタがデータの取り込みを開始します。