洛阳学员端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

110 lines
3.3 KiB

//
// OSSClient.h
// oss_ios_sdk
//
// Created by zhouzhuo on 8/16/15.
// Copyright (c) 2015 aliyun.com. All rights reserved.
//
#import <Foundation/Foundation.h>
@class OSSGetServiceRequest;
@class OSSCreateBucketRequest;
@class OSSDeleteBucketRequest;
@class OSSHeadObjectRequest;
@class OSSGetBucketRequest;
@class OSSGetBucketACLRequest;
@class OSSGetObjectRequest;
@class OSSGetObjectACLRequest;
@class OSSPutObjectRequest;
@class OSSPutObjectACLRequest;
@class OSSDeleteObjectRequest;
@class OSSDeleteMultipleObjectsRequest;
@class OSSCopyObjectRequest;
@class OSSInitMultipartUploadRequest;
@class OSSUploadPartRequest;
@class OSSCompleteMultipartUploadRequest;
@class OSSListPartsRequest;
@class OSSListMultipartUploadsRequest;
@class OSSAbortMultipartUploadRequest;
@class OSSAppendObjectRequest;
@class OSSResumableUploadRequest;
@class OSSMultipartUploadRequest;
@class OSSCallBackRequest;
@class OSSImagePersistRequest;
@class OSSGetBucketInfoRequest;
@class OSSPutSymlinkRequest;
@class OSSGetSymlinkRequest;
@class OSSRestoreObjectRequest;
@class OSSTask;
@class OSSExecutor;
@class OSSNetworking;
@class OSSClientConfiguration;
@protocol OSSCredentialProvider;
NS_ASSUME_NONNULL_BEGIN
/**
OSSClient is the entry class to access OSS in an iOS client. It provides all the methods to communicate with OSS.
Generally speaking, only one instance of OSSClient is needed in the whole app.
*/
@interface OSSClient : NSObject
/**
OSS endpoint. It varies in different regions. Please check out OSS official website for the exact endpoints for your data.
*/
@property (nonatomic, strong) NSString * endpoint;
/**
The networking instance for sending and receiving data
*/
@property (nonatomic, strong) OSSNetworking * networking;
/**
The credential provider instance
*/
@property (nonatomic, strong) id<OSSCredentialProvider> credentialProvider;
/**
Client configuration instance
*/
@property (nonatomic, strong) OSSClientConfiguration * clientConfiguration;
/**
oss operation task queue
*/
@property (nonatomic, strong, readonly) OSSExecutor * ossOperationExecutor;
/**
Initializes an OSSClient instance with the default client configuration.
@endpoint it specifies domain of the bucket's region. Starting 2017, the domain must be prefixed with "https://" to follow Apple's ATS policy.
For example: "https://oss-cn-hangzhou.aliyuncs.com"
@credentialProvider The credential provider
*/
- (instancetype)initWithEndpoint:(NSString *)endpoint
credentialProvider:(id<OSSCredentialProvider>) credentialProvider;
/**
Initializes an OSSClient with the custom client configuration.
@endpoint it specifies domain of the bucket's region. Starting 2017, the domain must be prefixed with "https://" to follow Apple's ATS policy.
For example: "https://oss-cn-hangzhou.aliyuncs.com"
@credentialProvider The credential provider
@conf The custom client configuration such as retry time, timeout values, etc.
*/
- (instancetype)initWithEndpoint:(NSString *)endpoint
credentialProvider:(id<OSSCredentialProvider>)credentialProvider
clientConfiguration:(OSSClientConfiguration *)conf;
@end
@interface OSSClient (Object)
/**
The corresponding RESTFul API: PutObject
Uploads a file.
*/
- (OSSTask *)putObject:(OSSPutObjectRequest *)request;
@end
NS_ASSUME_NONNULL_END