IPython Notebook 儀表盤的架構#
注意
這完全複製自舊的 IPython wiki,目前正在開發中。本開發指南的許多資訊已過時。
下表展示了 IPython Notebook 中當前實現的 RESTful Web 服務架構。列出的 URL 使用 HTTP 動詞返回所需資源的表示。
我們正在為 IPython Notebook 建立一個新的儀表盤架構,該架構將允許使用者透過多個目錄檔案來查詢所需的 Notebook。
當前架構#
雜項
HTTP 動詞 |
URL |
操作 |
---|---|---|
|
/.*/ |
去除尾隨斜槓。 |
|
/api |
返回 API 版本資訊。 |
|
/api/notebooks |
已棄用:重定向到 /api/contents |
|
/api/nbconvert |
Notebook 內容 API。
HTTP 動詞 |
URL |
操作 |
---|---|---|
|
/api/contents |
返回基本目錄的模型。請參閱 /api/contents/<path>/<file>。 |
|
/api/contents/ <file> |
返回基本目錄中給定檔案的模型。請參閱 /api/contents/<path>/<file>。 |
|
/api/contents/ <path>/<file> |
返回檔案或目錄的模型。目錄模型包含其包含的檔案和目錄的模型列表(不含內容)。 |
|
/api/contents/ <path>/<file> |
將檔案儲存在由名稱和路徑指定的位置。PUT 與 POST 非常相似,但請求者指定名稱,而 POST 則由伺服器選擇名稱。PUT /api/contents/path/Name.ipynb 將 Notebook 儲存在 |
|
/api/contents/ <path>/<file> |
重新命名 Notebook 而不重新上傳內容。 |
|
/api/contents/ <path>/<file> |
在指定路徑中建立新檔案或目錄。POST 建立新檔案或目錄。伺服器始終決定名稱。POST /api/contents/path 在 path 中建立新的無標題 Notebook。如果指定了 content,則上傳 Notebook;否則,從空開始。POST /api/contents/path,正文為 {“copy_from”:”OtherNotebook.ipynb”} 在 path 中建立 OtherNotebook 的新副本 |
|
/api/contents/ <path>/<file> |
刪除給定路徑中的檔案。 |
|
/api/contents/ <path>/<file> /checkpoints |
獲取檔案的檢查點列表。 |
|
/api/contents/ <path>/<file> /checkpoints |
post 建立新的檢查點。 |
|
/api/contents/ <path>/<file> /checkpoints/ <checkpoint_ id> |
post 從檢查點恢復檔案。 |
|
/api/contents/ <path>/<file> /checkpoints/ <checkpoint_ id> |
delete 清除給定檔案的檢查點。 |
核心 API
HTTP 動詞 |
URI |
操作 |
---|---|---|
|
/api/kernels |
返回所有核心的模型。 |
|
/api/kernels /<kernel_id> |
返回具有給定核心 ID 的核心模型。 |
|
/api/kernels |
使用預設或給定名稱啟動新核心。 |
|
/api/kernels /<kernel_id> |
關閉給定核心。 |
|
/api/kernels /<kernel_id> /<action> |
對具有給定核心 ID 的核心執行操作。操作可以是“interrupt”(中斷)或“restart”(重啟)。 |
|
/api/kernels /<kernel_id> /channels |
Websocket 流 |
|
/api/kernel specs |
返回所有可用核心的規範模型。 |
|
/api/kernel specs/ <kernel_name> |
返回具有給定核心名稱的所有可用核心的規範模型。 |
會話 API
HTTP 動詞 |
URL |
操作 |
---|---|---|
|
/api/sessions |
返回活動會話的模型。 |
|
/api/sessions |
如果會話不存在,則使用給定的 Notebook 名稱、路徑和核心名稱建立新會話。返回活動會話。 |
|
/api/sessions /<session_id> |
返回具有給定會話 ID 的活動會話模型。 |
|
/api/sessions /<session_id> |
返回具有給定會話 ID 的會話的 Notebook 名稱或路徑的活動會話模型。 |
|
/api/sessions /<session_id> |
刪除具有給定會話 ID 的活動會話模型。 |
叢集 API
HTTP 動詞 |
URL |
操作 |
---|---|---|
|
/api/clusters |
返回叢集模型。 |
|
/api/clusters <cluster_id> |
返回給定叢集的模型。 |
|
/api/clusters <cluster_id> <action> |
對給定叢集執行操作。有效操作為“start”(啟動)和“stop”(停止) |
舊架構#
此圖表顯示了單目錄 IPython Notebook 中的 Web 服務。
HTTP 動詞 |
URL |
操作 |
---|---|---|
|
/notebooks |
返回包含每個 Notebook 資訊的字典列表 |
|
/notebooks |
如果傳送正文,則將該正文儲存為新 Notebook;如果沒有正文,則建立新 Notebook。 |
|
/notebooks /<notebook_id> |
獲取 Notebook 的 JSON 資料 |
|
/notebooks /<notebook_id> |
使用正文資料儲存現有 Notebook |
|
/notebooks /<notebook_id> |
刪除具有給定 ID 的 Notebook |
此圖表顯示了 IPython Notebook 網站的架構。
HTTP 動詞 |
URL |
操作 |
---|---|---|
|
/ |
將使用者導航到 Notebook 和叢集的儀表盤。 |
|
/<notebook_id> |
轉到該 Notebook 的網頁 |
|
/new |
使用配置檔案(或預設值,如果不存在配置檔案)設定建立新 Notebook |
|
/<notebook_id> /copy |
在新選項卡中開啟具有給定 ID 的 Notebook 的副本 |
|
/<notebook_id> /print |
列印具有給定 ID 的 Notebook;如果 Notebook 不存在,則顯示錯誤訊息 |
|
/login |
導航到登入頁面;如果沒有定義使用者配置檔案,則將使用者導航到儀表盤 |
|
/logout |
登出當前配置檔案,並將使用者導航到登入頁面 |
此圖表顯示了對核心和叢集進行操作的 Web 服務。
HTTP 動詞 |
URL |
操作 |
---|---|---|
|
/kernels |
返回當前正在執行的核心 ID 列表 |
|
/kernels /<kernel_id> |
— |
|
/kernels /<kernel_id> <action> |
對具有給定 ID 的核心執行操作(重啟/終止) |
|
/kernels /<kernel_id> /iopub |
— |
|
/kernels /<kernel_id> /shell |
— |
|
/rstservice/ render |
— |
|
/files/(.*) |
— |
|
/clusters |
返回包含每個叢集資訊的字典列表 |
|
/clusters /<profile_id> /<cluster_ action> |
對具有給定配置檔案 ID 的叢集執行操作(啟動/停止) |
|
/clusters /<profile_id> |
返回具有給定配置檔案 ID 的叢集的 JSON 資料 |