Gerenciar o ambiente por meio de APIs públicas
A API REST do Microsoft Fabric fornece um ponto de extremidade de serviço para operações de criação, leitura, atualização e exclusão (CRUD) de um item do Fabric. Este artigo descreve as APIs REST de ambiente disponíveis e o uso delas.
Importante
Esse recurso está na versão prévia.
Resumo das APIs de ambiente disponíveis
API | Descrição | Categoria |
---|---|---|
Criar ambiente | Crie um novo ambiente no espaço de trabalho. | Geral |
Obter ambiente | Obtenha os metadados de um ambiente. A resposta inclui o status do ambiente. | Geral |
Atualizar ambiente | Atualize os metadados de um ambiente, como nome e descrição. | Geral |
Excluir ambiente | Excluir um ambiente existente. | Geral |
Listar ambiente no espaço de trabalho | Obter a lista de ambientes em um espaço de trabalho. | Geral |
Publicar ambiente | Acione a publicação do ambiente com as alterações pendentes atuais. | Geral |
Publicar cancelamento | Cancelar uma publicação contínua do ambiente | Geral |
Publicar computação do Spark | Obtenha as configurações de computação do Spark que são eficazes. | Computação do Spark |
Obter computação do Spark de preparo | Obtenha as configurações completas de computação de preparo. As configurações de preparo incluem as configurações de computação publicadas e pendentes. | Computação do Spark |
Obter bibliotecas publicadas | Obtenha a lista de bibliotecas que é eficaz. | Bibliotecas |
Obter bibliotecas de preparo | Obtenha a lista completa de bibliotecas de preparo. Esta lista inclui as bibliotecas publicadas e pendentes. | Bibliotecas |
Carregar bibliotecas de preparo | Adicionar uma biblioteca personalizada ou uma/várias bibliotecas públicas no ambiente. | Bibliotecas |
Excluir bibliotecas de preparo | Exclua uma biblioteca personalizada de preparo ou toda a biblioteca pública. | Bibliotecas |
Saiba mais sobre as APIs públicas do ambiente em APIs de item - Ambiente
Casos de uso de API pública do ambiente
Esta seção orienta você por vários cenários comuns ao lidar com o ambiente. Você pode substituir {WORKSPACE_ID}
e {ARTIFACT_ID}
nos exemplos a seguir pelos valores apropriados.
Criar um novo ambiente
Você pode criar um novo ambiente vazio usando a seguinte API.
Solicitação de exemplo
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments { "displayName": "Environment_1", "description": "An environment description" }
Gerenciar bibliotecas de preparo
Você pode usar as APIs de bibliotecas de preparo de upload/delete para gerenciar a seção de biblioteca no ambiente
Verifique as bibliotecas publicadas para o ambiente
Antes de adicionar/excluir biblioteca, você pode usar a API get published libraries para verificar quais bibliotecas são efetivas no momento.
Solicitação de exemplo
GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/libraries
Resposta de exemplo
{ "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" }
Carregando as bibliotecas
A API para carregar a biblioteca de preparo aceita um arquivo de cada vez. Os tipos de arquivo com suporte são .whl, .jar, .tar.gz, .py e environment.yml para a biblioteca pública. Você pode especificar o arquivo por meio do tipo de conteúdo multipart/form-data.
Observação
- Para manipular a biblioteca pública de forma mais eficiente, é altamente recomendável compor todas as bibliotecas esperadas do PyPI e do conda em um arquivo environment.yml.
- A API de carregamento permite até 200 MB de arquivo em uma solicitação, biblioteca que excede esse limite de tamanho não tem suporte atualmente na API pública.
Solicitações de exemplo
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/libraries
Excluindo as bibliotecas
Especificando o nome completo do arquivo de biblioteca com o sufixo de tipo, você pode excluir uma biblioteca por vez.
Observação
- Se você especificar
environment.yml
como o arquivo a ser excluído, removerá todas as bibliotecas públicas. - Se quiser remover um subconjunto da biblioteca pública existente, use a biblioteca de upload em vez disso e carregue um environment.yml que contenha apenas as bibliotecas esperadas. O environment.yml carregado substitui totalmente a seção de biblioteca pública existente.
Solicitações de exemplo
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
Gerenciar computação do Spark de preparo
Você pode usar a computação do Spark de preparo de atualização para gerenciar a computação do Spark.
Verifique a computação do Spark publicada para o ambiente
Antes de alterar as configurações do ambiente, você pode usar a API de computação do Spark para verificar quais configurações de computação do Spark são efetivas no momento.
Solicitação de exemplo
GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/sparkcompute
Resposta de exemplo
{ "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" }
Atualizar as configurações de computação
Você pode atualizar o runtime do Spark, alternar para outro pool, refinar a configuração de computação e adicionar/remover propriedades do Spark editando o corpo da solicitação dessa API.
Você pode alternar o pool anexado especificando o nome do pool e o pool. Especifique o nome do pool como Starter Pool
para alternar o pool para as configurações padrão. Para obter a lista completa dos pools personalizados disponíveis do espaço de trabalho pela API REST, confira Pools personalizados: Listar pools personalizados do espaço de trabalho
Se você quiser remover uma propriedade Spark existente, será necessário especificar o valor como null
com a chave que deseja remover, conforme mostrado no exemplo a seguir.
Solicitação de exemplo
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" }
Tornar as alterações efetivas
Usando os seguintes conjuntos de APIs para publicar as alterações.
Preparar-se para uma publicação
O ambiente pode aceitar uma publicação de cada vez. Antes de publicar seu ambiente, você pode validar o status do ambiente e ter uma revisão final das alterações de preparo. Depois que o ambiente é publicado com êxito, todas as configurações no estado de preparo tornam-se efetivas.
Etapa 1: obter os metadados do ambiente
GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/
No corpo da resposta, você pode dizer claramente o estado do ambiente. Certifique-se de que não há nenhuma publicação em andamento antes de passar para a próxima etapa.
Etapa 2: obter as bibliotecas de preparo/computação do Spark para ter uma revisão final
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
Acionar a publicação do ambiente
As alterações feitas nas bibliotecas de preparo e na computação do Spark são armazenadas em cache, mas exigem que a publicação entre em vigor. Siga o exemplo abaixo para acionar a publicação.
Solicitação de exemplo
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/publish
Resposta de exemplo
{ "publishDetails": { "state": "Running", "targetVersion": "46838a80-5450-4414-bea0-40fb6f3e0c0d", "startTime": "2024-03-29T14:17:09.0697022Z", "componentPublishInfo": { "sparkLibraries": { "state": "Running" }, "sparkSettings": { "state": "Running" } } } }
Durante a publicação, você também pode chamar a seguinte API para cancelá-la.
Solicitação de exemplo
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/cancelPublish