storjuplinkc与Storj网络通信的Pythonnactive语言绑定。
storjPython的Python项目详细描述
storj python绑定
使用RC v1.0.1 storj/uplink-c
开发初始设置
NOTE:Golang的
请确保您的PATH
包含$GOPATH/bin
目录,以便您的命令可以方便地使用Refer: Install the Go Tools:
export PATH=$PATH:$GOPATH/bin
通过运行以下命令安装storj-uplink-cgo包:
^{pr2}$NOTE:对于Python
请确保您的系统上安装了python3.x和pip。如果您有python3.4或更高版本,默认情况下会包含pip。pythonStorj不支持python2.x
$ python get-pip.py
通过运行以下命令安装storjPythonpython包:
$ pip install storjPython
设置文件
- 在
在git克隆go包之后,使用cmd/terminal导航到
在$HOME/go/src/storj.io/uplink-c
文件夹。在 - 在
使用以下命令在
在$HOME/go/src/storj.io/uplink-c
文件夹中创建“.so”文件:
$ go build -o libuplinkc.so -buildmode=c-shared
- 在
复制libuplinkc.so文件放入安装Python包的文件夹中
在 - 在
要在项目中包含uplinkPython,请使用以下命令导入库:
在
from storjPython.uplinkPython import *
- 创建一个
LibUplinkPy
类的对象来访问库的所有函数。请参考样品helloStorj.py例如,文件。在
variable_name = LibUplinkPy()
样品你好史托吉!在
文件helloStorj.py可以在安装Python包的文件夹中找到。在
示例helloStorj.py代码调用uplinkPython.py文件并导入libUplinkPy绑定类来执行以下操作:
- 列出Storj项目中的所有bucket
- 在所需的Storj项目中创建一个新的bucket(如果不存在的话)
- 从本地计算机将文件写入a Storj bucket
- 从Storj bucket读回对象到本地系统进行验证
- 列出存储桶中的所有对象
- 从Storj项目中删除bucket
- 使用权限和共享前缀创建可共享访问。在
- 列出所有具有共享访问权限的存储桶和对象。在
Storj Python绑定函数
NOTE:每个函数都由错误响应组成。请使用它来检查函数调用是否成功。如果不是None,那么也可以显示错误的文本。请参考样品helloStorj.py例如,文件。在
使用密钥片语(字符串,字符串,字符串)
* function requests satellite for a new access grant using a passphrase
* pre-requisites: none
* inputs: Satellite Address (String), API key (String) and Passphrase (String)
* output: AccessResult (Object), Error (String) if any else None
使用密码短语(Object,String,String,String)
* function requests satellite for a new access grant using a passphrase and custom configuration
* pre-requisites: none
* inputs: Config (Object), Satellite Address (String), API key (String) and Passphrase (String)
* output: AccessResult (Object), Error (String) if any else None
- 注意:要设置配置,请参考:Config
打开项目(对象)
* function opens Storj(V3) project using access grant.
* pre-requisites: request_access_with_passphrase or parse_access function has been already called
* inputs: Access (Object)
* output: ProjectResult (Object), Error (String) if any else None
配置打开项目(对象,对象)
* function opens Storj(V3) project using access grant and custom configuration.
* pre-requisites: request_access_with_passphrase or parse_access function has been already called
* inputs: Config (Object), Access (Object)
* output: ProjectResult (Object), Error (String) if any else None
- 注意:要设置配置,请参考:Config
关闭项目(对象)
* function closes the Storj(V3) project.
* pre-requisites: open_project function has been already called
* inputs: Project (Object)
* output: Error (Object) if any else None
确保bucket(Object,String)
* function creates a new bucket and ignores the error when it already exists
* pre-requisites: open_project function has been already called
* inputs: Project (Object) ,Bucket Name (String)
* output: BucketResult (Object), Error (String) if any else None
bucket(字符串)<3>* function returns information about a bucket.
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name (String)
* output: BucketResult (Object), Error (String) if any else None
创建bucket(Object,String)
* function creates a new bucket.
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name (String)
* output: BucketResult (Object), Error (String) if any else None
列出存储桶(对象,对象)
* function lists buckets
* pre-requisites: open_project function has been already called
* inputs: Project (Object), ListBucketsOptions (Object)
* output: Bucket List (Python List), Error (String) if any else None
- 注意:要设置列表存储区选项,请参阅:ListBucketOptions
删除bucket(Object,String)
* function deletes a bucket.
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name (String)
* output: BucketResult (Object), Error (String) if any else None
stat_对象(object,String,String)
* function returns information about an object at the specific key.
* pre-requisites: open_project
* inputs: Project (Object) ,Bucket Name (String) , Object Key(String)
* output: ObjectResult (Object), Error (string) if any else None
列出\u对象(Object,String,Object)
* function lists objects
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name (String), ListObjectsOptions (Object)
* output: Bucket List (Python List), Error (String) if any else None
- 注意:要设置列表对象选项,请参阅:ListObjectOptions
删除_object(object,String,String)
* function deletes an object.
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name (String), Object Key (String)
* output: ObjectResult (Object), Error (String) if any else None
上传\u object(object,String,String,object)
^{pr21}$
- 注意:要设置上载选项,请参阅:UploadOptions
上传写入(Object,LP\u ubyte,Integer)
* function uploads bytes data passed as parameter to the object's data stream.
* pre-requisites: upload_object function has been already called
* inputs: Upload (Object), Bytes Data Stream(LP_c_ubyte) , Length (Integer)
* output: WriteResult (Object), Error (String) if any else None
- 注意:传递给函数的要上载的数据(LP\u ubyte)只能是ctypes char或uint8指针。(请参考样品helloStorj.py例如,文件。)
上传提交(Object)
* function commits the uploaded data.
* pre-requisites: upload_object function has been already called
* inputs: Upload (Object)
* output: Error (Object) if any else None
上传中止(Object)
* function aborts an ongoing upload.
* pre-requisites: upload_object function has been already called
* inputs: Upload (Object)
* output: Error (Object) if any else None
上传自定义元数据(对象,对象)
* function to set custom meta information while uploading data
* pre-requisites: upload_object function has been already called
* inputs: Upload (Object), CustomMetadata (Object)
* output: Error (Object) if any else None
- 注意:要设置自定义元数据,请参阅:CustomMetadata
上载信息(对象)
* function returns the last information about the uploaded object.
* pre-requisites: upload_object function has been already called
* inputs: Upload (Object)
* output: Object Result (Object), Error (String) if any else None
下载_object(object,String,String,object)
* function starts download to the specified key.
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name(String), Object Key(String), Download Options(Object)
* output: DownloadResult (Object), Error (String) if any else None
- 注意:要设置下载选项,请参阅:DownloadOptions
下载读取(Object,Integer)
* function downloads from object's data stream into bytes up to length amount.
* pre-requisites: download_object function has been already called
* inputs: Download (Object), Length(Integer)
* output: Data downloaded (LP_c_ubyte), ReadResult (Object), Error (String) if any else None
关闭下载(Object)
* function closes the download.
* pre-requisites: download_object function has been already called
* inputs: Download (Object)
* output: Error (Object) if any else None
下载信息(对象)
* function returns information about the downloaded object.
* pre-requisites: download_object function has been already called
* inputs: Download (Object)
* output: Object Result (Object), Error (String) if any else None
解析访问(字符串)
^{pr31}$
访问串行化(对象)
* function serializes access grant into a string.
* pre-requisites: request_access_with_passphrase or parse_access function has been already called
* inputs: Access (Object)
* output: StringResult (Object), Error (String) if any else None
访问共享(对象,对象,列表)
* function creates new access grant with specific permission. Permission will be applied to prefixes when defined.
* pre-requisites: request_access_with_passphrase or parse_access function has been already called
* inputs: Access (Object), Permission (Object), Share Prefix (Python List of Dictionaries)
* output: String Result (Object), Error (String) if any else None
- 注意:要设置权限,请参阅:Permission
- 注意:要设置共享前缀,请参阅:SharedPrefix
标签:
- 项目
* function returns information about a bucket.
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name (String)
* output: BucketResult (Object), Error (String) if any else None
* function creates a new bucket.
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name (String)
* output: BucketResult (Object), Error (String) if any else None
* function lists buckets
* pre-requisites: open_project function has been already called
* inputs: Project (Object), ListBucketsOptions (Object)
* output: Bucket List (Python List), Error (String) if any else None
* function deletes a bucket.
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name (String)
* output: BucketResult (Object), Error (String) if any else None
* function returns information about an object at the specific key.
* pre-requisites: open_project
* inputs: Project (Object) ,Bucket Name (String) , Object Key(String)
* output: ObjectResult (Object), Error (string) if any else None
* function lists objects
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name (String), ListObjectsOptions (Object)
* output: Bucket List (Python List), Error (String) if any else None
* function deletes an object.
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name (String), Object Key (String)
* output: ObjectResult (Object), Error (String) if any else None
* function uploads bytes data passed as parameter to the object's data stream.
* pre-requisites: upload_object function has been already called
* inputs: Upload (Object), Bytes Data Stream(LP_c_ubyte) , Length (Integer)
* output: WriteResult (Object), Error (String) if any else None
* function commits the uploaded data.
* pre-requisites: upload_object function has been already called
* inputs: Upload (Object)
* output: Error (Object) if any else None
* function aborts an ongoing upload.
* pre-requisites: upload_object function has been already called
* inputs: Upload (Object)
* output: Error (Object) if any else None
* function to set custom meta information while uploading data
* pre-requisites: upload_object function has been already called
* inputs: Upload (Object), CustomMetadata (Object)
* output: Error (Object) if any else None
* function returns the last information about the uploaded object.
* pre-requisites: upload_object function has been already called
* inputs: Upload (Object)
* output: Object Result (Object), Error (String) if any else None
* function starts download to the specified key.
* pre-requisites: open_project function has been already called
* inputs: Project (Object), Bucket Name(String), Object Key(String), Download Options(Object)
* output: DownloadResult (Object), Error (String) if any else None
* function downloads from object's data stream into bytes up to length amount.
* pre-requisites: download_object function has been already called
* inputs: Download (Object), Length(Integer)
* output: Data downloaded (LP_c_ubyte), ReadResult (Object), Error (String) if any else None
* function closes the download.
* pre-requisites: download_object function has been already called
* inputs: Download (Object)
* output: Error (Object) if any else None
* function returns information about the downloaded object.
* pre-requisites: download_object function has been already called
* inputs: Download (Object)
* output: Object Result (Object), Error (String) if any else None
* function serializes access grant into a string.
* pre-requisites: request_access_with_passphrase or parse_access function has been already called
* inputs: Access (Object)
* output: StringResult (Object), Error (String) if any else None
* function creates new access grant with specific permission. Permission will be applied to prefixes when defined.
* pre-requisites: request_access_with_passphrase or parse_access function has been already called
* inputs: Access (Object), Permission (Object), Share Prefix (Python List of Dictionaries)
* output: String Result (Object), Error (String) if any else None
标签: