欢迎使用移动云C++ SDK 。
移动云 C++ SDK 让您无需关心请求细节即可快速使用弹性云主机等多个移动云服务。
这里将向您介绍如何获取并使用移动云C++ SDK 。
要使用移动云 C++ SDK ,您需要拥有移动云账号以及该账号对应的 Access Key(AK)和 Secret Key(SK)。请在移动云控制台 “我的凭证-访问密钥” 页面上创建和查看您的 AK&SK 。更多信息请查看 访问密钥 。
移动云 C++ SDK 支持 C++ 11 及以上版本,要求安装CMake 3.10及以上版本。
boost
、cpprestsdk
、spdlog
、openssl
所需依赖包除spdlog外都可以在各系统包管理工具中获取:
例如基于 Debian/Ubuntu 的系统
sudo apt-get install libboost-all-dev libssl-dev libcpprest-dev
基于 CentOS 的系统
sudo yum install libboost-all-dev libssl-dev libcpprest-dev
spdlog手动编译安装:
git clone https://github.com/gabime/spdlog.git
cd spdlog && mkdir build && cd build
cmake .. && make -j
spdlog安装,请参考:gabime/spdlog官方说明
git clone https://gitee.com/chinamobile_ecloud/ecloud-sdk-cpp.git
cd ecloud-sdk-cpp
mkdir build
cd build && cmake ..
make && make install
完成上述操作后,C++ SDK 安装目录为 /usr/local
。
推荐使用vcpkg管理第三方依赖包,Windows操作系统安装vcpkg,请参考:
vcpkg install cpprestsdk boost openssl spdlog
2.1、使用 CLion 打开 ecloud-sdk-cpp
目录
2.2、选择 File
→ Settings
2.3、选择 Build, Execution, Deployment
→ CMake
2.4、在 CMake options
中加入
2.5、-DCMAKE_TOOLCHAIN_FILE={your vcpkg install dir}/scripts/buildsystems/vcpkg.cmake
2.6、右键 CMakeLists.txt
选择 Load CMake Project
2.7、选择Build
开始编译
编译完成后选择 Build
→ Install
完成上述操作后,C++ SDK 安装目录为 C:\Program File (x86)\ecloud-sdk-cpp
。
<YOUR AK>
、<YOUR SK>
、poolId
。#include <string>
#include <memory>
#include <vector>
#include <ecloud/core/Config.h>
#include <ecloud/ecs/v1/Client.h>
using namespace Ecloud::Sdk::ECS::V1;
using namespace Ecloud::Sdk::ECS::V1::Model;
using namespace Ecloud::Sdk::Core;
using namespace std;
int main(void)
{
auto config = std::make_shared<Config>();
config->setAccessKey("<YOUR AK>");
config->setSecretKey("<YOUR SK>");
config->setPoolId("poolId");
auto client = std::make_shared<Client>(config);
VmGetServerPortsRequest vmGetServerPortsRequest;
VmGetServerPortsPath vmGetServerPortsPath;
vmGetServerPortsPath.setServerId("test001");
vmGetServerPortsRequest.setVmGetServerPortsPath(vmGetServerPortsPath);
auto result = client->vmGetServerPorts(vmGetServerPortsRequest);
}
API开放平台 提供API检索及平台调试,支持全量快速检索、可视化调试、帮助文档查看等能力。
auto config = std::make_shared<Config>();
config->setAccessKey("<YOUR AK>");
config->setSecretKey("<YOUR SK>");
config->setPoolId("poolId");
auto config = std::make_shared<Config>();
config->setAccessKey("<YOUR AK>");
config->setSecretKey("<YOUR SK>");
config->setPoolId("poolId");
auto httpRequest = std::make_shared<HttpRequest>();
auto client = std::make_shared<Client>(config,httpRequest);
auto config = std::make_shared<Config>();
config->setAccessKey("<YOUR AK>");
config->setSecretKey("<YOUR SK>");
config->setPoolId("poolId");
config->setReadTimeOut(5);
认证参数说明:
ak
- 移动云账号 Access Keysk
- 移动云账号 Secret KeypoolId
- 服务部署区域(资源池编号)auto config = std::make_shared<Config>();
config->setAccessKey("<YOUR AK>");
config->setSecretKey("<YOUR SK>");
config->setPoolId("poolId");
auto config = std::make_shared<Config>();
config->setAccessKey("<YOUR AK>");
config->setSecretKey("<YOUR SK>");
config->setPoolId("poolId");
auto client = std::make_shared<Client>(config);
VmGetServerPortsRequest vmGetServerPortsRequest;
VmGetServerPortsPath vmGetServerPortsPath;
vmGetServerPortsPath.setServerId("test001");
vmGetServerPortsRequest.setVmGetServerPortsPath(vmGetServerPortsPath);
auto result = client->vmGetServerPorts(vmGetServerPortsRequest);
SDK 对程序执行过程中各类异常以ApiException进行统一收口。
try {
response = client.VmGetServerPorts(request)
} catch (ApiException &e) {
std::cout << e.what() << std::endl;
}
构建单个工程
SET(BUILD_PRO ecloudsdkecs)
SET(BUILD_VERSION v1)
if (BUILD_PRO STREQUAL "all" OR BUILD_PRO STREQUAL "")
add_subdirectory(ecloudsdkcore)
message(STATUS "Build all Services")
else ()
add_subdirectory(ecloudsdkcore)
add_subdirectory(${BUILD_PRO}/src/${BUILD_VERSION})
endif ()
构建多个工程
add_subdirectory(ecloudsdkcore)
add_subdirectory(ecloudsdkecs/src/v1)
add_subdirectory(ecloudsdktag/src/v1)
add_subdirectory(ecloudsdkims/src/v1)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型