Управление средой с помощью общедоступных API

REST API Microsoft Fabric предоставляет конечную точку службы для операций создания, чтения, обновления и удаления (CRUD) элемента Fabric. В этой статье описываются доступные ИНТЕРФЕЙСы REST API среды и их использование.

Внимание

Эта функция доступна в предварительной версии.

Сводка доступных API среды

API Description Категория
Создать окружение Создайте новую среду в рабочей области. Общие
Получение среды Получение метаданных среды. Ответ включает состояние среды. Общие
Обновление среды Обновите метаданные среды, например имя и описание. Общие
Удалить среду Удаление существующей среды. Общие
Перечисление среды в рабочей области Получение списка среды в рабочей области. Общие
Публикация среды Активируйте публикацию среды с текущими ожидающих изменений. Общие
Публикация отмены Отмена текущей публикации среды Общие
Получение опубликованных вычислений Spark Получите действующие конфигурации вычислений Spark. Вычисление Spark
Получение промежуточных вычислений Spark Получите полные промежуточные конфигурации вычислений. Промежуточные конфигурации включают опубликованные и ожидающие конфигурации вычислений. Вычисление Spark
Получение опубликованных библиотек Получите список библиотек, действующий. Библиотеки
Получение промежуточных библиотек Получите полный список промежуточной библиотеки. Этот список включает опубликованные и ожидающие библиотеки. Библиотеки
Отправка промежуточных библиотек Добавление одной пользовательской библиотеки или одной или нескольких общедоступных библиотек в среде. Библиотеки
Удаление промежуточных библиотек Удалите одну промежуточную пользовательскую библиотеку или всю общедоступную библиотеку. Библиотеки

Дополнительные сведения об общедоступных 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 для отправки промежуточной библиотеки принимает один файл за раз. Поддерживаемые типы файлов : WHL, .jar, .tar.gz, .py и environment.yml для общедоступной библиотеки. Файл можно указать с помощью типа контента с несколькими частями или данными формы.

Примечание.

  • Для более эффективного управления общедоступной библиотекой настоятельно рекомендуется создавать все ожидаемые библиотеки из PyPI и conda в файле environment.yml.
  • API отправки допускает до 200 МБ-файла в одном запросе, библиотека, превышающая это ограничение размера, в настоящее время не поддерживается в общедоступном API.
  • Примеры запросов

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

Удаление библиотек

Указав полное имя файла библиотеки с суффиксом типа, можно одновременно удалить одну библиотеку.

Примечание.

  • Если файл 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 для среды

Перед изменением конфигураций среды можно использовать опубликованный API вычислений Spark для проверки эффективности конфигураций вычислений 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"
    }
    

Обновление конфигураций вычислений

Вы можете обновить среду выполнения Spark, переключиться в другой пул, уточнить конфигурацию вычислений и добавить или удалить свойства Spark, изменив текст запроса этого API.

Вы можете переключить подключенный пул, указав имя и пул пула. Укажите имя пула, чтобы 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. Получение метаданных среды

    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