22.82. Class ObjectStorage
Namespace: ArmoniK.Core.Adapters.S3
Assembly: ArmoniK.Core.Adapters.S3.dll
public class ObjectStorage : IObjectStorage, IInitializable, IHealthCheckProvider
22.82.1. Inheritance
22.82.2. Implements
22.82.3. Inherited Members
object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
22.82.4. Constructors
22.82.4.1. ObjectStorage(AmazonS3Client, S3, ILogger<ObjectStorage>)
public ObjectStorage(AmazonS3Client s3Client, S3 options, ILogger<ObjectStorage> logger)
22.82.4.1.1. Parameters
s3Client AmazonS3Client
Connection to S3
options S3
S3 object storage options
logger ILogger<ObjectStorage>
Logger used to print logs
22.82.5. Methods
22.82.5.1. AddOrUpdateAsync(ObjectData, IAsyncEnumerable<ReadOnlyMemory<byte>>, CancellationToken)
Add the given data in the storage at the given key Update data if it already exists
public Task<(byte[] id, long size)> AddOrUpdateAsync(ObjectData metaData, IAsyncEnumerable<ReadOnlyMemory<byte>> valueChunks, CancellationToken cancellationToken = default)
22.82.5.1.1. Parameters
metaData ObjectData
valueChunks IAsyncEnumerable<ReadOnlyMemory<byte>>
Chunks of data that will be stored in the Object Storage
cancellationToken CancellationToken
Token used to cancel the execution of the method
22.82.5.1.2. Returns
The opaque unique identifier representing the object and the size of the object that has been uploaded.
22.82.5.1.3. Remarks
Opaque ID will be used to refer to the object. The implementation of this interface should generate it.
22.82.5.1.4. Exceptions
the key is not found
22.82.5.2. Check(HealthCheckTag)
Checks the status of a class for the given health check type.
public Task<HealthCheckResult> Check(HealthCheckTag tag)
22.82.5.2.1. Parameters
tag HealthCheckTag
Health check for which the class has to answer.
22.82.5.2.2. Returns
The result of the check containing the status of the class for the health check type.
22.82.5.3. GetSizesAsync(IEnumerable<byte[]>, CancellationToken)
Check if the given keys are existing in the object storage
public Task<IDictionary<byte[], long?>> GetSizesAsync(IEnumerable<byte[]> ids, CancellationToken cancellationToken = default)
22.82.5.3.1. Parameters
ids IEnumerable<byte[]>
Opaque unique identifiers representing the objects to check
cancellationToken CancellationToken
Token used to cancel the execution of the method
22.82.5.3.2. Returns
Task<IDictionary<byte[], long?>>
A map giving the results size if it exits, null otherwise
22.82.5.4. GetValuesAsync(byte[], CancellationToken)
Get object in the Object Storage
public IAsyncEnumerable<byte[]> GetValuesAsync(byte[] id, CancellationToken cancellationToken = default)
22.82.5.4.1. Parameters
id byte[]
Opaque unique identifier representing the object
cancellationToken CancellationToken
Token used to cancel the execution of the method
22.82.5.4.2. Returns
Byte arrays representing the object chunked
22.82.5.4.3. Exceptions
the key is not found
22.82.5.5. Init(CancellationToken)
Executes an initialization process for the class
public Task Init(CancellationToken cancellationToken)
22.82.5.5.1. Parameters
cancellationToken CancellationToken
Token used to cancel the execution of the method
22.82.5.5.2. Returns
Task representing the asynchronous execution of the method
22.82.5.6. TryDeleteAsync(IEnumerable<byte[]>, CancellationToken)
Delete data in the object storage
public Task TryDeleteAsync(IEnumerable<byte[]> ids, CancellationToken cancellationToken = default)
22.82.5.6.1. Parameters
ids IEnumerable<byte[]>
Opaque unique identifiers representing the objects to delete
cancellationToken CancellationToken
Token used to cancel the execution of the method
22.82.5.6.2. Returns
Task representing the asynchronous execution of the method
22.82.5.6.3. Exceptions
the key is not found