[#1] Add Object Head/Put/Delete operations
Signed-off-by: Ivan Pchelintsev <i.pchelintsev@yadro.com>
This commit is contained in:
parent
ee1bf29304
commit
013d8a8436
13 changed files with 192 additions and 12 deletions
|
@ -1,10 +1,10 @@
|
|||
using FrostFS.SDK.ClientV2;
|
||||
using FrostFS.SDK.ClientV2.Mappers.GRPC;
|
||||
using FrostFS.SDK.ModelsV2;
|
||||
using Google.Protobuf;
|
||||
|
||||
namespace FrostFS.SDK.Service;
|
||||
|
||||
// TODO: Проверять ответы Grpc
|
||||
public class FrostFsService
|
||||
{
|
||||
private readonly IFrostFSClient _client;
|
||||
|
@ -42,4 +42,33 @@ public class FrostFsService
|
|||
{
|
||||
var deleteContainerResponse = await _client.DeleteContainerAsync(containerId.ToGrpcMessage());
|
||||
}
|
||||
|
||||
public async Task<ObjectHead> GetObjectHeadAsync(ContainerId containerId, ObjectId objectId)
|
||||
{
|
||||
var getObjectHeadResponse = await _client.GetObjectHeadAsync(
|
||||
containerId.ToGrpcMessage(),
|
||||
objectId.ToGrpcMessage()
|
||||
);
|
||||
return getObjectHeadResponse.Body.Header.Header.ToModel();
|
||||
}
|
||||
|
||||
public async Task<ObjectId> PutObjectAsync(ContainerId containerId, Stream data)
|
||||
{
|
||||
var putObjectResponse = await _client.PutObjectAsync(containerId.ToGrpcMessage(), data);
|
||||
return ObjectId.FromHash(putObjectResponse.Body.ObjectId.Value.ToByteArray());
|
||||
}
|
||||
|
||||
public async Task<ObjectId> PutObjectAsync(ContainerId containerId, byte[] data)
|
||||
{
|
||||
var putObjectResponse = await _client.PutObjectAsync(containerId.ToGrpcMessage(), new MemoryStream(data));
|
||||
return ObjectId.FromHash(putObjectResponse.Body.ObjectId.Value.ToByteArray());
|
||||
}
|
||||
|
||||
public async Task DeleteObjectAsync(ContainerId containerId, ObjectId objectId)
|
||||
{
|
||||
var deleteObjectResponse = await _client.DeleteObjectAsync(
|
||||
containerId.ToGrpcMessage(),
|
||||
objectId.ToGrpcMessage()
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue