Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Käytä notebookutils.notebook muistikirjojen ohjelmien hallintaan Microsoft Fabricissa. Voit luoda, hakea, päivittää, poistaa ja listata muistikirjan artefakteja automatisoidaksesi käyttöönoton, elinkaaren hallinnan ja CI/CD-työnkulkujen.
Muistio
Nämä API:t ovat tuettuja vain Fabric-muistikirjoissa, eivät Azure Synapsessa. Sinulla täytyy olla asianmukaiset käyttöoikeudet kohdetyötilassa jokaiselle operaatiolle.
Seuraava taulukko listaa saatavilla olevat muistikirjan hallintamenetelmät:
| Menetelmä | Allekirjoitus | Description |
|---|---|---|
create |
create(name, description, content, defaultLakehouse, defaultLakehouseWorkspace, workspaceId): Artifact |
Luo uuden muistikirjan. |
get |
get(name, workspaceId): Artifact |
Hakee muistikirjan nimen tai tunnisteen perusteella. |
getDefinition |
getDefinition(name, workspaceId, format): String |
Hae muistikirjan määritelmän (sisällön). |
update |
update(name, newName, description, workspaceId): Artifact |
Päivitetään muistikirjan metatietoja. |
updateDefinition |
updateDefinition(name, content, defaultLakehouse, defaultLakehouseWorkspace, workspaceId, environmentId, environmentWorkspaceId): bool |
Päivitti muistikirjan määritelmän ja järvenrakennuksen. |
delete |
delete(name, workspaceId): Boolean |
Poistaa muistikirjan. |
list |
list(workspaceId, maxResults): Array[Artifact] |
Listaa kaikki muistikirjat työtilassa. |
Muistikirjan luominen
Käytä notebookutils.notebook.create() uuden muistikirjan artefaktin luomiseen nykyisessä työtilassa tai määritellyssä työtilassa.
Muistio
Tämän artikkelin työnkulkuesimerkit, joissa lukevat tai .ipynb kirjoitetaan tiedostoja, käytetään Pythonia tiedostojen I/O:hun. Ydinrajapinnat notebookutils.notebook ovat saatavilla Pythonissa, PySparkissa, Scalassa ja R:ssä, ellei toisin mainita.
Parametrit
| Parametri | Tyyppi | Pakollinen | Description |
|---|---|---|---|
name |
merkkijono | Kyllä | Uuden muistikirjan näyttönimi. Sen täytyy olla ainutlaatuinen työtilassa. |
description |
merkkijono | Ei | Muistikirjan kuvaus. Oletuksena tyhjä. |
content |
Merkkijono, tavut tai sanetti | Kyllä | Muistikirjan sisältö kelvollisessa .ipynb JSON-muodossa. Voi olla myös raakatavuja tai dikt-objektia.
Ei voi olla tyhjä. |
defaultLakehouse |
merkkijono | Ei | Nimi tai tunnus oletusjärvirakennuksesta, johon liitetään. |
defaultLakehouseWorkspace |
merkkijono | Ei | Oletusjärvirakennuksen työtilan tunnus. Jätä tyhjäksi nykyiseen työtilaan. |
workspaceId |
merkkijono | Ei | Kohdetyötilan tunnus. Jätä tyhjäksi nykyiseen työtilaan. |
Tärkeää
Parametri content ei voi olla tyhjä. Sinun täytyy toimittaa kelvollinen .ipynb sisältö muistikirjaa luodessasi. Vähintäänkin tarjoa voimassa oleva tyhjä muistikirjarakenne:
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}
Luo muistikirja mallipohjasta
# Read notebook template from a file
with open("/path/to/template.ipynb", "r") as f:
notebook_content = f.read()
# Create the notebook
notebook = notebookutils.notebook.create(
name="ProcessingNotebook",
description="Data processing notebook from template",
content=notebook_content
)
print(f"Created notebook: {notebook.displayName} (ID: {notebook.id})")
Luo muistikirja, jossa on oletusjärvitalo
# Minimum valid notebook content - content cannot be empty
minimal_content = '''{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}'''
# Create notebook with default lakehouse configuration
notebook = notebookutils.notebook.create(
name="DataAnalysis",
description="Analysis notebook with lakehouse access",
content=minimal_content,
defaultLakehouse="MyLakehouse",
defaultLakehouseWorkspace="" # Current workspace
)
print(f"Created notebook with lakehouse: {notebook.displayName}")
Palautusarvo
Metodi create() palauttaa Artifact objektin, jolla on seuraavat ominaisuudet:
-
displayName: Muistikirjan näyttönimi. -
id: Luodun muistikirjan yksilöllinen tunniste. -
description: Muistikirjan kuvaus.
Luo muistikirja toisessa työtilassa
with open("/path/to/notebook.ipynb", "r") as f:
content = f.read()
notebook = notebookutils.notebook.create(
name="SharedNotebook",
description="Notebook for the shared workspace",
content=content,
workspaceId="bbbbbbbb-2222-3333-4444-cccccccccccc"
)
print(f"Created in remote workspace: {notebook.displayName}")
Luo useita muistikirjoja mallipohjasta
# Load template content (must be valid .ipynb)
with open("/path/to/template.ipynb", "r") as f:
template_content = f.read()
regions = ["US", "EU", "Asia"]
created_notebooks = []
for region in regions:
notebook = notebookutils.notebook.create(
name=f"Process_{region}",
description=f"Processing notebook for {region} region",
content=template_content,
defaultLakehouse=f"Lakehouse_{region}"
)
created_notebooks.append(notebook)
print(f"Created: {notebook.displayName}")
print(f"\nCreated {len(created_notebooks)} notebooks")
Vinkki
Anna merkityksellisiä nimiä ja kuvauksia muistikirjoillesi, jotta ne ovat helpompi löytää. Käytä johdonmukaista nimeämiskäytäntöä, kuten <Project>_<Purpose>_<Region> automaattisissa käyttöönotossa.
Hanki muistikirja
Käytä notebookutils.notebook.get() muistikirjan metatietojen hakemiseen nimen tai tunnisteen perusteella. Se palauttaa objektin Artifact , jolla on ominaisuuksia kuten displayName, id, ja description.
Parametrit
| Parametri | Tyyppi | Pakollinen | Description |
|---|---|---|---|
name |
merkkijono | Kyllä | Nimi tai tunniste muistikirjasta, jonka haettavaksi. |
workspaceId |
merkkijono | Ei | Työtilan tunnus. Jätä tyhjäksi nykyiseen työtilaan. |
Hanki muistikirja nykyisestä työtilasta
notebook = notebookutils.notebook.get("MyNotebook")
print(f"Notebook Name: {notebook.displayName}")
print(f"Notebook ID: {notebook.id}")
print(f"Description: {notebook.description}")
Hanki muistikirja toisesta työpisteestä
workspace_id = "bbbbbbbb-2222-3333-4444-cccccccccccc"
notebook = notebookutils.notebook.get("SharedNotebook", workspaceId=workspace_id)
print(f"Retrieved: {notebook.displayName} from workspace {workspace_id}")
Palautusarvo
Metodi get() palauttaa Artifact objektin, jolla on seuraavat ominaisuudet:
-
displayName: Muistikirjan näyttönimi. -
id: Yksilöllinen tunniste. -
description: Muistikirjan kuvaus.
Vinkki
Käytä get() ennen päivitys- tai poistotoimintoja varmistaaksesi, että kohdemuistikirja on olemassa. Voit myös käyttää sitä tarkistamaan, onko muistikirjan nimi jo käytössä ennen uuden nimen luomista.
Hanki muistikirjan määritelmä
Käytä notebookutils.notebook.getDefinition() koko muistikirjan sisällön hakemiseen muodossa .ipynb . Käytä sitä varmuuskopiointiin, migraatioon, versionhallintaan tai sisällön analysointiin.
Parametrit
| Parametri | Tyyppi | Pakollinen | Description |
|---|---|---|---|
name |
merkkijono | Kyllä | Muistikirjan nimi tai tunnus. |
workspaceId |
merkkijono | Ei | Työtilan tunnus. Jätä tyhjäksi nykyiseen työtilaan. |
format |
merkkijono | Ei | Tulostusmuoto. Oletusarvo on "ipynb". |
Hae ja tallenna muistikirjan määritelmä
# Retrieve notebook definition as .ipynb content
notebook_content = notebookutils.notebook.getDefinition("MyNotebook")
# Save to a file for backup
with open("/path/to/backup/MyNotebook.ipynb", "w") as f:
f.write(notebook_content)
print("Notebook definition retrieved and saved")
Hanki muistikirjan määritelmä toisesta työtilasta
workspace_id = "cccccccc-3333-4444-5555-dddddddddddd"
notebook_content = notebookutils.notebook.getDefinition(
name="SharedNotebook",
workspaceId=workspace_id,
format="ipynb"
)
print(f"Retrieved definition from workspace {workspace_id}")
Palautusarvo
Metodi getDefinition() palauttaa merkkijonon, joka sisältää muistikirjan sisällön JSON-muodossa .ipynb .
Vie kaikki muistikirjat varmuuskopiointia varten
import os
from datetime import datetime
def export_all_notebooks(backup_dir="/path/to/backups"):
"""Export all notebooks in the workspace for backup."""
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
export_dir = f"{backup_dir}/backup_{timestamp}"
os.makedirs(export_dir, exist_ok=True)
notebooks = notebookutils.notebook.list()
print(f"Exporting {len(notebooks)} notebooks to {export_dir}")
exported_count = 0
for nb in notebooks:
try:
content = notebookutils.notebook.getDefinition(nb.displayName)
filename = f"{export_dir}/{nb.displayName}.ipynb"
with open(filename, "w") as f:
f.write(content)
exported_count += 1
print(f"Exported: {nb.displayName}")
except Exception as e:
print(f"Failed to export {nb.displayName}: {e}")
print(f"\nExported {exported_count} of {len(notebooks)} notebooks")
return export_dir
backup_location = export_all_notebooks()
Päivitä muistikirja
Käytetään notebookutils.notebook.update() muistikirjan metatietojen, kuten näyttönimen ja kuvauksen, muuttamiseen. Se ei muokkaa muistikirjan sisältöä tai lakehousen asetuksia.
Parametrit
| Parametri | Tyyppi | Pakollinen | Description |
|---|---|---|---|
name |
merkkijono | Kyllä | Muistikirjan nykyinen nimi tai tunnus. |
newName |
merkkijono | Kyllä | Uusi näyttönimi muistikirjalle. |
description |
merkkijono | Ei | Päivitetty kuvaus. |
workspaceId |
merkkijono | Ei | Työtilan tunnus. Jätä tyhjäksi nykyiseen työtilaan. |
Nimeä muistikirja uudelleen
updated_notebook = notebookutils.notebook.update(
name="OldNotebookName",
newName="NewNotebookName",
description="Updated description with more details"
)
print(f"Updated notebook: {updated_notebook.displayName}")
Palautusarvo
Metodi update() palauttaa Artifact objektin, jolla on päivitetyt ominaisuudet.
Päivitä muistikirjan määritelmä
Käytä notebookutils.notebook.updateDefinition() muistikirjan sisällön, oletusjärvimajan tai molempien muokkaamiseen. Käytä sitä, kun sinun täytyy muuttaa muistikirjan määritelmää sen metatietojen sijaan.
Parametrit
| Parametri | Tyyppi | Pakollinen | Description |
|---|---|---|---|
name |
merkkijono | Kyllä | Muistikirjan nimi tai ID päivitettäväksi. |
content |
merkkijono | Ei | Uutta muistikirjan sisältöä muodossa .ipynb . |
defaultLakehouse |
merkkijono | Ei | Uusi oletusjärvitalonimi. |
defaultLakehouseWorkspace |
merkkijono | Ei | Uuden oletusjärvirakennuksen työtilan tunnus. Jätä tyhjäksi nykyiseen työtilaan. |
workspaceId |
merkkijono | Ei | Työtilan tunnus. Jätä tyhjäksi nykyiseen työtilaan. |
environmentId |
merkkijono | Ei | Ympäristötunnus liitettäväksi muistikirjaan. |
environmentWorkspaceId |
merkkijono | Ei | Ympäristön työtilan tunnus. Jätä tyhjäksi nykyiseen työtilaan. |
Muistio
Parametrit environmentId ja environmentWorkspaceId ovat saatavilla vain Spark-muistikirjan ajonaikaisuudessa. Python-muistikirjat eivät tue näitä parametreja.
Päivitä muistikirjan sisältöä
# Load new content
with open("/path/to/updated_notebook.ipynb", "r") as f:
new_content = f.read()
is_updated = notebookutils.notebook.updateDefinition(
name="MyNotebook",
content=new_content
)
print(f"Notebook definition updated: {is_updated}")
Vaihda oletusjärvitalo
is_updated = notebookutils.notebook.updateDefinition(
name="MyNotebook",
defaultLakehouse="NewLakehouse",
defaultLakehouseWorkspace="" # Current workspace
)
print(f"Default lakehouse updated: {is_updated}")
Päivitä sekä sisältö että järvitalo
with open("/path/to/new_version.ipynb", "r") as f:
new_content = f.read()
is_updated = notebookutils.notebook.updateDefinition(
name="MyNotebook",
content=new_content,
defaultLakehouse="ProductionLakehouse",
defaultLakehouseWorkspace=""
)
print(f"Notebook fully updated: {is_updated}")
Palautusarvo
Menetelmä updateDefinition() palautuu True , jos päivitys onnistuu tai False epäonnistuu.
Vinkki
Käyttö update() metatietojen muutoksissa (nimi, kuvaus) sekä updateDefinition() sisällön ja järvenrakennuksen muutoksissa. Kun tarvitset täydellisen päivityksen sekä metatiedoista että sisällöstä, kutsu molemmat metodit peräkkäin.
Poista muistikirja
Käytä notebookutils.notebook.delete() muistikirjan pysyvään poistamiseen työtilasta. Se palautuu True , jos poisto onnistuu; muuten se palauttaa False.
Parametrit
| Parametri | Tyyppi | Pakollinen | Description |
|---|---|---|---|
name |
merkkijono | Kyllä | Muistikirjan nimi tai tunnus poistettavaksi. |
workspaceId |
merkkijono | Ei | Työtilan tunnus. Jätä tyhjäksi nykyiseen työtilaan. |
Tärkeää
Poisto on pysyvää. Poistettuja muistikirjoja ei voi palauttaa. Tarkista aina muistikirjan nimi ennen poistamista, ja harkitse muistikirjan määritelmän varmuuskopiointia ensin getDefinition() -merkinnällä.
Palautusarvo
Metodi delete() palautuu True , jos poisto onnistuu tai False epäonnistuu.
Poista muistikirja
is_deleted = notebookutils.notebook.delete("ObsoleteNotebook")
if is_deleted:
print("Notebook deleted successfully")
else:
print("Failed to delete notebook")
Siivoa muistikirjat turvallisesti kaavan mukaan
def cleanup_notebooks(name_pattern, dry_run=True):
"""Delete notebooks matching a name pattern."""
notebooks = notebookutils.notebook.list()
to_delete = [nb for nb in notebooks if name_pattern in nb.displayName]
print(f"Found {len(to_delete)} notebooks matching '{name_pattern}':")
for nb in to_delete:
print(f" - {nb.displayName}")
if dry_run:
print("\nDRY RUN - No notebooks deleted")
return
deleted_count = 0
for nb in to_delete:
if notebookutils.notebook.delete(nb.displayName):
deleted_count += 1
print(f"Deleted: {nb.displayName}")
else:
print(f"Failed to delete: {nb.displayName}")
print(f"\nDeleted {deleted_count} of {len(to_delete)} notebooks")
# Always run with dry_run=True first to preview
cleanup_notebooks("temp_", dry_run=True)
Vinkki
Turvallista massapoistoa varten suorita aina first-ohjelmalla dry_run=True esikatselleksesi, mitkä muistikirjat poistetaan. Harkitse muistikirjojen nimeämistä etuliitteellä _TO_DELETE sen sijaan, että poistaisit ne heti, jotta voit tarvittaessa palauttaa ne.
Listamuistikirjat
Käytä notebookutils.notebook.list() muistikirjojen listaamiseen työtilassa. Se palauttaa joukon objekteja Artifact .
Parametrit
| Parametri | Tyyppi | Pakollinen | Description |
|---|---|---|---|
workspaceId |
merkkijono | Ei | Työtilan tunnus. Jätä tyhjäksi nykyiseen työtilaan. |
maxResults |
Int | Ei | Maksimimäärä palautettavia tuloksia. Oletuksena 1000. |
Listaa kaikki muistikirjat nykyisessä työtilassa
notebooks = notebookutils.notebook.list()
print(f"Found {len(notebooks)} notebooks:")
for nb in notebooks:
print(f" - {nb.displayName} (ID: {nb.id})")
Listaa muistikirjat toisessa työtilassa
workspace_id = "cccccccc-3333-4444-5555-dddddddddddd"
notebooks = notebookutils.notebook.list(workspaceId=workspace_id)
print(f"Found {len(notebooks)} notebooks in workspace {workspace_id}")
Palautusarvo
Metodi list() palauttaa taulukon objekteja Artifact . Jokainen objekti sisältää displayName, id, ja description ominaisuuksia.
Suodata muistikirjoja nimikuvion mukaan
all_notebooks = notebookutils.notebook.list()
# Filter for notebooks that start with a specific prefix
processing_notebooks = [nb for nb in all_notebooks if nb.displayName.startswith("Process_")]
print(f"Found {len(processing_notebooks)} processing notebooks:")
for nb in processing_notebooks:
print(f" - {nb.displayName}")
Kloonaa muistikirja
Käytä list() ja getDefinition() yhdessä kloonataksesi muistikirjan samassa työtilassa tai toiseen työtilaan.
def clone_notebook(source_name, target_name, target_workspace=""):
"""Clone a notebook by retrieving its content and creating a copy."""
source = notebookutils.notebook.get(source_name)
content = notebookutils.notebook.getDefinition(source_name)
cloned = notebookutils.notebook.create(
name=target_name,
description=f"Clone of {source_name}",
content=content,
workspaceId=target_workspace
)
print(f"Cloned {source_name} to {cloned.displayName}")
return cloned
cloned_notebook = clone_notebook("TemplateNotebook", "NewInstance")
Siirrä muistikirja toiseen työtilaan
def migrate_notebook(name, target_workspace_id, new_name=None):
"""Migrate a notebook from the current workspace to another workspace."""
content = notebookutils.notebook.getDefinition(name)
target_name = new_name if new_name else name
migrated = notebookutils.notebook.create(
name=target_name,
description=f"Migrated from {name}",
content=content,
workspaceId=target_workspace_id
)
print(f"Migrated {name} to workspace {target_workspace_id} as {target_name}")
return migrated
target_ws = "dddddddd-4444-5555-6666-eeeeeeeeeeee"
migrated_nb = migrate_notebook("DataPipeline", target_ws, "DataPipeline_v2")