MinIO C++SDK是一个简单的存储服务(又名S3)客户端,用于对任何与亚马逊S3兼容的对象存储服务执行bucket和对象操作。
有关完整的API和示例列表,请查看MinIO C++客户端API参考
vcpkg安装MinIO C++客户端SDK可以通过vcpkg软件包管理器安装:
$ vcpkg install minio-cpp
通常,minio-cpp将是vcpkg.json文件中指定的依赖项的一部分:
{ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "your-project", "version": "0.0.1", "dependencies": [ { "name": "minio-cpp" } ] }
cmake中的minio-cppMinIO C++客户端SDK可以作为依赖项在CMakeLists.txt中使用,以下可以用作示例:
cmake_minimum_required(VERSION 3.10) project(miniocpp_example LANGUAGES C CXX) # 这将尝试找到miniocpp软件包及其所有依赖项。 find_package(miniocpp REQUIRED) # 创建一个名为miniocpp-example的可执行文件: add_executable(miniocpp-example example.cpp) # 将可执行文件链接到miniocpp及其所有依赖项: target_link_libraries(miniocpp-example PRIVATE miniocpp::miniocpp) # 确保使用至少C++17: target_compile_features(miniocpp-example PUBLIC cxx_std_17)
请注意,miniocpp::miniocpp是一个cmake导入目标,它包含了从您的cmake项目文件中使用minio-cpp库所需的所有指令。
为了运行minio-cpp测试和示例,您可以执行以下操作,假设VCPKG_ROOT指向一个有效的vcpkg安装:
$ git clone https://github.com/minio/minio-cpp $ cd minio-cpp $ ${VCPKG_ROOT}/vcpkg install $ cmake . -B build/Debug -DCMAKE_BUILD_TYPE=Debug -DMINIO_CPP_TEST=ON -DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake $ cmake --build ./build/Debug
请注意,cmake也支持多配置生成器。多配置生成器在配置时不使用CMAKE_BUILD_TYPE。例如,可以按以下方式设置Visual Studio项目:
$ git clone https://github.com/minio/minio-cpp $ cd minio-cpp $ ${VCPKG_ROOT}/vcpkg install $ cmake . -B build -DMINIO_CPP_TEST=ON -DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake $ cmake --build ./build --config Debug
上面的示例假设您已经安装了vcpkg,并且您有一个VCPKG_ROOT环境变量设置。如果您没有安装vcpkg,并且只想使用它来测试minio-cpp,您可以像这样本地安装它:
$ git clone https://github.com/minio/minio-cpp $ cd minio-cpp $ git clone https://github.com/microsoft/vcpkg.git $ ./vcpkg/bootstrap-vcpkg.sh $ ./vcpkg/vcpkg install $ cmake . -B ./build/Debug -DCMAKE_BUILD_TYPE=Debug -DMINIO_CPP_TEST=ON -DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake $ cmake --build ./build/Debug
我们建议使用带有VCPKG_ROOT的设置进行开发。在这种情况下,有一个configure.sh脚本可用于创建调试和发布项目:
$ git clone https://github.com/minio/minio-cpp $ cd minio-cpp $ ./configure.sh -DMINIO_CPP_TEST=ON
#include <miniocpp/client.h> int main(int argc, char* argv[]) { // 创建S3基URL。 minio::s3::BaseUrl base_url("play.min.io"); // 创建凭证提供程序。 minio::creds::StaticProvider provider( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // 创建S3客户端。 minio::s3::Client client(base_url, &provider); std::string bucket_name = "asiatrip"; // 检查'asiatrip'bucket是否存在。 bool exist; { minio::s3::BucketExistsArgs args; args.bucket = bucket_name; minio::s3::BucketExistsResponse resp = client.BucketExists(args); if (!resp) { std::cout << "无法检查bucket是否存在;" << resp.Error() << std::endl; return EXIT_FAILURE; } exist = resp.exist; } // 如果'asiatrip'bucket不存在,则创建它。 if (!exist) { minio::s3::MakeBucketArgs args; args.bucket = bucket_name; minio::s3::MakeBucketResponse resp = client.MakeBucket(args); if (!resp) { std::cout << "无法创建bucket;" << resp.Error() << std::endl; return EXIT_FAILURE; } } // 将'/home/user/Photos/asiaphotos.zip'上 传为对象名称 // 'asiaphotos-2015.zip'到bucket'asiatrip'。 minio::s3::UploadObjectArgs args; args.bucket = bucket_name; args.object = "asiaphotos-2015.zip"; args.filename = "/home/user/Photos/asiaphotos.zip"; minio::s3::UploadObjectResponse resp = client.UploadObject(args); if (!resp) { std::cout << "无法上传对象;" << resp.Error() << std::endl; return EXIT_FAILURE; } std::cout << "'/home/user/Photos/asiaphotos.zip'已成功上传为" << "对象'asiaphotos-2015.zip'到bucket'asiatrip'." << std::endl; return EXIT_SUCCESS; }
本SDK根据Apache许可证,第2.0版分发,请参阅LICENSE以获取更多信息。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频