|
|
před 6 roky | |
|---|---|---|
| .github | před 7 roky | |
| 3rdparty | před 7 roky | |
| acm | před 6 roky | |
| acms-open | před 6 roky | |
| adb | před 6 roky | |
| address-purification | před 6 roky | |
| aegis | před 6 roky | |
| afs | před 6 roky | |
| airec | před 6 roky | |
| alidns | před 6 roky | |
| alimt | před 6 roky | |
| aliyuncvc | před 6 roky | |
| amqp-open | před 6 roky | |
| appmallsservice | před 6 roky | |
| arms | před 6 roky | |
| arms4finance | před 6 roky | |
| bssopenapi | před 6 roky | |
| cas | před 6 roky | |
| cassandra | před 6 roky | |
| cbn | před 6 roky | |
| ccc | před 6 roky | |
| ccs | před 6 roky | |
| cdn | před 6 roky | |
| chatbot | před 6 roky | |
| cloudapi | před 6 roky | |
| cloudauth | před 6 roky | |
| cloudesl | před 6 roky | |
| cloudphoto | před 6 roky | |
| cloudwf | před 6 roky | |
| cms | před 6 roky | |
| companyreg | před 6 roky | |
| core | před 6 roky | |
| cr | před 6 roky | |
| crm | před 6 roky | |
| cs | před 6 roky | |
| csb | před 6 roky | |
| cusanalytic_sc_online | před 6 roky | |
| dataworks-public | před 6 roky | |
| dbfs | před 6 roky | |
| dbs | před 6 roky | |
| dcdn | před 6 roky | |
| dds | před 6 roky | |
| democenter | před 6 roky | |
| dms-enterprise | před 6 roky | |
| domain | před 6 roky | |
| drds | před 6 roky | |
| dyplsapi | před 6 roky | |
| dypnsapi | před 6 roky | |
| dysmsapi | před 6 roky | |
| dyvmsapi | před 6 roky | |
| eas | před 6 roky | |
| ecs | před 6 roky | |
| ehpc | před 6 roky | |
| elasticsearch | před 6 roky | |
| emr | před 6 roky | |
| ess | před 6 roky | |
| et-industry-openapi | před 6 roky | |
| examples | před 7 roky | |
| fnf | před 6 roky | |
| foas | před 6 roky | |
| ft | před 6 roky | |
| geoip | před 6 roky | |
| gpdb | před 6 roky | |
| green | před 6 roky | |
| hbase | před 6 roky | |
| hiknoengine | před 6 roky | |
| hsm | před 6 roky | |
| httpdns | před 6 roky | |
| imagesearch | před 6 roky | |
| imm | před 6 roky | |
| iot | před 6 roky | |
| iqa | před 6 roky | |
| ivision | před 6 roky | |
| ivpd | před 6 roky | |
| jarvis | před 6 roky | |
| jarvis-public | před 6 roky | |
| kms | před 6 roky | |
| ledgerdb | před 6 roky | |
| linkface | před 6 roky | |
| live | před 6 roky | |
| lubancloud | před 6 roky | |
| market | před 6 roky | |
| mopen | před 6 roky | |
| mts | před 6 roky | |
| multimediaai | před 6 roky | |
| nlp-automl | před 6 roky | |
| ons | před 6 roky | |
| onsmqtt | před 6 roky | |
| oos | před 6 roky | |
| openanalytics | před 6 roky | |
| ots | před 6 roky | |
| outboundbot | před 6 roky | |
| polardb | před 6 roky | |
| push | před 6 roky | |
| pvtz | před 6 roky | |
| r-kvstore | před 6 roky | |
| ram | před 6 roky | |
| rds | před 6 roky | |
| reid | před 6 roky | |
| retailcloud | před 6 roky | |
| ros | před 6 roky | |
| rtc | před 6 roky | |
| saf | před 6 roky | |
| sas | před 6 roky | |
| sas-api | před 6 roky | |
| scdn | před 6 roky | |
| schedulerx2 | před 6 roky | |
| sddp | před 6 roky | |
| slb | před 6 roky | |
| smartag | před 6 roky | |
| smc | před 6 roky | |
| snsuapi | před 6 roky | |
| sts | před 6 roky | |
| tag | před 6 roky | |
| tesladam | před 6 roky | |
| teslamaxcompute | před 6 roky | |
| teslastream | před 6 roky | |
| test | před 6 roky | |
| tools | před 7 roky | |
| trademark | před 6 roky | |
| ubsms | před 6 roky | |
| vcs | před 6 roky | |
| videosearch | před 6 roky | |
| visionai-poc | před 6 roky | |
| vod | před 6 roky | |
| voicenavigator | před 6 roky | |
| vpc | před 6 roky | |
| waf-openapi | před 6 roky | |
| workorder | před 6 roky | |
| xspace | před 6 roky | |
| xtrace | před 6 roky | |
| yundun | před 6 roky | |
| yundun-ds | před 6 roky | |
| .clang-format | před 6 roky | |
| .gitignore | před 6 roky | |
| .travis.yml | před 7 roky | |
| CHANGELOG | před 6 roky | |
| CMakeLists.txt | před 6 roky | |
| CONTRIBUTING.md | před 7 roky | |
| Doxyfile | před 8 roky | |
| LICENSE | před 7 roky | |
| README-CN.md | před 6 roky | |
| README.md | před 6 roky | |
| VERSION | před 6 roky | |
| easyinstall.sh | před 6 roky | |
| function_test.sh | před 7 roky | |
| generate_code_cov.sh | před 7 roky | |
| unit_test.sh | před 7 roky |
English | 简体中文
Alibaba Cloud SDK for C++ 让您不用复杂编程即可访问云服务器、负载均衡、云监控等阿里云服务。这里向您介绍如何获取 Alibaba Cloud SDK for C++ 并开始调用。
如果您在使用的过程中遇到任何问题,欢迎前往阿里云SDK问答社区提问,提问前请阅读提问引导。亦可在当前 GitHub 提交 Issues。
在使用 Alibaba Cloud SDK for C++ 前,确保您已经:
说明: 为了保证您的账号安全,建议您使用RAM账号来访问阿里云服务。阿里云账号对拥有的资源有全部权限。RAM账号由阿里云账号授权创建,仅有对特定资源限定的操作权限。详情参见RAM。
开通了云产品服务。有些云产品如对象存储(OSS)需要先在阿里云控制台开通服务。
安装支持 C++ 11 或更高版本的编译器:
安装 CMake 3.0 或以上版本
建议 4G 或以上内存
例如:在基于 Redhat / Fedora 的系统上安装这些软件包
# use yum
yum install jsoncpp-devel openssl-devel uuid-devel libcurl-devel
# use dnf
sudo dnf install libcurl-devel openssl-devel libuuid-devel libjsoncpp-devel
在基于 Debian/Ubuntu 的系统
sudo apt-get install libcurl4-openssl-dev libssl-dev uuid-dev libjsoncpp-dev
执行以下命令,从 Github 克隆源码
git clone https://github.com/aliyun/aliyun-openapi-cpp-sdk.git
编译安装
手动编译安装
cd aliyun-openapi-cpp-sdk
mkdir sdk_build
cd sdk_build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install
或者通过 easyinstall.sh一键式安装
cd aliyun-openapi-cpp-sdk
sudo sh easyinstall.sh <lower name of product (like 'ecs')>
# example
sudo sh easyinstall.sh core
sudo sh easyinstall.sh ecs
Alibaba Cloud SDK for C++ 将被安装在 /usr .
安装 perl
使用 git-bash 执行以下命令,从 Github 克隆源码
git clone https://github.com/aliyun/aliyun-openapi-cpp-sdk.git
使用 Visual Studio 进行编译:
sdk_build 目录Browse Source 为 源代码目录(aliyun-openapi-cpp-sdk)Browse build 为 构建目录(sdk_build)configureBUILD_PRODUCT 参数的值generate, 构建 VS 解决方案。Release 输出INSTALLAlibaba Cloud SDK for C++ 将安装在 C:\Program File (x86)\alibabacloud-sdk 目录
注意:请以管理员身份运行 Visual Studio 和 cmake-gui,否则无法安装 SDK
在调用 Alibaba Cloud SDK for C++ 时,您首先需要配置预处理器定义 ALIBABACLOUD_SHARED 以引用阿里云 C++ SDK 的共享库,然后通过创建 Client 实例提供身份验证,并指定云服务的地域,然后发送API请求。
以下代码展示了如何调用 DescribeInstancesAPI 查询指定地域所有 ECS 实例的详细信息。
说明: 您需要替换示例中的 your-region-id、your-access-key-id 和 your-access-key-secret 的值。
#include <iostream>
#include <alibabacloud/core/AlibabaCloud.h>
#include <alibabacloud/ecs/EcsClient.h>
using namespace AlibabaCloud;
using namespace AlibabaCloud::Ecs;
int main(int argc, char** argv) {
// 初始化 SDK
AlibabaCloud::InitializeSdk();
// 配置 ecs 实例
ClientConfiguration configuration("<your-region-id>");
EcsClient client("<your-access-key-id>", "<your-access-key-secret>", configuration);
// 创建API请求并设置参数
Model::DescribeInstancesRequest request;
request.setPageSize(10);
auto outcome = client.describeInstances(request);
if (!outcome.isSuccess()) {
// 异常处理
std::cout << outcome.error().errorCode() << std::endl;
AlibabaCloud::ShutdownSdk();
return -1;
}
std::cout << "totalCount: " << outcome.result().getTotalCount() << std::endl;
// 关闭 SDK
AlibabaCloud::ShutdownSdk();
return 0;
}
复制上述文件到 ecs_test.cc。
Linux 下
~$ g++ -o ecstest ecs_test.cc --std=c++11 -lalibabacloud-sdk-core -l alibabacloud-sdk-ecs
~$ ./ecstest
# 结果或错误返回将在此展示
~$
CPP SDK 使用 libcurl 作为底层 HTTP 传输库。
下面两个参数用来传递超时参数到 libcurl。
默认值
可以在创建 Client 或者发 Requst 设置超时参数。
Requst 设置优先级高于 Client 设置。
输入 0 或者 -1 到 setConnectTimeout 和 setReadTimeout 可以禁用此功能。
下面代码是设置超时参数的例子,由于 Request 优先级高于 Client,所以最终 ConnectTimeout 为 1000ms, readTimeout 为 6000ms。
#include <iostream>
#include <alibabacloud/core/AlibabaCloud.h>
#include <alibabacloud/ecs/EcsClient.h>
using namespace AlibabaCloud;
using namespace AlibabaCloud::Ecs;
int main(int argc, char** argv) {
// Initialize the SDK
AlibabaCloud::InitializeSdk();
// Configure the ECS instance
ClientConfiguration configuration("<your-region-id>");
// specify timeout when create client.
configuration.setConnectTimeout(1500);
configuration.setReadTimeout(4000);
EcsClient client("<your-access-key-id>", "<your-access-key-secret>", configuration);
// Create an API request and set parameters
Model::DescribeInstancesRequest request;
request.setPageSize(10);
// specify timeout when request
request.setConnectTimeout(1000);
request.setReadTimeout(6000);
auto outcome = client.describeInstances(request);
if (!outcome.isSuccess()) {
// Handle exceptions
std::cout << outcome.error().errorCode() << std::endl;
AlibabaCloud::ShutdownSdk();
return -1;
}
std::cout << "totalCount: " << outcome.result().getTotalCount() << std::endl;
// Close the SDK
AlibabaCloud::ShutdownSdk();
return 0;
}
更多 例程
提交 Issue, 不符合指南的问题可能会立即关闭。
每个版本的详细更改记录在发行说明中。
提交 Pull Request 之前请阅读贡献指南。
版权所有 1999-2019 阿里巴巴集团