【发布时间】:2019-06-22 20:08:26
【问题描述】:
我的目标是禁止从我的 JupyterHub 环境下载 csv 数据。有没有办法做到这一点?
【问题讨论】:
-
您希望仅阻止 .csv 或一般所有文件?
-
@Emmanuel-Lin 所有文件。
-
官方我还没有看到任何针对这种情况的简单配置解决方案。
我的目标是禁止从我的 JupyterHub 环境下载 csv 数据。有没有办法做到这一点?
【问题讨论】:
我通过从源代码中删除下载功能来做到这一点,有一个包文件夹,其中包含与 src 中每个类型脚本文件中的文件浏览器相关的扩展名我已经根据下载、上传、导出笔记本等代码注释了满足我客户的需求。
可以参考我的 GitHub 页面以获取 dev_mode 文件夹。从我的文件夹中复制我的dev_mode文件夹和开发模式下的jupyter
https://github.com/Shrikantgrh/JupyterLab-DownloadUploadDisabled
【讨论】:
我通过将 Jupyter Hub 放在 ALB(应用程序负载均衡器)和 AWS 之后实现了这一点,并且有一个规则基本上将每个带有路径“/files”的请求路由到 503 错误页面。这甚至可以使用 nginx 来实现。请记住,下载请求路径是“/files”。
【讨论】:
从 v3.1.0 开始,您可以使用 labextension 禁用下载:
# disable downloads from File > Download
jupyter labextension disable @jupyterlab/docmanager-extension:download
# disable downloads from the context menu in the file browser
jupyter labextension disable @jupyterlab/filebrowser-extension:download
原始 github 问题:https://github.com/jupyterlab/jupyterlab/issues/5274
【讨论】:
几个月前我遇到了类似的问题,我必须想办法隐藏一些专有数据集,同时让用户使用它们。
这包含我发现完成此任务的两种方法 - https://stackoverflow.com/a/35476533
我继续使用@minrk 建议的解决方案,并且效果很好。
您可以采取的方法是按照他在保留后建议的那样实施解决方案,并将数据分配给特定变量,并通过您的文档或作为框架代码的一部分让用户知道。
让我知道这是否适合你。
【讨论】: