パブリック API を使用して環境を管理します

Microsoft Fabric REST API は、Fabric 項目の作成、読み取り、更新、削除 (CRUD) 操作用のサービス エンドポイントを提供します。 この記事では、使用可能な環境 REST API とそれらの使用方法について説明します。

重要

この機能はプレビュー中です。

利用可能な環境 API の概要

API 説明 カテゴリ
環境の作成 ワークスペースで新しい環境を作成します。 全般
環境を取得する 環境のメタデータを取得します。 応答には、環境の状態が含まれます。 全般
環境を更新する 名前や説明など、環境のメタデータを更新します。 全般
環境を削除する 既存の環境を削除する 全般
ワークスペース内の環境をリストします。 ワークスペース内の環境のリストを取得します。 全般
環境を公開する 現在保留中の変更で環境の発行をトリガーします。 全般
公開を取り消す 環境の継続的な公開を取り消す 全般
公開済みの Spark コンピューティングを取得する 有効な Spark コンピューティング構成を取得します。 Spark コンピューティング
ステージング Spark コンピューティングを取得する 完全なステージング コンピューティング構成を取得します。 ステージング構成には、公開済みのコンピューティング構成と保留中のコンピューティング構成が含まれます。 Spark コンピューティング
公開済みライブラリを取得する 有効なライブラリ リストを取得します。 ライブラリ
ステージング ライブラリを取得する ステージング ライブラリの完全な一覧を取得します。 この一覧には、公開済みライブラリと保留中のライブラリが含まれます。 ライブラリ
ステージング ライブラリをアップロードする 環境内に 1 つのカスタム ライブラリまたは 1 つまたは複数のパブリック ライブラリを追加します。 ライブラリ
ステージング ライブラリを削除する 1 つのステージング カスタム ライブラリまたはすべてのパブリック ライブラリを削除します。 ライブラリ

Item API - 環境の環境パブリック API の詳細

環境パブリック API のユース ケース

このセクションでは、環境を扱う際のいくつかの一般的なシナリオについて説明します。 次の例の {WORKSPACE_ID}{ARTIFACT_ID} を適切な値に置き換えることができます。

新しい環境の作成

次の API を使用して、新しい空の環境を作成できます。

  • 要求のサンプル

    POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments
    
    {
        "displayName": "Environment_1",
        "description": "An environment description"
    }
    

ステージング ライブラリを管理する

アップロード/削除ステージング ライブラリ API を使用して、環境内のライブラリ セクションを管理できます

環境の公開済みライブラリを確認する

ライブラリを追加または削除する前に、公開済みライブラリ取得 API を使用して、現在有効なライブラリをチェックできます。

  • 要求のサンプル

    GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/libraries
    
  • 応答のサンプル

    {
        "customLibraries": {
            "wheelFiles": [
                "samplewheel-0.18.0-py2.py3-none-any.whl"
            ],
            "pyFiles": [
                "samplepython.py"
            ],
            "jarFiles": [
                "samplejar.jar"
            ],
            "rTarFiles": [
                "sampleR.tar.gz"
            ]
        },
        "environmentYml": "dependencies:\r\n- pip:\r\n  - matplotlib==3.4.3"
    }
    

ライブラリのアップロード

ステージング ライブラリをアップロードするための API では、一度に 1 つのファイルを受け入れます。 サポートされているファイルの種類は、パブリック ライブラリの場合は .whl.jar.tar.gz.pyenvironment.yml です。 multipart/form-data content-type を使用してファイルを指定できます。

Note

  • パブリック ライブラリをより効率的に操作するには、pyPI と conda から必要なすべてのライブラリを environment.yml ファイルに作成することを強くお勧めします。
  • アップロード API では、1 つの要求で最大 200 MB (メガバイト) ファイルを使用できます。このサイズ制限を超えるライブラリは、現在パブリック API ではサポートされていません。
  • サンプルの要求

    POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/libraries
    

ライブラリの削除

タイプ サフィックスを持つ完全なライブラリ ファイル名を指定することで、一度に 1 つのライブラリを削除できます。

