Aanroepen ander notebook en parameters doorgeven

Simpele aanroep doorgeven parameters dmv widgets

definieer eerst in het Callee noteboek de widgets en de default values.

Callee notebook

dbutils.widgets.text("excel","a.xls")
dbutils.widgets.text("tabel","tabelA")

pExcel=dbutils.widgets.get("excel")
pTabel=dbutils.widgets.get("tabel")

dbutils.notebook.exit(pExcel+ "____" + pTabel)


Roep de callee aan met dict values als input parameters

Caller Notebook

dbutils.notebook.run("/Users/j.wagener@amsterdam.nl/callee",60,{"excel":"opa.xls","tabel":"dimclient"})

kan ook als volgt 

myParams={"wExcelFile":"/Volumes/sandbox/jwtest/jwvolume/rittenbak_test_anon.xlsx","wSHEET_NAME":"Per Dagplanningritopdracht","wTargetTable":"sandbox.jw_bronze.llv_route","wDeleteTargetTables":"True"}
dbutils.notebook.run("/Users/j.wagener@amsterdam.nl/IngestExcel_v1_param",60,myParams)

uitkomsten teruggeven aan het aanroepende workbook gaat als volgt

Callee notebook op het eind

import json
dbutils.notebook.exit(json.dumps({
  "status": "OK",
  "table": "my_data"
}))

Caller Notebook leest dit uit als volgt


resultlist=dbutils.notebook.run("/Users/j.wagener@amsterdam.nl/callee",60,{"excel":"opa.xls","tabel":"dimclient"})

import json
print(json.loads(resultlist))
json.loads(resultlist)["status"]
json.loads(resultlist)["table"]




Reacties