跳转到主要内容

笔记本存储工作流程

项目描述

存储库

此存储库提供了用于存储、调度和发布笔记本的工具和流程建议。

自动笔记本版本控制

每次保存笔记本都会在对象存储上创建一个不可变的笔记本副本。

为了便于实施,我们将依赖于S3作为对象存储,使用带版本控制的存储桶

存储路径

所有笔记本都存档到单个带版本控制的S3存储桶中,特定的前缀表示笔记本的生命周期

  • /workspace - 用户编辑的地方
  • /scheduled - 当前安排的笔记本
  • /published - 公开笔记本(到组织)

每个笔记本路径都是一个命名空间,外部服务将其连接到计划。我们存档版本,保持路径完整(直到用户更改它们)。

前缀 意图
/workspace/kylek/notebooks/mine.ipynb “草案”中的笔记本
/scheduled/kylek/notebooks/mine.ipynb 当前安排的副本
/published/kylek/notebooks/mine.ipynb 当前发布的副本

过渡到此存储计划

由于大多数人使用常规文件系统,我们将从写入/workspace前缀作为归档存储开始(使用post_save_hook在Jupyter内容管理器中保存时写入)。

配置

from depository import depositoryContentsArchiver

# jupyter config
# At ~/.jupyter/jupyter_notebook_config.py for user installs
# At __ for system installs
c = get_config()

c.NotebookApp.contents_manager_class = depositoryContentsArchiver

c.depository.workspace_prefix = "/workspace/kylek/notebooks"
c.depository.published_prefix = "/published/kylek/notebooks"  
c.depository.scheduled_prefix = "/scheduled/kylek/notebooks"  

# Optional, in case you're using a different contents manager
# This defaults to notebook.services.contents.manager.ContentsManager
# c.depository.Archiver.underlying_contents_manager_class = ADifferentContentsManager

c.depository.Backend = "s3"
c.depository.S3.bucket = "<bucket-name>"

# Note: if depository is used from an EC2 instance with the right IAM role, you don't
# have to specify these
c.depository.S3.access_key_id = <AWS Access Key ID / IAM Access Key ID>
c.depository.S3.secret_access_key = <AWS Secret Access Key / IAM Secret Access Key>

项目详情


下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

depository-0.1.tar.gz (23.5 kB 查看哈希值)

上传时间 源代码

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面