/** * 数据(图片等)上传Minio服务器 * */ #ifndef TOMINIOSRVENGINE_H #define TOMINIOSRVENGINE_H #include "AppCommon.h" #include "EngineBase.h" #include "EngineFactory.h" #include "json/json.h" #include #include #include #include #include #include #include #include using namespace ai_matrix; class ToMinioSrvEngine : public ai_matrix::EngineBase { public: ToMinioSrvEngine(); ~ToMinioSrvEngine(); APP_ERROR Init() override; APP_ERROR DeInit() override; APP_ERROR Process() override; private: bool CreateBucket(const std::string &strBucketName); bool DeleteBucket(const std::string &strBucketName); bool PutObject(std::string strBucketName, std::string strObjectKey, std::string strPathkey); bool DeleteObject(std::string strBucketName, std::string strObjectKey); //数据上传 bool DataToMinioSrv(Json::Value &jvFtpData); //处理上传失败的信息 void DealMinioFailInfo(); //保存上传失败的信息 bool SaveMinioFailInfo(Json::Value &jvFtpData, std::string &strFilePath); ai_matrix::MinioConfig minioConfig_; ai_matrix::BaseConfig baseConfig_; std::string strPort0_; std::string strFailSavePath_; //失败信息保存文件 std::string strFailSaveBakPath_; //失败信息保存文件备份 Aws::SDKOptions options_; Aws::S3::S3Client* client_; }; ENGINE_REGIST(ToMinioSrvEngine) #endif