Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'API REST di Microsoft Fabric fornisce un endpoint servizio per le operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD) di un elemento di Fabric. Questo articolo descrive le API REST dell'ambiente disponibili e il relativo utilizzo.
Importante
- La nuova versione include nuove API, deprecazione delle API e modifiche del contratto di risposta/richiesta API. La tabella riportata nella sezione seguente riepiloga tutte le modifiche all'API.
Riepilogo delle API dell'ambiente
Categoria | API (Interfaccia di Programmazione delle Applicazioni) | Descrizione | Nota |
---|---|---|---|
Operazione dell'elemento | Creare un ambiente | Creare un nuovo ambiente vuoto nell'area di lavoro. | Nessuna modifica |
Operazione dell'elemento | Creare un ambiente con definizione | Creare un nuovo ambiente con Definizione. | nuova API |
Operazione dell'elemento | Elimina ambiente | Eliminare un ambiente esistente. | Nessuna modifica |
Operazione dell'elemento | Elencare l'ambiente | Ottenere l'elenco di tutti gli ambienti in un'area di lavoro. | Nessuna modifica |
Operazione dell'elemento | Acquisire l'ambiente | Ottenere i metadati di un ambiente. La risposta include lo stato dell'ambiente. | aggiornamento del contratto di risposta |
Operazione dell'elemento | Ottenere la definizione dell'ambiente | Ottenere la definizione di un ambiente. | nuova API |
Operazione dell'elemento | Aggiornamento dell'ambiente | Aggiornare i metadati di un ambiente, come il nome e la descrizione. | Nessuna modifica |
Operazione dell'elemento | Aggiornare la definizione dell'ambiente | Aggiornare la definizione di un ambiente. | nuova API |
Operazione dell'elemento | Ambiente di pubblicazione | Innescare la pubblicazione dell'ambiente con le modifiche in sospeso attuali. | aggiornamento del contratto di risposta |
Operazione dell'elemento | Annullare l'ambiente di pubblicazione | Annullare una pubblicazione attualmente in corso dell'ambiente | Nessuna modifica |
Allestimento | Elencare le librerie di staging | Ottenere l'elenco completo delle librerie di gestione temporanea. Questo elenco include le librerie pubblicate e in attesa di pubblicazione. | aggiornamento del contratto di risposta |
Allestimento | Importare librerie esterne | Caricare librerie esterne come file environment.yml nell'ambiente. Sostituisce l'elenco delle librerie esterne esistenti nell'ambiente. | nuova API |
Allestimento | Esportare librerie esterne | Ottieni le librerie esterne complete in un file environment.yml. | nuova API |
Allestimento | Rimuovere la libreria esterna | Eliminare una libreria esterna da un ambiente. Questa API accetta una libreria alla volta | nuova API |
Allestimento | Caricare una libreria personalizzata | Caricare un pacchetto personalizzato nell'ambiente. Questa API consente il caricamento di un file alla volta. I formati di file supportati sono .jar, .py, whl e .tar.gz. | nuova API |
Allestimento | Eliminare una libreria personalizzata | Eliminare un pacchetto personalizzato dall'ambiente. Inserire il nome completo del pacchetto personalizzato con l'estensione nella richiesta API per rimuoverlo. | nuova API |
Allestimento | Caricare le librerie di staging | Aggiungere una libreria personalizzata o una o più librerie pubbliche nell'ambiente. | Da non utilizzare |
Allestimento | Eliminare le librerie dell'ambiente di staging | Eliminare una libreria personalizzata di gestione temporanea o tutta la libreria pubblica. | Da non utilizzare |
Allestimento | Elenca le impostazioni di staging di Spark | Ottieni le configurazioni di calcolo complete di staging. Le configurazioni di gestione temporanea includono le configurazioni di calcolo pubblicate e in sospeso. | aggiornamento del contratto di risposta |
Allestimento | Aggiornare le impostazioni di Spark | Aggiornare le configurazioni di calcolo e le proprietà spark per un ambiente | aggiornamento del contratto di richiesta e risposta |
Pubblicato | Elencare le librerie pubblicate | Ricavare le librerie che sono pubblicate ed efficaci nelle sessioni di Spark. | aggiornamento del contratto di risposta |
Pubblicato | Elenca l'impostazione Spark pubblicata | Ottieni le configurazioni di calcolo Spark e le proprietà Spark pubblicate e attive nelle sessioni Spark. | aggiornamento del contratto di risposta |
Pubblicato | Esportare librerie esterne | Ottieni le librerie esterne pubblicate come file environment.yml. | nuova API |
Scopri di più sulle API pubbliche esistenti per l'ambiente nelle API degli elementi - Ambiente
Dettagli dell'aggiornamento dell'API pubblica dell'ambiente
Questa sezione descrive gli aggiornamenti futuri per le API esistenti.
Ottieni l'ambiente
Nella risposta dell'API Get Environment, 'startTime' diventerà 'startDateTime' e 'endTime' diventerà 'endDateTime'. Rappresentano l'ora di inizio/fine dell'operazione di pubblicazione.
Nota
'startTime' e 'endTime' utilizzano il formato data e ora, mentre 'startDateTime' e 'endDateTime' saranno in formato Stringa, che è in UTC e segue il formato YYYY-MM-DDTHH:mm:ssZ.
Interfaccia
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/environments/{environmentId}
Risposta di esempio originale
{ "displayName": "Environment_1", "description": "An Environment description", "type": "Environment", "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", "id": "5b218778-e7a5-4d73-8187-f10824047715", "properties": { "publishDetails": { "state": "Success", "targetVersion": "46838a80-5450-4414-bea0-40fb6f3e0c0d", "startTime": "2024-03-29T14:17:09.0697022Z", "endTime": "2024-03-29T14:48:09.0697022Z", "componentPublishInfo": { "sparkLibraries": { "state": "Success" }, "sparkSettings": { "state": "Success" } } } } }
Nuova risposta di esempio
{ "displayName": "Environment_1", "description": "An Environment description", "type": "Environment", "workspaceId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229", "id": "5b218778-e7a5-4d73-8187-f10824047715", "properties": { "publishDetails": { "state": "Success", "targetVersion": "46838a80-5450-4414-bea0-40fb6f3e0c0d", "startDateTime": "2024-03-29T14:17:09Z", "endDateTime": "2024-03-29T14:48:09Z", "componentPublishInfo": { "sparkLibraries": { "state": "Success" }, "sparkSettings": { "state": "Success" } } } } }
Ambiente di pubblicazione
L'API dell'ambiente di pubblicazione supporterà le operazioni a esecuzione prolungata a partire dal rilascio, il contratto della risposta cambierà. L'endpoint rimane invariato per l'invio di richieste.
Interfaccia
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/environments/{environmentId}/staging/publish
Risposta di esempio originale
{ "publishDetails": { "state": "Running", "targetVersion": "46838a80-5450-4414-bea0-40fb6f3e0c0d", "startTime": "2024-03-29T14:17:09.0697022Z", "componentPublishInfo": { "sparkLibraries": { "state": "Running" }, "sparkSettings": { "state": "Running" } } } }
Nuova risposta di esempio
Location: https://api.fabric.microsoft.com/v1/operations/abcdef00-9d7e-469a-abf1-fca847a0ea69 x-ms-operation-id: abcdef00-9d7e-469a-abf1-fca847a0ea69 Retry-After: 60
Elenca le librerie di staging e quelle pubblicate
Queste due API possono ottenere l'elenco completo delle librerie di staging e di quelle pubblicate dell'ambiente. Gli endpoint rimangono invariati per l'invio di richieste, mentre le librerie verranno restituite con una struttura diversa.
Interfacce
Ottenere le librerie di gestione temporanea
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/environments/{environmentId}/staging/libraries
Ottenere librerie pubblicate
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/environments/{environmentId}/libraries
Risposta di esempio originale
{ "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" }
Nuova risposta di esempio
{ "libraries": [ { "name": "samplewheel-0.18.0-py2.py3-none-any.whl", "libraryType": "Custom" }, { "name": "samplepython.py", "libraryType": "Custom" }, { "name": "samplejar.jar", "libraryType": "Custom" }, { "name": "sampleR.tar.gz", "libraryType": "Custom" }, { "name": "fuzzywuzzy", "libraryType": "External", "version": "0.0.1" }, { "name": "matplotlib", "libraryType": "External", "version": "0.0.1" } ], "continuationToken": "null", "continuationUri": "null" }
Elenco delle impostazioni di Spark di staging/pubblicate
Queste due API possono ottenere le configurazioni di calcolo e le proprietà di calcolo Spark dell'ambiente. Gli endpoint rimangono invariati per l'invio di richieste, mentre le configurazioni verranno restituite con una struttura diversa. Le proprietà di Spark verranno modificate in un elenco.
Interfacce
Ottenere le impostazioni Spark di staging
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/environments/{environmentId}/staging/sparkcompute
Ottenere le impostazioni di Spark pubblicate
GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/environments/{environmentId}/sparkcompute
Risposta di esempio originale
{ "instancePool": { "name": "MyWorkspacePool", "type": "Workspace", "id": "78942136-106c-4f3e-80fc-7ff4eae11603" }, "driverCores": 4, "driverMemory": "56g", "executorCores": 4, "executorMemory": "56g", "dynamicExecutorAllocation": { "enabled": false, "minExecutors": 1, "maxExecutors": 1 }, "sparkProperties": { "spark.acls.enable": "false" }, "runtimeVersion": "1.2" }
Nuova risposta di esempio
{ "instancePool": { "name": "MyWorkspacePool", "type": "Workspace", "id": "78942136-106c-4f3e-80fc-7ff4eae11603" }, "driverCores": "4", "driverMemory": "56G", "executorCores": "4", "executorMemory": "56G", "dynamicExecutorAllocation": { "enabled": false, "minExecutors": 1, "maxExecutors": 1 }, "sparkProperties": [ { "key": "spark.acls.enable", "value": "false" } ], "runtimeVersion": "1.2" }
Aggiornare le impostazioni di Spark
Questa API è destinata all'aggiornamento del calcolo e delle proprietà Spark di un ambiente, il contratto della proprietà Spark nella richiesta e nella risposta verrà aggiornato una volta che la versione verrà rilasciata.
Richiesta di esempio originale
PATCH https://api.fabric.microsoft.com/v1/workspaces/f089354e-8366-4e18-aea3-4cb4a3a50b48/environments/707cfd07-cbf1-41da-aad7-dd157ddb8c11/staging/sparkcompute { "instancePool": { "name": "MyWorkspacePool", "type": "Workspace" }, "driverCores": 4, "driverMemory": "56g", "executorCores": 4, "executorMemory": "56g", "dynamicExecutorAllocation": { "enabled": false, "minExecutors": 1, "maxExecutors": 1 }, "sparkProperties": { "spark.acls.enable": "false", "spark.admin.acls": null }, "runtimeVersion": "1.2" }
Nuova richiesta di esempio
PATCH https://api.fabric.microsoft.com/v1/workspaces/f089354e-8366-4e18-aea3-4cb4a3a50b48/environments/707cfd07-cbf1-41da-aad7-dd157ddb8c11/staging/sparkcompute { "instancePool": { "name": "MyWorkspacePool", "type": "Workspace" }, "driverCores": "4", "driverMemory": "56G", "executorCores": "4", "executorMemory": "56G", "dynamicExecutorAllocation": { "enabled": false, "minExecutors": 1, "maxExecutors": 1 }, "sparkProperties": [ { "key": "spark.acls.enable", "value": "false" }, { "key": "spark.admin.acls", "value": null } ], "runtimeVersion": "1.2" }
Risposta di esempio originale
{ "instancePool": { "name": "MyWorkspacePool", "type": "Workspace", "id": "78942136-106c-4f3e-80fc-7ff4eae11603" }, "driverCores": 4, "driverMemory": "56g", "executorCores": 4, "executorMemory": "56g", "dynamicExecutorAllocation": { "enabled": false, "minExecutors": 1, "maxExecutors": 1 }, "sparkProperties": { "spark.acls.enable": "false" }, "runtimeVersion": "1.2" }
Nuova risposta di esempio
{ "instancePool": { "name": "MyWorkspacePool", "type": "Workspace", "id": "78942136-106c-4f3e-80fc-7ff4eae11603" }, "driverCores": "4", "driverMemory": "56G", "executorCores": "4", "executorMemory": "56G", "dynamicExecutorAllocation": { "enabled": false, "minExecutors": 1, "maxExecutors": 1 }, "sparkProperties": [ { "key": "spark.acls.enable", "value": "false" } ], "runtimeVersion": "1.2" }
Casi d'uso dell'API pubblica dell'ambiente
Importante
Le nuove API e le modifiche del contratto non sono incluse in questa sezione.
Questa sezione illustra come usare le API attualmente disponibili per raggiungere obiettivi specifici. È possibile sostituire {WORKSPACE_ID}
e {ARTIFACT_ID}
negli esempi seguenti con valori appropriati.
Creazione di un nuovo ambiente
È possibile creare un nuovo ambiente vuoto usando l'API seguente.
Esempio di richiesta
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments { "displayName": "Environment_1", "description": "An environment description" }
Gestire le librerie di gestione temporanea
È possibile usare l'opzione Carica/Elimina le API delle librerie di gestione temporanea per gestire la sezione delle librerie nell'ambiente
Controllare le librerie pubblicate per l'ambiente
Prima di aggiungere/eliminare la libreria, è possibile usare l'API Ottieni librerie pubblicate per verificare quali librerie sono attualmente valide.
Esempio di richiesta
GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/libraries
Risposta di esempio
{ "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" }
Caricamento delle librerie
L'API per il caricamento della libreria di staging accetta un file alla volta. I tipi di file supportati sono .whl, .jar, .tar.gz, .py e environment.yml per la libreria pubblica. È possibile specificare il file tramite il tipo di contenuto multiparte/dati di modulo.
Nota
- Per gestire la libreria pubblica in modo più efficiente, si consiglia vivamente di comporre tutte le librerie previste da PyPI e conda in un file environment.yml .
- L'API di caricamento consente fino a 200 MB di file in una richiesta, la libreria che supera questo limite di dimensioni non è attualmente supportata nell'API pubblica.
Richieste di esempio
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/libraries
Eliminazione delle librerie
Specificando il nome completo del file di libreria con il suffisso di tipo, è possibile eliminare una libreria alla volta.
Nota
- Se si specifica
environment.yml
come file da eliminare, verranno rimosse tutte le librerie pubbliche. - Se si desidera rimuovere un sottoinsieme di librerie pubbliche esistente, usare invece l'opzione Carica libreria e caricare un file environment.yml che contiene solo le librerie previste. Il file environment.yml caricato sostituisce completamente la sezione della libreria pubblica esistente.
Richieste di esempio
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
Gestire l'ambiente di staging per il calcolo Spark
È possibile usare il calcolo Spark di gestione temporanea degli aggiornamenti per gestire il calcolo Spark.
Verificare il calcolo Spark pubblicato per l'ambiente
Prima di modificare le configurazioni per l'ambiente, è possibile usare l'API di calcolo Spark pubblicata per verificare quali configurazioni di calcolo Spark sono attualmente efficaci.
Esempio di richiesta
GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/sparkcompute
Risposta di esempio
{ "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" }
Aggiornare le configurazioni di calcolo
È possibile aggiornare il runtime di Spark, passare a un altro pool, perfezionare la configurazione di calcolo e aggiungere/rimuovere proprietà Spark modificando il corpo della richiesta di questa API.
È possibile cambiare il pool collegato specificando sia il nome del pool che il pool stesso. Specificare il nome del pool come Starter Pool
per far tornare il pool alle impostazioni predefinite. Per ottenere l'elenco completo dei pool personalizzati disponibili dell'area di lavoro in base all'API REST, vedere Pool personalizzati – Elencare pool personalizzati dell'area di lavoro
Se si vuole rimuovere una proprietà Spark esistente, è necessario specificare il valore come null
con la chiave da rimuovere, come illustrato nell'esempio seguente.
Esempio di richiesta
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" }
Rendere effettive le modifiche
Usare i seguenti insiemi di API per pubblicare le modifiche.
Prepararsi per una pubblicazione
L'ambiente può accettare una pubblicazione alla volta. Prima di pubblicare l'ambiente, è possibile convalidare lo stato dell'ambiente e avere una revisione finale delle modifiche di gestione temporanea. Dopo la pubblicazione riuscita dell'ambiente, tutte le configurazioni nello stato di gestione temporanea diventano effettive.
Passaggio 1: Ottenere i metadati dell'ambiente
GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/
Nel corpo della risposta, è possibile indicare chiaramente lo stato dell'ambiente. Assicurarsi che non ci sia una pubblicazione in corso prima di passare al passaggio successivo.
Passaggio 2: Ottenere le librerie di messa in scena/calcolo Spark per una revisione finale
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
Attivare la pubblicazione dell'ambiente
Le modifiche apportate alle librerie di staging e al calcolo Spark sono memorizzate nella cache, ma necessitano di essere pubblicate per diventare effettive. Seguire l'esempio riportato sotto per attivare la pubblicazione.
Esempio di richiesta
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/publish
Risposta di esempio
{ "publishDetails": { "state": "Running", "targetVersion": "46838a80-5450-4414-bea0-40fb6f3e0c0d", "startTime": "2024-03-29T14:17:09.0697022Z", "componentPublishInfo": { "sparkLibraries": { "state": "Running" }, "sparkSettings": { "state": "Running" } } } }
Durante la pubblicazione, è anche possibile chiamare l'API seguente per annullarla.
Esempio di richiesta
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/cancelPublish