userver: s3api::Client Class Reference
Loading...
Searching...
No Matches
s3api::Client Class Referenceabstract

#include <userver/s3api/clients/s3api.hpp>

Detailed Description

Main interface for the S3 api

Definition at line 71 of file s3api.hpp.

+ Inheritance diagram for s3api::Client:

Classes

struct  HeaderDataRequest
 
struct  HeadersDataResponse
 
struct  Tag
 

Public Types

using CiUnorderedMap = ::http::headers::HeaderMap
 
using Meta = CiUnorderedMap
 
using Headers = CiUnorderedMap
 

Public Member Functions

virtual std::string PutObject (std::string_view path, std::string data, const std::optional< Meta > &meta=std::nullopt, std::string_view content_type="text/plain", const std::optional< std::string > &content_disposition=std::nullopt, const std::optional< std::vector< Tag > > &tags=std::nullopt) const =0
 
virtual void DeleteObject (std::string_view path) const =0
 
virtual std::optional< std::string > GetObject (std::string_view path, std::optional< std::string > version=std::nullopt, HeadersDataResponse *headers_data=nullptr, const HeaderDataRequest &headers_request=HeaderDataRequest()) const =0
 
virtual std::string TryGetObject (std::string_view path, std::optional< std::string > version=std::nullopt, HeadersDataResponse *headers_data=nullptr, const HeaderDataRequest &headers_request=HeaderDataRequest()) const =0
 
virtual std::optional< std::string > GetPartialObject (std::string_view path, std::string_view range, std::optional< std::string > version=std::nullopt, HeadersDataResponse *headers_data=nullptr, const HeaderDataRequest &headers_request=HeaderDataRequest()) const =0
 
virtual std::string TryGetPartialObject (std::string_view path, std::string_view range, std::optional< std::string > version=std::nullopt, HeadersDataResponse *headers_data=nullptr, const HeaderDataRequest &headers_request=HeaderDataRequest()) const =0
 
virtual std::string CopyObject (std::string_view key_from, std::string_view bucket_to, std::string_view key_to, const std::optional< Meta > &meta=std::nullopt)=0
 
virtual std::string CopyObject (std::string_view key_from, std::string_view key_to, const std::optional< Meta > &meta=std::nullopt)=0
 
virtual std::optional< HeadersDataResponseGetObjectHead (std::string_view path, const HeaderDataRequest &request=HeaderDataRequest()) const =0
 
virtual std::string GenerateDownloadUrl (std::string_view path, time_t expires, bool use_ssl=false) const =0
 
virtual std::string GenerateDownloadUrlVirtualHostAddressing (std::string_view path, const std::chrono::system_clock::time_point &expires_at, std::string_view protocol="https://") const =0
 
virtual std::string GenerateUploadUrlVirtualHostAddressing (std::string_view data, std::string_view content_type, std::string_view path, const std::chrono::system_clock::time_point &expires_at, std::string_view protocol="https://") const =0
 
virtual std::optional< std::string > ListBucketContents (std::string_view path, int max_keys, std::string marker="", std::string delimiter="") const =0
 
virtual std::vector< ObjectMetaListBucketContentsParsed (std::string_view path_prefix) const =0
 
virtual std::vector< std::string > ListBucketDirectories (std::string_view path_prefix) const =0
 
virtual multipart_upload::InitiateMultipartUploadResult CreateMultipartUpload (const multipart_upload::CreateMultipartUploadRequest &request) const =0
 Initiate a multipart upload sequence Performs a CreateMultipartUpload S3 Action. Returns result with upload ID which is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html.
 
virtual multipart_upload::UploadPartResult UploadPart (const multipart_upload::UploadPartRequest &request) const =0
 Upload a part in a multipart upload sequence. Performs an UploadPart S3 Action. Returns ETag value which you must include in the subsequent request to complete the multipart upload. For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html.
 
virtual multipart_upload::CompleteMultipartUploadResult CompleteMultipartUpload (const multipart_upload::CompleteMultipartUploadRequest &request) const =0
 Complete a multipart upload by assembling previously uploaded parts. Performs a CompleteMultipartUpload S3 Action. For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html.
 
virtual void AbortMultipartUpload (const multipart_upload::AbortMultipartUploadRequest &request) const =0
 Abort a multipart upload sequence. Performs an AbortMultipartUpload S3 Action. For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html.
 
virtual multipart_upload::ListPartsResult ListParts (const multipart_upload::ListPartsRequest &request) const =0
 List the parts that have been uploaded for a specific multipart upload. Performs a ListParts S3 Action. For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html.
 
virtual multipart_upload::ListMultipartUploadsResult ListMultipartUploads (const multipart_upload::ListMultipartUploadsRequest &request) const =0
 List in-progress multipart uploads in a bucket Performs a ListMultipartUploads S3 Action. For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html.
 
virtual void UpdateConfig (ConnectionCfg &&config)=0
 
virtual std::string_view GetBucketName () const =0
 

Member Typedef Documentation

◆ CiUnorderedMap

◆ Headers

Definition at line 75 of file s3api.hpp.

◆ Meta

Definition at line 74 of file s3api.hpp.

Member Function Documentation

◆ AbortMultipartUpload()

virtual void s3api::Client::AbortMultipartUpload ( const multipart_upload::AbortMultipartUploadRequest & request) const
pure virtual

Abort a multipart upload sequence. Performs an AbortMultipartUpload S3 Action. For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html.

Implemented in s3api::ClientImpl.

◆ CompleteMultipartUpload()

virtual multipart_upload::CompleteMultipartUploadResult s3api::Client::CompleteMultipartUpload ( const multipart_upload::CompleteMultipartUploadRequest & request) const
pure virtual

Complete a multipart upload by assembling previously uploaded parts. Performs a CompleteMultipartUpload S3 Action. For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html.

Implemented in s3api::ClientImpl.

◆ CreateMultipartUpload()

virtual multipart_upload::InitiateMultipartUploadResult s3api::Client::CreateMultipartUpload ( const multipart_upload::CreateMultipartUploadRequest & request) const
pure virtual

Initiate a multipart upload sequence Performs a CreateMultipartUpload S3 Action. Returns result with upload ID which is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html.

Implemented in s3api::ClientImpl.

◆ ListMultipartUploads()

virtual multipart_upload::ListMultipartUploadsResult s3api::Client::ListMultipartUploads ( const multipart_upload::ListMultipartUploadsRequest & request) const
pure virtual

List in-progress multipart uploads in a bucket Performs a ListMultipartUploads S3 Action. For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html.

Implemented in s3api::ClientImpl.

◆ ListParts()

virtual multipart_upload::ListPartsResult s3api::Client::ListParts ( const multipart_upload::ListPartsRequest & request) const
pure virtual

List the parts that have been uploaded for a specific multipart upload. Performs a ListParts S3 Action. For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html.

Implemented in s3api::ClientImpl.

◆ UploadPart()

virtual multipart_upload::UploadPartResult s3api::Client::UploadPart ( const multipart_upload::UploadPartRequest & request) const
pure virtual

Upload a part in a multipart upload sequence. Performs an UploadPart S3 Action. Returns ETag value which you must include in the subsequent request to complete the multipart upload. For details see https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html.

Implemented in s3api::ClientImpl.


The documentation for this class was generated from the following file: