C# Class SwiftClient.Client

Inheritance: ISwiftClient, IDisposable
Show file Open project: vtfuture/SwiftClient

Public Methods

Method Description
CopyObject ( string containerFromId, string objectFromId, string containerToId, string objectToId, string>.Dictionary headers = null ) : Task
DeleteContainer ( string containerId, string>.Dictionary headers = null ) : Task
DeleteObject ( string containerId, string objectId, string>.Dictionary queryParams = null ) : Task

Delete object. If ([filter:slo]) is configured and you want to delete SLO file including segments add {"multipart-manifest", "delete"} to queryParams

DeleteObjectChunk ( string containerId, string objectId, int segment ) : Task

Delete object chunk. Unfortunately no api support for DLO delete ([filter:dlo]). Deleting the manifest file won't delete the object segments.

DeleteObjects ( IEnumerable objectIds ) : Task

Bulk delete objects (option available for [filter:bulk] in proxy-server.conf) Object id can be , / Example input: alpha/one.txt alpha/two.txt alpha beta/three.txt beta/four.txt beta

DeleteObjects ( string containerId, IEnumerable objectIds ) : Task

Bulk delete objects in a specified container (option available for [filter:bulk] in proxy-server.conf)

GetAccount ( string>.Dictionary queryParams = null ) : Task
GetContainer ( string containerId, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
GetCredentials ( ) : SwiftCredentials
GetObject ( string containerId, string objectId, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
GetObjectRange ( string containerId, string objectId, long start, long end, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
HeadAccount ( ) : Task
HeadContainer ( string containerId, string>.Dictionary headers = null ) : Task
HeadObject ( string containerId, string objectId, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
PostAccount ( string>.Dictionary headers = null ) : Task
PostContainer ( string containerId, string>.Dictionary headers = null ) : Task
PostObject ( string containerId, string objectId, string>.Dictionary headers = null ) : Task
PutContainer ( string containerId, string>.Dictionary headers = null ) : Task
PutManifest ( string containerId, string objectId, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
PutObject ( string containerId, string objectId, Stream data, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
PutObject ( string containerId, string objectId, byte data, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
PutObjectChunk ( string containerId, string objectId, byte data, int segment, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
PutPseudoDirectory ( string containerId, string objectId, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
SetLogger ( ISwiftLogger logger ) : Client

Log authentication errors, reauthorization events and request errors

SetRetryCount ( int retryCount ) : Client

Set retries count for all proxy nodes

SetRetryPerEndpointCount ( int retryPerEndpointCount ) : Client

Set retries count per proxy node request

WithCredentials ( SwiftCredentials credentials ) : Client

Set credentials (username, password, list of proxy endpoints)

Private Methods

Method Description
EnsurePutContainer ( string containerId, Func retryFunc ) : Task

Method Details

CopyObject() public method

public CopyObject ( string containerFromId, string objectFromId, string containerToId, string objectToId, string>.Dictionary headers = null ) : Task
containerFromId string
objectFromId string
containerToId string
objectToId string
headers string>.Dictionary
return Task

DeleteContainer() public method

public DeleteContainer ( string containerId, string>.Dictionary headers = null ) : Task
containerId string
headers string>.Dictionary
return Task

DeleteObject() public method

Delete object. If ([filter:slo]) is configured and you want to delete SLO file including segments add {"multipart-manifest", "delete"} to queryParams
public DeleteObject ( string containerId, string objectId, string>.Dictionary queryParams = null ) : Task
containerId string
objectId string
queryParams string>.Dictionary
return Task

DeleteObjectChunk() public method

Delete object chunk. Unfortunately no api support for DLO delete ([filter:dlo]). Deleting the manifest file won't delete the object segments.
public DeleteObjectChunk ( string containerId, string objectId, int segment ) : Task
containerId string
objectId string
segment int
return Task

DeleteObjects() public method

Bulk delete objects (option available for [filter:bulk] in proxy-server.conf) Object id can be , / Example input: alpha/one.txt alpha/two.txt alpha beta/three.txt beta/four.txt beta
public DeleteObjects ( IEnumerable objectIds ) : Task
objectIds IEnumerable
return Task

DeleteObjects() public method

Bulk delete objects in a specified container (option available for [filter:bulk] in proxy-server.conf)
public DeleteObjects ( string containerId, IEnumerable objectIds ) : Task
containerId string
objectIds IEnumerable
return Task

GetAccount() public method

public GetAccount ( string>.Dictionary queryParams = null ) : Task
queryParams string>.Dictionary
return Task

GetContainer() public method

public GetContainer ( string containerId, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
containerId string
headers string>.Dictionary
queryParams string>.Dictionary
return Task

GetCredentials() public method

public GetCredentials ( ) : SwiftCredentials
return SwiftCredentials

GetObject() public method

public GetObject ( string containerId, string objectId, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
containerId string
objectId string
headers string>.Dictionary
queryParams string>.Dictionary
return Task

GetObjectRange() public method

public GetObjectRange ( string containerId, string objectId, long start, long end, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
containerId string
objectId string
start long
end long
headers string>.Dictionary
queryParams string>.Dictionary
return Task

HeadAccount() public method

public HeadAccount ( ) : Task
return Task

HeadContainer() public method

public HeadContainer ( string containerId, string>.Dictionary headers = null ) : Task
containerId string
headers string>.Dictionary
return Task

HeadObject() public method

public HeadObject ( string containerId, string objectId, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
containerId string
objectId string
headers string>.Dictionary
queryParams string>.Dictionary
return Task

PostAccount() public method

public PostAccount ( string>.Dictionary headers = null ) : Task
headers string>.Dictionary
return Task

PostContainer() public method

public PostContainer ( string containerId, string>.Dictionary headers = null ) : Task
containerId string
headers string>.Dictionary
return Task

PostObject() public method

public PostObject ( string containerId, string objectId, string>.Dictionary headers = null ) : Task
containerId string
objectId string
headers string>.Dictionary
return Task

PutContainer() public method

public PutContainer ( string containerId, string>.Dictionary headers = null ) : Task
containerId string
headers string>.Dictionary
return Task

PutManifest() public method

public PutManifest ( string containerId, string objectId, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
containerId string
objectId string
headers string>.Dictionary
queryParams string>.Dictionary
return Task

PutObject() public method

public PutObject ( string containerId, string objectId, Stream data, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
containerId string
objectId string
data Stream
headers string>.Dictionary
queryParams string>.Dictionary
return Task

PutObject() public method

public PutObject ( string containerId, string objectId, byte data, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
containerId string
objectId string
data byte
headers string>.Dictionary
queryParams string>.Dictionary
return Task

PutObjectChunk() public method

public PutObjectChunk ( string containerId, string objectId, byte data, int segment, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
containerId string
objectId string
data byte
segment int
headers string>.Dictionary
queryParams string>.Dictionary
return Task

PutPseudoDirectory() public method

public PutPseudoDirectory ( string containerId, string objectId, string>.Dictionary headers = null, string>.Dictionary queryParams = null ) : Task
containerId string
objectId string
headers string>.Dictionary
queryParams string>.Dictionary
return Task

SetLogger() public method

Log authentication errors, reauthorization events and request errors
public SetLogger ( ISwiftLogger logger ) : Client
logger ISwiftLogger
return Client

SetRetryCount() public method

Set retries count for all proxy nodes
public SetRetryCount ( int retryCount ) : Client
retryCount int Default value 1
return Client

SetRetryPerEndpointCount() public method

Set retries count per proxy node request
public SetRetryPerEndpointCount ( int retryPerEndpointCount ) : Client
retryPerEndpointCount int Default value 1
return Client

WithCredentials() public method

Set credentials (username, password, list of proxy endpoints)
public WithCredentials ( SwiftCredentials credentials ) : Client
credentials SwiftCredentials
return Client