Fabric ユーザー データ関数は、Fabric ポータルの接続の管理機能を使用して、ネイティブ データ ソース接続を提供します。 この機能を使用すると、接続文字列の作成やアクセス資格情報の管理を行わずに、Fabric データ ソースに接続できます。
この記事では、次の方法について説明します。
- ユーザー データ関数項目の新しい接続を作成します。
- 関数コードで新たな接続を使用します。
- データ接続を変更または削除します。
Fabric ユーザー データ関数でサポートされているデータ ソース接続
現在、Fabric ユーザー データ関数では次のデータ ソースがサポートされています。
- 読み取り/書き込み操作用の Fabric SQL データベース
- 読み取り/書き込み操作用のファブリック倉庫
- Lakehouse ファイルの読み取り/書き込み操作と SQL エンドポイントの読み取り専用操作用の Fabric Lakehouse。
- 読み取り専用操作用のファブリック ミラー化されたデータベース
ユーザー データ関数項目の新しいデータ接続を作成する
追加するすべてのデータ接続は、ユーザー データ関数項目に関連付けられ、任意の関数のコードで参照できます。 このガイドに従うには、既存の Fabric ユーザー データ関数項目と既存の Fabric データ ソースが必要です。
1.Functions ポータルから接続の管理機能にアクセスする
Functions ポータル エディターのリボンの [接続の管理] を見つけて選択します。
開いたウィンドウには、作成したすべてのデータ接続が含まれています。 新しい接続を作成するには、[データ接続の追加] を選択します。
2.OneLake カタログからデータ接続を選択する
[データ接続の追加] を選択すると、OneLake カタログが開き、ユーザー アカウントがアクセスできるすべてのデータ ソースの一覧が表示されます。 この一覧は、サポートされているデータ ソースのみを含むようにフィルター処理され、その一部は他のワークスペースにある可能性があります。
データ ソースを選択し、[接続] を選択します。
注
探しているデータ ソースが見つからない場合は、そのデータ ソースに接続するための適切なアクセス許可があることを確認してください。 または、この記事の冒頭に記載されている、サポートされているデータ ソースを使用していることを確認します。
作成すると、選択したデータ ソースへの新しい接続が、[接続] タブの作業ウィンドウに表示されます。接続が表示されたら、接続用に生成された[エイリアス] フィールドを書き留めておきます。 ユーザー データ関数項目内の任意の関数から接続を参照するには、このエイリアスが必要です。
3.関数コードで接続エイリアスを使用する
ポータル エディターに戻ったら、Manage Connections
タブで作成した接続のエイリアスをコードに追加する必要があります。 この例では、"SQL Database のテーブルからデータを読み取る" というコード サンプルを使用します。 [編集] タブをクリックし、[サンプルの挿入] ボタンをクリックして、"SQL Database" に移動すると、このサンプルを見つけることができます。
挿入されたサンプル コードを次に示します。
@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 ユーザー データ関数のデータ ソースに接続するために必要な作業は以上です。