次の方法で共有


Fabric ユーザー データ関数項目からデータ ソースに接続する (プレビュー)

Fabric ユーザー データ関数は、Fabric ポータルの接続の管理機能を使用して、ネイティブ データ ソース接続を提供します。 この機能を使用すると、接続文字列の作成やアクセス資格情報の管理を行わずに、Fabric データ ソースに接続できます。

この記事では、次の方法について説明します。

  • ユーザー データ関数項目の新しい接続を作成します。
  • 関数コードで新たな接続を使用します。
  • データ接続を変更または削除します。

Fabric ユーザー データ関数でサポートされているデータ ソース接続

現在、Fabric ユーザー データ関数では次のデータ ソースがサポートされています。

ユーザー データ関数項目の新しいデータ接続を作成する

追加するすべてのデータ接続は、ユーザー データ関数項目に関連付けられ、任意の関数のコードで参照できます。 このガイドに従うには、既存の Fabric ユーザー データ関数項目と既存の Fabric データ ソースが必要です。

1.Functions ポータルから接続の管理機能にアクセスする

Functions ポータル エディターのリボンの [接続の管理] を見つけて選択します。

[接続の管理] ボタンが強調表示された Functions ポータルエディターを示すスクリーンショット。

開いたウィンドウには、作成したすべてのデータ接続が含まれています。 新しい接続を作成するには、[データ接続の追加] を選択します。

[接続] タブが選択され、接続が一覧に表示されていない作業ウインドウのスクリーンショット。

2.OneLake カタログからデータ接続を選択する

[データ接続の追加] を選択すると、OneLake カタログが開き、ユーザー アカウントがアクセスできるすべてのデータ ソースの一覧が表示されます。 この一覧は、サポートされているデータ ソースのみを含むようにフィルター処理され、その一部は他のワークスペースにある可能性があります。

データ ソースを選択し、[接続] を選択します。

データ ソースの一覧が含まれる OneLake データ カタログのスクリーンショット。

探しているデータ ソースが見つからない場合は、そのデータ ソースに接続するための適切なアクセス許可があることを確認してください。 または、この記事の冒頭に記載されている、サポートされているデータ ソースを使用していることを確認します。

作成すると、選択したデータ ソースへの新しい接続が、[接続] タブの作業ウィンドウに表示されます。接続が表示されたら、接続用に生成された[エイリアス] フィールドを書き留めておきます。 ユーザー データ関数項目内の任意の関数から接続を参照するには、このエイリアスが必要です。

新しいデータ ソース接続が作成された接続の作業ウインドウのスクリーンショット。

3.関数コードで接続エイリアスを使用する

ポータル エディターに戻ったら、Manage Connections タブで作成した接続のエイリアスをコードに追加する必要があります。 この例では、"SQL Database のテーブルからデータを読み取る" というコード サンプルを使用します。 [編集] タブをクリックし、[サンプルの挿入] ボタンをクリックして、"SQL Database" に移動すると、このサンプルを見つけることができます。

データ ソースの一覧が含まれる Insert Sample データ カタログのスクリーンショット。

挿入されたサンプル コードを次に示します。

@udf.connection(argName="sqlDB",alias="<alias for sql database>")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
    # Replace with the query you want to run
    query = "SELECT * FROM (VALUES ('John Smith', 31), ('Kayla Jones', 33)) AS Employee(EmpName, DepID);"

    # Establish a connection to the SQL database
    connection = sqlDB.connect()
    cursor = connection.cursor()

    query.capitalize()

    # Execute the query
    cursor.execute(query)

    # Fetch all results
    results = []
    for row in cursor.fetchall():
        results.append(row)

    # Close the connection
    cursor.close()
    connection.close()
        
    return results

このサンプルは SQL Database に接続しますが、データベース内のスキーマやデータを実行する必要はありません。

作成したデータ接続を使用するには、このサンプルの @udf.connection(argName="sqlDB",alias="<alias for sql database>") の行を、alias メニューから取得した Manage Connections の値に置き換えて変更します。 次のコードは、値 ContosoSalesDat を使った例を示しています。

@udf.connection(argName="sqlDB",alias="ContosoSalesDat")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
    [...]

コードを変更した後は、ツール バーの [公開] ボタンを使用して、関数を公開します。 この操作には数分かかることがあります。

[公開] ボタンのスクリーンショット。

公開が完了したら、Functions エクスプローラーの一覧でその名前をポイントし、サイド パネルの [実行] ボタンをクリックすると、関数を実行できます。 下部のパネル [出力] には、関数を実行した結果が表示されます。

関数の実行に使用するサイド パネルのスクリーンショット。

Fabric ユーザー データ関数のデータ ソースに接続するために必要な作業は以上です。

次のステップ