OSSClient Class Reference
Inherits from | NSObject |
Declared in | OSSClient.h OSSClient.m |
Tasks
Other Methods
-
endpoint
property -
networking
property -
credentialProvider
property -
clientConfiguration
property -
ossOperationExecutor
property -
– initWithEndpoint:credentialProvider:
-
– initWithEndpoint:credentialProvider:clientConfiguration:
-
– setBackgroundSessionCompletionHandler:
-
– getService:
-
– createBucket:
-
– deleteBucket:
-
– getBucket:
-
– getBucketACL:
-
– headObject:
-
– getObject:
-
– putObject:
-
– appendObject:
-
– copyObject:
-
– deleteObject:
-
– multipartUploadInit:
-
– uploadPart:
-
– completeMultipartUpload:
-
– listParts:
-
– abortMultipartUpload:
-
– presignConstrainURLWithBucketName:withObjectKey:withExpirationInterval:
-
– presignPublicURLWithBucketName:withObjectKey:
-
– resumableUpload:
Compat Methods
-
– uploadData:withContentType:withObjectMeta:toBucketName:toObjectKey:onCompleted:onProgress:
-
– downloadToDataFromBucket:objectKey:onCompleted:onProgress:
-
– uploadFile:withContentType:withObjectMeta:toBucketName:toObjectKey:onCompleted:onProgress:
-
– downloadToFileFromBucket:objectKey:toFile:onCompleted:onProgress:
-
– resumableUploadFile:withContentType:withObjectMeta:toBucketName:toObjectKey:onCompleted:onProgress:
-
– deleteObjectInBucket:objectKey:onCompleted:
Properties
clientConfiguration
客户端设置
@property (nonatomic, strong) OSSClientConfiguration *clientConfiguration
Discussion
客户端设置
Declared In
OSSClient.h
credentialProvider
提供访问所需凭证
@property (nonatomic, strong) id<OSSCredentialProvider> credentialProvider
Discussion
提供访问所需凭证
Declared In
OSSClient.h
endpoint
OSS访问域名
@property (nonatomic, strong) NSString *endpoint
Discussion
OSS访问域名
Declared In
OSSClient.h
Instance Methods
abortMultipartUpload:
对应RESTFul API:AbortMultipartUpload 该接口可以根据用户提供的Upload ID中止其对应的Multipart Upload事件。 当一个Multipart Upload事件被中止后,就不能再使用这个Upload ID做任何操作,已经上传的Part数据也会被删除。
- (OSSTask *)abortMultipartUpload:(OSSAbortMultipartUploadRequest *)request
Discussion
对应RESTFul API:AbortMultipartUpload 该接口可以根据用户提供的Upload ID中止其对应的Multipart Upload事件。 当一个Multipart Upload事件被中止后,就不能再使用这个Upload ID做任何操作,已经上传的Part数据也会被删除。
Declared In
OSSClient.h
appendObject:
对应RESTFul API:AppendObject 以追加写的方式上传文件。通过Append Object操作创建的Object类型为Appendable Object,而通过Put Object上传的Object是Normal Object。
- (OSSTask *)appendObject:(OSSAppendObjectRequest *)request
Discussion
对应RESTFul API:AppendObject 以追加写的方式上传文件。通过Append Object操作创建的Object类型为Appendable Object,而通过Put Object上传的Object是Normal Object。
Declared In
OSSClient.h
completeMultipartUpload:
对应RESTFul API:CompleteMultipartUpload 在将所有数据Part都上传完成后,必须调用Complete Multipart Upload API来完成整个文件的Multipart Upload。 在执行该操作时,用户必须提供所有有效的数据Part的列表(包括part号码和ETAG);OSS收到用户提交的Part列表后,会逐一验证每个数据Part的有效性。 当所有的数据Part验证通过后,OSS将把这些数据part组合成一个完整的Object。
- (OSSTask *)completeMultipartUpload:(OSSCompleteMultipartUploadRequest *)request
Discussion
对应RESTFul API:CompleteMultipartUpload 在将所有数据Part都上传完成后,必须调用Complete Multipart Upload API来完成整个文件的Multipart Upload。 在执行该操作时,用户必须提供所有有效的数据Part的列表(包括part号码和ETAG);OSS收到用户提交的Part列表后,会逐一验证每个数据Part的有效性。 当所有的数据Part验证通过后,OSS将把这些数据part组合成一个完整的Object。
Declared In
OSSClient.h
copyObject:
对应RESTFul API:copyObject 拷贝一个在OSS上已经存在的object成另外一个object,可以发送一个PUT请求给OSS,并在PUT请求头中添加元素“x-oss-copy-source”来指定拷贝源。 OSS会自动判断出这是一个Copy操作,并直接在服务器端执行该操作。如果拷贝成功,则返回新的object信息给用户。 该操作适用于拷贝小于1GB的文件。
- (OSSTask *)copyObject:(OSSCopyObjectRequest *)request
Discussion
对应RESTFul API:copyObject 拷贝一个在OSS上已经存在的object成另外一个object,可以发送一个PUT请求给OSS,并在PUT请求头中添加元素“x-oss-copy-source”来指定拷贝源。 OSS会自动判断出这是一个Copy操作,并直接在服务器端执行该操作。如果拷贝成功,则返回新的object信息给用户。 该操作适用于拷贝小于1GB的文件。
Declared In
OSSClient.h
createBucket:
对应RESTFul API:PutBucket 用于创建Bucket(不支持匿名访问)。默认情况下,创建的Bucket位于默认的数据中心:oss-cn-hangzhou。 用户可以显式指定Bucket位于的数据中心,从而最优化延迟,最小化费用或者满足监管要求等。 注意: 1. 尚不支持STS。
- (OSSTask *)createBucket:(OSSCreateBucketRequest *)request
Discussion
对应RESTFul API:PutBucket 用于创建Bucket(不支持匿名访问)。默认情况下,创建的Bucket位于默认的数据中心:oss-cn-hangzhou。 用户可以显式指定Bucket位于的数据中心,从而最优化延迟,最小化费用或者满足监管要求等。 注意: 1. 尚不支持STS。
Declared In
OSSClient.h
deleteBucket:
对应RESTFul API:DeleteBucket 用于删除某个Bucket。
- (OSSTask *)deleteBucket:(OSSDeleteBucketRequest *)request
Discussion
对应RESTFul API:DeleteBucket 用于删除某个Bucket。
Declared In
OSSClient.h
deleteObject:
对应RESTFul API:DeleteObject 用于删除某个Object。
- (OSSTask *)deleteObject:(OSSDeleteObjectRequest *)request
Discussion
对应RESTFul API:DeleteObject 用于删除某个Object。
Declared In
OSSClient.h
deleteObjectInBucket:objectKey:onCompleted:
兼容老版本用法的删除Object接口 建议更换使用:deleteObject
- (void)deleteObjectInBucket:(NSString *)bucketName objectKey:(NSString *)objectKey onCompleted:(void ( ^ ) ( BOOL , NSError *))onCompleted
Discussion
兼容老版本用法的删除Object接口 建议更换使用:deleteObject
Declared In
OSSCompat.h
downloadToDataFromBucket:objectKey:onCompleted:onProgress:
兼容老版本用法的下载数据接口 建议更换使用:getObject
- (OSSTaskHandler *)downloadToDataFromBucket:(NSString *)bucketName objectKey:(NSString *)objectKey onCompleted:(void ( ^ ) ( NSData *, NSError *))onCompleted onProgress:(void ( ^ ) ( float progress ))onProgress
Discussion
兼容老版本用法的下载数据接口 建议更换使用:getObject
Declared In
OSSCompat.h
downloadToFileFromBucket:objectKey:toFile:onCompleted:onProgress:
兼容老版本用法的下载文件接口 建议更换使用:getObject
- (OSSTaskHandler *)downloadToFileFromBucket:(NSString *)bucketName objectKey:(NSString *)objectKey toFile:(NSString *)filePath onCompleted:(void ( ^ ) ( BOOL , NSError *))onCompleted onProgress:(void ( ^ ) ( float progress ))onProgress
Discussion
兼容老版本用法的下载文件接口 建议更换使用:getObject
Declared In
OSSCompat.h
getBucket:
对应RESTFul API:GetBucket 用来list Bucket中所有Object的信息,可以通过prefix,marker,delimiter和max-keys对list做限定,返回部分结果。
- (OSSTask *)getBucket:(OSSGetBucketRequest *)request
Discussion
对应RESTFul API:GetBucket 用来list Bucket中所有Object的信息,可以通过prefix,marker,delimiter和max-keys对list做限定,返回部分结果。
Declared In
OSSClient.h
getBucketACL:
对应RESTFul API:GetBucketACL 用来获取某个Bucket的访问权限。
- (OSSTask *)getBucketACL:(OSSGetBucketACLRequest *)request
Discussion
对应RESTFul API:GetBucketACL 用来获取某个Bucket的访问权限。
Declared In
OSSClient.h
getObject:
对应RESTFul API:GetObject 用于获取某个Object,此操作要求用户对该Object有读权限。
- (OSSTask *)getObject:(OSSGetObjectRequest *)request
Discussion
对应RESTFul API:GetObject 用于获取某个Object,此操作要求用户对该Object有读权限。
Declared In
OSSClient.h
getService:
对应RESTFul API:GetService 获取请求者当前拥有的全部Bucket。 注意: 1. 尚不支持STS; 2. 当所有的bucket都返回时,返回的xml中不包含Prefix、Marker、MaxKeys、IsTruncated、NextMarker节点,如果还有部分结果未返回,则增加上述节点,其中NextMarker用于继续查询时给marker赋值。
- (OSSTask *)getService:(OSSGetServiceRequest *)request
Discussion
对应RESTFul API:GetService 获取请求者当前拥有的全部Bucket。 注意: 1. 尚不支持STS; 2. 当所有的bucket都返回时,返回的xml中不包含Prefix、Marker、MaxKeys、IsTruncated、NextMarker节点,如果还有部分结果未返回,则增加上述节点,其中NextMarker用于继续查询时给marker赋值。
Declared In
OSSClient.h
headObject:
对应RESTFul API:HeadObject 只返回某个Object的meta信息,不返回文件内容。
- (OSSTask *)headObject:(OSSHeadObjectRequest *)request
Discussion
对应RESTFul API:HeadObject 只返回某个Object的meta信息,不返回文件内容。
Declared In
OSSClient.h
initWithEndpoint:credentialProvider:
初始化OSSClient,使用默认的本地设置 @endpoint 指明Bucket所在的Region域名 @credentialProvider 需要实现的签名器
- (instancetype)initWithEndpoint:(NSString *)endpoint credentialProvider:(id<OSSCredentialProvider>)credentialProvider
Discussion
初始化OSSClient,使用默认的本地设置 @endpoint 指明Bucket所在的Region域名 @credentialProvider 需要实现的签名器
Declared In
OSSClient.h
initWithEndpoint:credentialProvider:clientConfiguration:
初始化OSSClient,使用自定义设置 @endpoint 指明Bucket所在的Region域名 @credentialProvider 需要实现的签名器 @conf 可以设置一些本地参数如重试次数、超时时间等
- (instancetype)initWithEndpoint:(NSString *)endpoint credentialProvider:(id<OSSCredentialProvider>)credentialProvider clientConfiguration:(OSSClientConfiguration *)conf
Discussion
初始化OSSClient,使用自定义设置 @endpoint 指明Bucket所在的Region域名 @credentialProvider 需要实现的签名器 @conf 可以设置一些本地参数如重试次数、超时时间等
Declared In
OSSClient.h
listParts:
对应RESTFul API:ListParts 可以罗列出指定Upload ID所属的所有已经上传成功Part。
- (OSSTask *)listParts:(OSSListPartsRequest *)request
Discussion
对应RESTFul API:ListParts 可以罗列出指定Upload ID所属的所有已经上传成功Part。
Declared In
OSSClient.h
multipartUploadInit:
对应RESTFul API:InitiateMultipartUpload 使用Multipart Upload模式传输数据前,必须先调用该接口来通知OSS初始化一个Multipart Upload事件。该接口会返回一个OSS服务器创建的全局唯一的Upload ID,用于标识本次Multipart Upload事件。 用户可以根据这个ID来发起相关的操作,如中止Multipart Upload、查询Multipart Upload等。
- (OSSTask *)multipartUploadInit:(OSSInitMultipartUploadRequest *)request
Discussion
对应RESTFul API:InitiateMultipartUpload 使用Multipart Upload模式传输数据前,必须先调用该接口来通知OSS初始化一个Multipart Upload事件。该接口会返回一个OSS服务器创建的全局唯一的Upload ID,用于标识本次Multipart Upload事件。 用户可以根据这个ID来发起相关的操作,如中止Multipart Upload、查询Multipart Upload等。
Declared In
OSSClient.h
presignConstrainURLWithBucketName:withObjectKey:withExpirationInterval:
对一个Object签名出一个URL,可以把该URL转给第三方实现授权访问。 @bucketName Object所在的Bucket名称 @objectKey Object名称 @interval 签名URL时,可以指定这个URL的有效时长是多久,单位是秒,比如说需要有效时长为1小时的URL,这里传入3600
- (OSSTask *)presignConstrainURLWithBucketName:(NSString *)bucketName withObjectKey:(NSString *)objectKey withExpirationInterval:(NSTimeInterval)interval
Discussion
对一个Object签名出一个URL,可以把该URL转给第三方实现授权访问。 @bucketName Object所在的Bucket名称 @objectKey Object名称 @interval 签名URL时,可以指定这个URL的有效时长是多久,单位是秒,比如说需要有效时长为1小时的URL,这里传入3600
Declared In
OSSClient.h
presignPublicURLWithBucketName:withObjectKey:
如果Object的权限是公共读或者公共读写,调用这个接口对该Object签名出一个URL,可以把该URL转给第三方实现授权访问。 @bucketName Object所在的Bucket名称 @objectKey Object名称
- (OSSTask *)presignPublicURLWithBucketName:(NSString *)bucketName withObjectKey:(NSString *)objectKey
Discussion
如果Object的权限是公共读或者公共读写,调用这个接口对该Object签名出一个URL,可以把该URL转给第三方实现授权访问。 @bucketName Object所在的Bucket名称 @objectKey Object名称
Declared In
OSSClient.h
putObject:
对应RESTFul API:PutObject 用于上传文件。
- (OSSTask *)putObject:(OSSPutObjectRequest *)request
Discussion
对应RESTFul API:PutObject 用于上传文件。
Declared In
OSSClient.h
resumableUpload:
断点上传接口 这个接口封装了分块上传的若干接口以实现断点上传,但是需要用户自行保存UploadId。 对一个新文件,用户需要首先调用multipartUploadInit接口获得一个UploadId,然后调用此接口上传这个文件。 如果上传失败,首先需要检查一下失败原因: 如果不是不可恢复的失败,那么可以用同一个UploadId和同一文件继续调用这个接口续传 否则,需要重新获取UploadId,重新上传这个文件。 详细参考demo。
- (OSSTask *)resumableUpload:(OSSResumableUploadRequest *)request
Discussion
断点上传接口 这个接口封装了分块上传的若干接口以实现断点上传,但是需要用户自行保存UploadId。 对一个新文件,用户需要首先调用multipartUploadInit接口获得一个UploadId,然后调用此接口上传这个文件。 如果上传失败,首先需要检查一下失败原因: 如果不是不可恢复的失败,那么可以用同一个UploadId和同一文件继续调用这个接口续传 否则,需要重新获取UploadId,重新上传这个文件。 详细参考demo。
Declared In
OSSClient.h
resumableUploadFile:withContentType:withObjectMeta:toBucketName:toObjectKey:onCompleted:onProgress:
兼容老版本用法的断点上传文件接口 建议更换使用:resumableUpload
- (OSSTaskHandler *)resumableUploadFile:(NSString *)filePath withContentType:(NSString *)contentType withObjectMeta:(NSDictionary *)meta toBucketName:(NSString *)bucketName toObjectKey:(NSString *)objectKey onCompleted:(void ( ^ ) ( BOOL , NSError *))onCompleted onProgress:(void ( ^ ) ( float progress ))onProgress
Discussion
兼容老版本用法的断点上传文件接口 建议更换使用:resumableUpload
Declared In
OSSCompat.h
setBackgroundSessionCompletionHandler:
设置后台任务完成回调(仅在开启了后台上传任务的时候有效) 这个回调会在后台传输任务完成时被回调
- (void)setBackgroundSessionCompletionHandler:(void ( ^ ) ( ))completeHandler
Discussion
设置后台任务完成回调(仅在开启了后台上传任务的时候有效) 这个回调会在后台传输任务完成时被回调
Declared In
OSSClient.h
uploadData:withContentType:withObjectMeta:toBucketName:toObjectKey:onCompleted:onProgress:
兼容老版本用法的上传数据接口 建议更换使用:putObject
- (OSSTaskHandler *)uploadData:(NSData *)data withContentType:(NSString *)contentType withObjectMeta:(NSDictionary *)meta toBucketName:(NSString *)bucketName toObjectKey:(NSString *)objectKey onCompleted:(void ( ^ ) ( BOOL , NSError *))onCompleted onProgress:(void ( ^ ) ( float progress ))onProgress
Discussion
兼容老版本用法的上传数据接口 建议更换使用:putObject
Declared In
OSSCompat.h
uploadFile:withContentType:withObjectMeta:toBucketName:toObjectKey:onCompleted:onProgress:
兼容老版本用法的上传文件接口 建议更换使用:putObject
- (OSSTaskHandler *)uploadFile:(NSString *)filePath withContentType:(NSString *)contentType withObjectMeta:(NSDictionary *)meta toBucketName:(NSString *)bucketName toObjectKey:(NSString *)objectKey onCompleted:(void ( ^ ) ( BOOL , NSError *))onCompleted onProgress:(void ( ^ ) ( float progress ))onProgress
Discussion
兼容老版本用法的上传文件接口 建议更换使用:putObject
Declared In
OSSCompat.h
uploadPart:
对应RESTFul API:UploadPart 初始化一个Multipart Upload之后,可以根据指定的Object名和Upload ID来分块(Part)上传数据。 每一个上传的Part都有一个标识它的号码(part number,范围是1~10,000)。 对于同一个Upload ID,该号码不但唯一标识这一块数据,也标识了这块数据在整个文件内的相对位置。 如果你用同一个part号码,上传了新的数据,那么OSS上已有的这个号码的Part数据将被覆盖。除了最后一块Part以外,其他的part最小为100KB; 最后一块Part没有大小限制。
- (OSSTask *)uploadPart:(OSSUploadPartRequest *)request
Discussion
对应RESTFul API:UploadPart 初始化一个Multipart Upload之后,可以根据指定的Object名和Upload ID来分块(Part)上传数据。 每一个上传的Part都有一个标识它的号码(part number,范围是1~10,000)。 对于同一个Upload ID,该号码不但唯一标识这一块数据,也标识了这块数据在整个文件内的相对位置。 如果你用同一个part号码,上传了新的数据,那么OSS上已有的这个号码的Part数据将被覆盖。除了最后一块Part以外,其他的part最小为100KB; 最后一块Part没有大小限制。
Declared In
OSSClient.h