如何解决filepath@data 数据类型的 datajoint-matlab 实现
对于 datajoint-matlab,#327 似乎表示应该在当前版本中实现文件外部存储(#143,PR #197)。在定义存储“数据”后,我可以创建一个数据类型为 filepath@data 的表,但在插入时出现错误。
Error using dj.Relvar/insert/makePlaceholder (line 244)
The field `fref` with datatype `filepath@data` is not yet supported.
Error in dj.Relvar/insert (line 334)
[v,placeholder] = makePlaceholder(i,tuple.(header.attributes(i).name));
这还没有实现,还是这里的错误检查只是阻止我使用它?如果需要,很乐意提供有关测试的更多详细信息。
解决方法
此处为 DataJoint 的维护器。看起来有点混乱,所以让我们看看我是否可以帮助澄清一些问题。希望将此讨论用作改进文档的资源。
DataJoint 提供了一些 DataJoint-only datatypes。在这些类型中,我们通过嵌入 @
符号来识别与外部存储相关的类型。我们将类型的每个部分归类为 <datatype>@<store>
。基本上对于这些类型,信息(即 datatype
)远程存储在对象存储(即 store
)中,并在关系数据库和客户端配置中使用适当的参考链接进行访问。
对于 datatype
,目前有 3 个选项:
-
blob
:等效于blob
类型,但用于外部商店。目前,datajoint-python 和最近的 datajoint-matlab 均支持此类型。 -
attach
:一种特殊类型,将文件内容捕获为二进制信息,但不保留任何路径信息。目前,此类型仅在 datajoint-python 中受支持。 File Attachment Datatype 部分提供了此类型的文档。 -
filepath
:一种特殊类型,将文件内容捕获为二进制信息并包括路径(连同文件名)详细信息。目前,此类型在 datajoint-python 中处于预览状态,需要启用它。 Filepath Datatype 部分中提供了此类型的文档。请参阅文档中的注释以启用它。
对于 store
,文档中有 External Store 部分。可以将多个存储配置为位于 stores
中的 dj.config
键下的映射。对于 MATLAB,请参阅 help('dj.config')
以获取示例,在 Python 中,请参阅上面 attach
和 filepath
的文档。
商店目前支持 2 种协议:
-
s3
:将对象存储在 S3 存储桶中。目前,datajoint-python 和最近的 datajoint-matlab 均支持此商店。 -
file
:将文件存储在可通过客户端上的文件系统访问的目录中。目前,datajoint-python 和最近的 datajoint-matlab 均支持此商店。
您提到的问题 #143 和 PR 的 #197、#327 是指为 {{1} 实施 file
、s3
商店的努力DataJoint MATLAB 中的数据类型。在我们支持 DataJoint MATLAB 中的其他 2 种数据类型之前,您遇到的错误是预料之中的,并且是一个简单的占位符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。