59 lines
1.6 KiB
C
59 lines
1.6 KiB
C
|
|
/**
|
||
|
|
* 数据(图片等)上传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
|