Administrere og kjøre notatblokker i Fabric med API-er
Rest-API-en for Microsoft Fabric tilbyr et tjenesteendepunkt for opprettings-, lese-, oppdaterings- og sletteoperasjoner (CRUD) for et stoffelement. Denne artikkelen beskriver de tilgjengelige REST-API-ene for notatblokken og bruken deres.
Viktig
Denne funksjonen er i forhåndsvisning.
Merk
Tjenestekontohavergodkjenning er tilgjengelig for CRUD-API for notatblokk. Det støttes ikke for kjøring av notatblokk-API for øyeblikket.
Med API-ene for notatblokken kan dataingeniører og dataforskere automatisere sine egne datasamlebånd og enkelt og effektivt etablere CI/CD. Disse API-ene gjør det også enkelt for brukere å administrere og manipulere Fabric-notatblokkelementer, og integrere notatblokker med andre verktøy og systemer.
Disse handlingene for elementbehandling er tilgjengelige for notatblokker:
Handling | Bekrivelse |
---|---|
Opprett element | Oppretter en notatblokk i et arbeidsområde. |
Oppdater element | Oppdaterer metadataene for en notatblokk. |
Oppdater elementdefinisjon | Oppdaterer innholdet i en notatblokk. |
Slett element | Sletter en notatblokk. |
Hent element | Henter metadataene til en notatblokk. |
Hent elementdefinisjon | Henter innholdet i en notatblokk. |
Listeelement | Vis alle elementer i et arbeidsområde. |
Hvis du vil ha mer informasjon, kan du se Elementer – REST-API.
Følgende handlinger for jobbplanlegging er tilgjengelige for notatblokker:
Handling | Bekrivelse |
---|---|
Kjør ved behov elementjobb | Kjør notatblokk med parameterisering. |
Avbryt elementjobbforekomst | Avbryt kjøring av notatblokkjobb. |
Hent forekomst av elementjobb | Få status for kjøring av notatblokk. |
Hvis du vil ha mer informasjon, kan du se Jobbplanlegging.
Eksempler på REST-API for notatblokk
Bruk følgende instruksjoner til å teste brukseksempler for bestemte offentlige API-er for notatblokken, og bekreft resultatene.
Merk
Disse scenariene dekker bare unike brukseksempler for notatblokker. Vanlige API-eksempler på stoffelementer dekkes ikke her.
Forutsetning
Fabric Rest API definerer et enhetlig endepunkt for operasjoner. Erstatt plassholderne {WORKSPACE_ID}
og {ARTIFACT_ID}
med riktige verdier når du følger eksemplene i denne artikkelen.
Opprette en notatblokk med en definisjon
Opprett et notatblokkelement med en eksisterende IPYNB-fil og en annen type kildefiler.
Be om
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/items
{
"displayName":"Notebook1",
"type":"Notebook",
"definition" : {
"format": "ipynb", // Use "fabricGitSource" for source file format.
"parts": [
{
"path": "notebook-content.ipynb", // fabric source file format, .py, .scala, .sql files are supported.
"payload": "eyJuYmZvcm1hdCI6NCwibmJmb3JtYXRfbWlub3IiOjUsImNlbGxzIjpbeyJjZWxsX3R5cGUiOiJjb2RlIiwic291cmNlIjpbIiMgV2VsY29tZSB0byB5b3VyIG5ldyBub3RlYm9va1xuIyBUeXBlIGhlcmUgaW4gdGhlIGNlbGwgZWRpdG9yIHRvIGFkZCBjb2RlIVxuIl0sImV4ZWN1dGlvbl9jb3VudCI6bnVsbCwib3V0cHV0cyI6W10sIm1ldGFkYXRhIjp7fX1dLCJtZXRhZGF0YSI6eyJsYW5ndWFnZV9pbmZvIjp7Im5hbWUiOiJweXRob24ifX19",
"payloadType": "InlineBase64"
}
]
}
}
Nyttelasten i forespørselen er en base64-streng konvertert fra følgende eksempelnotatblokk.
{
"nbformat": 4,
"nbformat_minor": 5,
"cells": [
{
"cell_type": "code",
"source": [
"# Welcome to your new notebook\n# Type here in the cell editor to add code!\n"
],
"execution_count": null,
"outputs": [],
"metadata": {}
}
],
"metadata": {
"language_info": {
"name": "python"
},
"dependencies": {
"environment": {
"environmentId": "6524967a-18dc-44ae-86d1-0ec903e7ca05",
"workspaceId": "c31eddd2-26e6-4aa3-9abb-c223d3017004"
},
"lakehouse": {
"default_lakehouse": "5b7cb89a-81fa-4d8f-87c9-3c5b30083bee",
"default_lakehouse_name": "lakehouse_name",
"default_lakehouse_workspace_id": "c31eddd2-26e6-4aa3-9abb-c223d3017004"
}
}
}
}
Merk
Du kan endre standard lakehouse eller tilknyttet miljø i notatblokken ved å endre notatblokkinnhold metadata.trident.lakehouse
eller metadata.trident.environment
.
Få en notatblokk med en definisjon
Bruk følgende API for å hente notatblokkinnholdet. Fabric støtter at du angir formatet som .ipynb i spørringsstrengen for å få en .ipynb-notatblokk.
Be om
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/items/{{ARTIFACT_ID}}/GetDefinition?format=ipynb
Response
Statuskode: 200
{
"definition": {
"parts": [
{
"path": "notebook-content.ipynb",
"payload": "eyJuYmZvcm1hdCI6NCwibmJmb3JtYXRfbWlub3IiOjUsImNlbGxzIjpbeyJjZWxsX3R5cGUiOiJjb2RlIiwic291cmNlIjpbIiMgV2VsY29tZSB0byB5b3VyIG5ldyBub3RlYm9va1xuIyBUeXBlIGhlcmUgaW4gdGhlIGNlbGwgZWRpdG9yIHRvIGFkZCBjb2RlIVxuIl0sImV4ZWN1dGlvbl9jb3VudCI6bnVsbCwib3V0cHV0cyI6W10sIm1ldGFkYXRhIjp7fX1dLCJtZXRhZGF0YSI6eyJsYW5ndWFnZV9pbmZvIjp7Im5hbWUiOiJweXRob24ifX19",
"payloadType": "InlineBase64"
}
]
}
}
Kjør en notatblokk ved behov
Planlegg at notatblokken skal kjøres med følgende API. Spark-jobben begynner å kjøre etter en vellykket forespørsel.
Stoffet støtter overføring parameters
i forespørselsteksten for å parametere notatblokkkjøringen. Verdiene forbrukes av parametercellen for notatblokken.
Du kan også bruke configuration
til å tilpasse Spark-økten for kjøring av notatblokker. configuration
deler samme kontrakt med kommandoen Spark-øktkonfigurasjonsmagi.
Be om
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/items/{{ARTIFACT_ID}}/jobs/instances?jobType=RunNotebook
{
"executionData": {
"parameters": {
"parameterName": {
"value": "new value",
"type": "string"
}
},
"configuration": {
"conf": {
"spark.conf1": "value"
},
"environment": {
"id": "<environment_id>",
"name": "<environment_name>"
},
"defaultLakehouse": {
"name": "<lakehouse-name>",
"id": "<lakehouse-id>",
"workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>"
},
"useStarterPool": false,
"useWorkspacePool": "<workspace-pool-name>"
}
}
}
Response
Statuskode: 202
Location: https://api.fabric.microsoft.com/v1/workspaces/4b218778-e7a5-4d73-8187-f10824047715/items/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7/jobs/instances/f2d65699-dd22-4889-980c-15226deb0e1b
Retry-After: 60
Med location
kan du bruke Hent elementjobbforekomst til å vise jobbstatus eller bruke Avbryt elementjobbforekomst til å avbryte gjeldende notatblokkkjøring.