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

删除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

删除_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}$

上传写入(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

上载信息(对象)

* 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

下载读取(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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从IBM MQ的JMSException检测可恢复错误   java Lucene6。4.2:找不到类,尝试添加查询。   Java Pdf差异库   在Java中多线程处理我的线程   java将字符串传递给Uri。下载中的parse()   java在列表中查找原语位置   java JPA条件从另一个查询中选择   java中的强制转换和转换   java如何在没有上下文的情况下获取SOAP Web服务(Apache Axis 1.4)的调用客户端的IP地址   java Android IllegalBlockSizeException:解密中最后一个块未完成   java Jersey是否要自定义无效资源路径的错误处理?   如何将JavaCVS web项目转换为基于maven的web项目?   java如何检查通用列表是否与jUnit相等?   arraylist java。util。尝试使用迭代器时发生ConcurrentModificationException错误   使用springsecurity,jsp上的java${u csrf.token}始终为空   sql使用java从临时表中选择数据   spring验证中的java@Notnull和@Pattern无效   java如何使用jQuery将包含对象数组的对象数组传递给Spring MVC控制器?