VCarContainer/engine/DataUploadEngine/ToMinioSrvEngine.h

59 lines
1.6 KiB
C
Raw Normal View History

2024-11-24 00:58:06 +00:00
/**
* ()Minio服务器
* */
#ifndef TOMINIOSRVENGINE_H
#define TOMINIOSRVENGINE_H
#include "AppCommon.h"
#include "EngineBase.h"
#include "EngineFactory.h"
#include "json/json.h"
#include <aws/core/Aws.h>
#include <aws/core/auth/AWSCredentialsProvider.h>
#include <aws/s3/S3Client.h>
#include <aws/s3/model/CreateBucketRequest.h>
#include <aws/s3/model/DeleteBucketRequest.h>
#include <aws/s3/model/GetObjectRequest.h>
#include <aws/s3/model/PutObjectRequest.h>
#include <aws/s3/model/DeleteObjectRequest.h>
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