safesight/plugins/alarm/uploaders/minio_uploader.h
sladro 644fb590fa
Some checks are pending
CI / host-build (push) Waiting to run
CI / rk3588-cross-build (push) Waiting to run
修改bug
2026-01-05 16:02:45 +08:00

40 lines
1.2 KiB
C++

#pragma once
#include "uploader_base.h"
namespace rk3588 {
class MinioUploader : public IUploader {
public:
bool Init(const SimpleJson& config) override;
UploadResult Upload(const std::string& key,
const uint8_t* data,
size_t size,
const std::string& content_type = "") override;
std::string Type() const override { return "minio"; }
private:
std::string endpoint_;
std::string bucket_;
std::string access_key_;
std::string secret_key_;
std::string region_;
// Recommended: use a presign service to return per-object presigned PUT URLs.
// When set, Upload() will:
// 1) POST to presign_endpoint_ with {bucket,key,content_type,size}
// 2) PUT the payload to returned upload_url
// 3) return public_url (if present) or upload_url
std::string presign_endpoint_;
int presign_timeout_ms_ = 3000;
bool use_ssl_ = false;
int max_retries_ = 0;
int retry_backoff_ms_ = 200;
int retry_backoff_max_ms_ = 2000;
int retry_jitter_ms_ = 50;
int upload_timeout_sec_ = 30;
int upload_connect_timeout_ms_ = 5000;
};
} // namespace rk3588