C'è un modo per accedere a dati quali Repo url e il nome della Filiale all'interno di un notebook all'interno di una Repo? Forse qualcosa in dbutils.
1
È possibile utilizzare Repos API, che - in particolare il comando Get. È possibile estrarre notebook percorso dal notebook contesto disponibile via dbutils, e poi fare due query:
- Ottenere repo ID percorso via area di Lavoro di API (repo percorso è sempre costituito da 3 componenti -
/Repos
directory (per utente o personalizzato), e l'effettivo nome repository) - Recuperare dati repo
Qualcosa di simile a questo:
import json
import requests
ctx = json.loads(
dbutils.notebook.entry_point.getDbutils().notebook().getContext().toJson())
notebook_path = ctx['extraContext']['notebook_path']
repo_path = '/'.join(notebook_path.split('/')[:4])
api_url = ctx['extraContext']['api_url']
api_token = ctx['extraContext']['api_token']
repo_dir_data = requests.get(f"{api_url}/api/2.0/workspace/get-status",
headers = {"Authorization": f"Bearer {api_token}"},
json={"path": repo_path}).json()
repo_id = repo_dir_data['object_id']
repo_data = requests.get(f"{api_url}/api/2.0/repos/{repo_id}",
headers = {"Authorization": f"Bearer {api_token}"}
).json()
Stavo pensando a questo approccio anche perché ho già lavorato con Repos API, ma speravo che ci sarebbe un modo più semplice. Comunque grazie, farò sicuramente uso.
Stanislav Žoldak
posso chiedere a voi, perché avete bisogno di questo? Qualcosa di simile, il codice di tracciamento che è stato utilizzato per costruire il modello? Forse siamo in grado di costruire in modo più semplice?
Alex Ott
Qualcuno nel mio team ha chiesto se questo potrebbe essere fatto, così ho iniziato a guardare, perché non era interessato a me. Mi chiedo su di esso, lunedì.
Stanislav Žoldak