@Ruben桑切斯:
是的,你可以通過自定義參數δ生活表管道從Azure當調用數據工廠使用REST API。實現這一目標的一個方法是通過添加自定義參數的身體一個JSON對象的API調用。然後您可以檢索這些自定義參數動態地從正在運行的筆記本連接到管道。
這裏是一個例子如何傳遞自定義參數δ生活表管道使用REST API:
{“fullRefresh”:真的,“customParameter1”:“value1”、“customParameter2”:“value2”}
2)δ住表中管道、檢索自定義參數的身體使用dbutils.widgets API調用。get方法。該方法檢索一個小部件參數的值傳遞到筆記本,在這種情況下是自定義參數對象。
進口json #檢索筆記本小部件的自定義參數custom_params_json = dbutils.widgets.get (“custom_params”) custom_params = json.loads (custom_params_json) #檢索自定義參數的值custom_parameter1 = custom_params.get (“customParameter1”) custom_parameter2 = custom_params.get (customParameter2) #在管道中使用自定義參數邏輯……
在這個例子中,我們首先從筆記本中檢索對象的自定義參數使用的小部件
dbutils.widgets。get方法。然後我們將JSON字符串解析成一個Python字典使用
json。加載方法。最後,我們檢索自定義參數的值使用字典上的get方法,並使用它們在我們管道的邏輯。
注意,自定義參數鍵應該是獨一無二的,而不是衝突與任何保留關鍵字使用的三角洲生活表管道,如“fullRefresh”在上麵的例子中。
我希望這可以幫助!讓我知道如果你有任何進一步的問題。
Suteja
非常感謝你的回應
對不起,我隻有現在能測試解決方案。
我試著我的三角洲住表中提供的代碼的筆記本但有一個錯誤
代碼:
進口dlt
從pyspark.sql。功能導入*
從pyspark.sql。導入類型*
從datetime進口datetime
進口json
custom_params_json = dbutils.widgets.get (“custom_params”)
custom_params = json.loads (custom_params_json)
runid = custom_params.get (“ADFrunid”)
錯誤:
Py4JJavaError:調用o374.getArgument時發生一個錯誤。:com.databricks.dbutils_v1。小部件定義命名custom_params InputWidgetNotDefined:不輸入
如果我添加小部件聲明代碼運行沒有錯誤:
dbutils.widgets。文本(custom_params“”、“”{“ADFrunid”:“沒有一個”}" " ")
但筆記本並不通過價值,隻有解決了默認值
這是調用的代碼從Azure數據工廠API(一些鍵值抑製由於安全原因)
{
“方法”:“文章”,
"標題":{
“授權”:“不記名XXXXXXX”
},
“身體”:“{\ n \“fullRefresh \”:假的,\ n \“ADFrunid \”: \“6 b0a0e74 - 0 - f99 - 463 c - 9 ff0 - 74 fc17ea8958 \“\ n}”
}
再次感謝你的幫助
魯本桑切斯