Note

  • 削除するファイルとして environment.yml を指定した場合は、すべてのパブリック ライブラリを削除します。
  • 既存のパブリック ライブラリのサブセットを削除する場合は、代わりにアップロード ライブラリを使用し、必要なライブラリのみを含む environment.yml をアップロードしてください。 アップロードされた environment.yml は、既存のパブリック ライブラリ セクションを完全に置き換えます。
  • サンプルの要求

    DELETE https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/libraries?libraryToDelete=fuzzywuzzy-0.18.0-py2.py3-none-any.whl
    

ステージング Spark コンピューティングを管理する

更新ステージング Spark コンピューティングを使用して、Spark コンピューティングを管理できます。

発行された Spark コンピューティングの環境を確認する

環境の構成を変更する前に、発行済みの Spark コンピューティング API を使用して、現在有効な Spark コンピューティング構成をチェックできます。

  • 要求のサンプル

    GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/sparkcompute
    
  • 応答のサンプル

    {
        "instancePool": {
            "name": "Starter Pool",
            "type": "Workspace"
        },
        "driverCores": 4,
        "driverMemory": "56g",
        "executorCores": 4,
        "executorMemory": "56g",
        "dynamicExecutorAllocation": {
            "enabled": false,
            "minExecutors": 1,
            "maxExecutors": 1
        },
        "sparkProperties": {
            "spark.acls.enable": "false"
        },
        "runtimeVersion": "1.2"
    }
    

コンピューティング構成を更新する

この API の要求本文を編集することで、Spark ランタイムの更新、別のプールへの切り替え、コンピューティング構成の調整、Spark プロパティの追加/削除を行うことができます。

プール名とプールを指定することで、接続されているプールを切り替えることができます。 プールを既定の設定に切り替えるには、プール名を Starter Pool として指定します。 REST API によるワークスペースの使用可能なカスタム プールの全リストを取得するには、「カスタム プール - ワークスペース カスタム プールのリスト」を参照してください。

既存の Spark プロパティを削除する場合は、次の例に示すように、削除するキーと同様に null として値を指定する必要があります。

  • 要求のサンプル

    PATCH https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/sparkcompute
    
    {
        "instancePool": {
            "name": "Starter Pool",
            "type": "Workspace"
        },
        "driverCores": 4,
        "driverMemory": "56g",
        "executorCores": 4,
        "executorMemory": "56g",
        "dynamicExecutorAllocation": {
            "enabled": false,
            "minExecutors": 1,
            "maxExecutors": 1
        },
        "sparkProperties": {
            "spark.acls.enable": null
        },
        "runtimeVersion": "1.2"
    }
    

変更を有効にする

次の API セットを使用して変更を発行します。

公開を準備する

環境では、一度に 1 つの公開を受け入れます。 環境を公開する前に、環境の状態を検証し、ステージングの変更の最終レビューを行うことができます。 環境が正常に公開されると、ステージング状態のすべての構成が有効になります。

  • 手順 1: 環境のメタデータを取得する

    GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/
    

    応答本文では、環境の状態を明確に示すことができます。 次の手順に進む前に、進行中の公開がないことを確認してください。

  • 手順 2: ステージング ライブラリ/Spark コンピューティングを取得して最終的なレビューを行う

    GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/libraries
    
    GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/sparkcompute
    

環境の公開をトリガーする

ステージング ライブラリと Spark コンピューティングに対して行った変更はキャッシュされますが、公開を有効にするには必要です。 次の例に従って公開をトリガーします。

  • 要求のサンプル

    POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/publish
    
  • 応答のサンプル

    {
        "publishDetails":
        {
            "state": "Running",
            "targetVersion": "46838a80-5450-4414-bea0-40fb6f3e0c0d",
            "startTime": "2024-03-29T14:17:09.0697022Z",
            "componentPublishInfo": {
                "sparkLibraries": {
                    "state": "Running"
                },
                "sparkSettings": {
                    "state": "Running"
                }
            }
        }
    }   
    

発行中に、次の API を呼び出して取り消すこともできます。

  • 要求のサンプル

    POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/cancelPublish