Sem descrição

Axios 175996b239 supported request headers operation há 6 anos atrás
.github ecd09578e8 fix typo in issue template há 7 anos atrás
3rdparty ad045aa702 fix build failed há 7 anos atrás
adb 4819dbb983 Support Tag OpenAPI. há 6 anos atrás
aegis ba463ae2dc fixed #51 há 7 anos atrás
afs ba463ae2dc fixed #51 há 7 anos atrás
alidns 895d40a767 DescribeTransferDomains add query param, TargetUserId, FromUserId, DomainName. há 6 anos atrás
alimt f3eaf1d292 Generate SDK by new Generator há 7 anos atrás
aliyuncvc 7e643e8a5d Initial construction. há 6 anos atrás
appmallsservice ba463ae2dc fixed #51 há 7 anos atrás
arms ba463ae2dc fixed #51 há 7 anos atrás
arms4finance f3eaf1d292 Generate SDK by new Generator há 7 anos atrás
bssopenapi d499a02ffc Modify QueryBill, add SubOrderId in item of response. há 6 anos atrás
cas ba463ae2dc fixed #51 há 7 anos atrás
cbn ba463ae2dc fixed #51 há 7 anos atrás
ccc ba463ae2dc fixed #51 há 7 anos atrás
ccs ba463ae2dc fixed #51 há 7 anos atrás
cdn 2e832b9098 Fixed bugs. há 6 anos atrás
chatbot 76073f9272 Generated 2017-10-11 for Chatbot. há 6 anos atrás
cloudapi ba463ae2dc fixed #51 há 7 anos atrás
cloudauth ba463ae2dc fixed #51 há 7 anos atrás
cloudphoto ba463ae2dc fixed #51 há 7 anos atrás
cloudwf ba463ae2dc fixed #51 há 7 anos atrás
cms e73100b250 Add tag API. há 6 anos atrás
companyreg ba463ae2dc fixed #51 há 7 anos atrás
core 175996b239 supported request headers operation há 6 anos atrás
cr f3eaf1d292 Generate SDK by new Generator há 7 anos atrás
crm ba463ae2dc fixed #51 há 7 anos atrás
cs f3eaf1d292 Generate SDK by new Generator há 7 anos atrás
csb ba463ae2dc fixed #51 há 7 anos atrás
cusanalytic_sc_online ba463ae2dc fixed #51 há 7 anos atrás
dbs 85c4ce8295 Modify DescribeRestoreRangeInfo. há 6 anos atrás
dcdn b3e689b905 Sync cdn APIs. há 6 anos atrás
dds ba463ae2dc fixed #51 há 7 anos atrás
dnsknocker e3c9867b49 Generated 2019-09-10 for DnsKnocker. há 7 anos atrás
domain ba463ae2dc fixed #51 há 7 anos atrás
drds ba463ae2dc fixed #51 há 7 anos atrás
dyplsapi cb3390b9f5 Add OperateBlackNo. há 6 anos atrás
dypnsapi ec00b5d969 Add new OpenAPI. há 6 anos atrás
dysmsapi f16c54ae8c Remove QuerySmsProdStatus OpenAPI. há 6 anos atrás
dyvmsapi 99ae87ba10 Add API ReportVoipProblems. há 6 anos atrás
ecs 55ccde8b7c Eni Supports Multi-SecurityGroup. há 6 anos atrás
ehpc 973d0d3250 Generated 2018-04-12 for EHPC. há 6 anos atrás
elasticsearch 5c2cfdcad8 Add RenewInstance. há 6 anos atrás
emr ba463ae2dc fixed #51 há 7 anos atrás
ess ba463ae2dc fixed #51 há 7 anos atrás
et-industry-openapi c94e372ec7 Generated 2019-06-10 for et-industry-openapi. há 6 anos atrás
examples 2e42d8fa7f update readme há 7 anos atrás
fnf ba463ae2dc fixed #51 há 7 anos atrás
foas ba463ae2dc fixed #51 há 7 anos atrás
gpdb ba463ae2dc fixed #51 há 7 anos atrás
green 0dc8a66e75 Add VideoCancelScan Api. há 7 anos atrás
hbase 099e528d4d Generated 2019-01-01 for HBase. há 6 anos atrás
hsm ba463ae2dc fixed #51 há 7 anos atrás
httpdns ba463ae2dc fixed #51 há 7 anos atrás
imagesearch ba463ae2dc fixed #51 há 7 anos atrás
imm 059ea89535 Supported dash for compress. há 6 anos atrás
iot fea7e3c707 Generated 2018-01-20 for Iot. há 7 anos atrás
iqa 63f8b47b8d Release first version. há 7 anos atrás
ivision 90f78851fa Supported Sync predict for Image. há 6 anos atrás
ivpd ba463ae2dc fixed #51 há 7 anos atrás
jarvis ba463ae2dc fixed #51 há 7 anos atrás
jarvis-public ba463ae2dc fixed #51 há 7 anos atrás
kms 032fbad258 Generated 2016-01-20 for Kms. há 7 anos atrás
linkface ba463ae2dc fixed #51 há 7 anos atrás
live ba463ae2dc fixed #51 há 7 anos atrás
lubancloud ba463ae2dc fixed #51 há 7 anos atrás
market ba463ae2dc fixed #51 há 7 anos atrás
mopen ba463ae2dc fixed #51 há 7 anos atrás
mts ba463ae2dc fixed #51 há 7 anos atrás
nlp-automl acd143c294 Update Nlp Automl SDK. há 6 anos atrás
ons ba463ae2dc fixed #51 há 7 anos atrás
openanalytics ba463ae2dc fixed #51 há 7 anos atrás
ots ba463ae2dc fixed #51 há 7 anos atrás
polardb 0c750a10f5 Add DescribeDBClusterPerformance, DescribeDBNodePerformance for performance. há 7 anos atrás
push c5ef4b1c88 Supported query push records. há 7 anos atrás
pvtz ba463ae2dc fixed #51 há 7 anos atrás
r-kvstore 9bad4d5db8 Update DescribeAvailableResource. há 6 anos atrás
ram ba463ae2dc fixed #51 há 7 anos atrás
rds 3da02ee896 Supported ModifyDBInstanceSpec for Direction param. há 6 anos atrás
ros f3eaf1d292 Generate SDK by new Generator há 7 anos atrás
rtc 80e1de8211 One or more people can be subscribed when creating tasks. há 6 anos atrás
saf f3eaf1d292 Generate SDK by new Generator há 7 anos atrás
sas ba463ae2dc fixed #51 há 7 anos atrás
sas-api ba463ae2dc fixed #51 há 7 anos atrás
scdn 9cc8d6643d Add Scdn APIS. há 6 anos atrás
sddp ba463ae2dc fixed #51 há 7 anos atrás
slb ba463ae2dc fixed #51 há 7 anos atrás
smartag ba463ae2dc fixed #51 há 7 anos atrás
smc a25fc9202a CreateReplicationJob API supports the specified instance type. há 6 anos atrás
snsuapi ba463ae2dc fixed #51 há 7 anos atrás
sts f3eaf1d292 Generate SDK by new Generator há 7 anos atrás
tesladam ba463ae2dc fixed #51 há 7 anos atrás
teslamaxcompute ba463ae2dc fixed #51 há 7 anos atrás
teslastream ba463ae2dc fixed #51 há 7 anos atrás
test 175996b239 supported request headers operation há 6 anos atrás
tools c17dc7c79a refactor endpoints implementation há 7 anos atrás
trademark ba463ae2dc fixed #51 há 7 anos atrás
ubsms ba463ae2dc fixed #51 há 7 anos atrás
vod 85d11c3bba Add a new api named SubmitDynamicImageJob capture a certain part of the video as a dynamic image. há 7 anos atrás
vpc ba463ae2dc fixed #51 há 7 anos atrás
xspace ba463ae2dc fixed #51 há 7 anos atrás
xtrace 5bdc3d7027 Add api QueryMetric. há 6 anos atrás
yundun ba463ae2dc fixed #51 há 7 anos atrás
yundun-ds ba463ae2dc fixed #51 há 7 anos atrás
.gitignore 175996b239 supported request headers operation há 6 anos atrás
.travis.yml 4262cf11c8 fix travis ci config há 7 anos atrás
CHANGELOG 895d40a767 DescribeTransferDomains add query param, TargetUserId, FromUserId, DomainName. há 6 anos atrás
CMakeLists.txt 175996b239 supported request headers operation há 6 anos atrás
CONTRIBUTING.md fe958d3794 refactor readme há 7 anos atrás
Doxyfile f6db1a27e4 Init commit há 8 anos atrás
LICENSE 1ee62b8677 update license year há 7 anos atrás
README-CN.md f76987f991 improve readme&gitignore há 6 anos atrás
README.md f76987f991 improve readme&gitignore há 6 anos atrás
VERSION 895d40a767 DescribeTransferDomains add query param, TargetUserId, FromUserId, DomainName. há 6 anos atrás
easyinstall.sh f877a9ef39 update readme há 7 anos atrás
function_test.sh 619a7827de timeout support when create client or make request há 7 anos atrás
generate_code_cov.sh 21edc7f283 fix unit test build failed há 7 anos atrás
unit_test.sh c99809b8e4 support http put and delete há 7 anos atrás

README-CN.md

English | 简体中文

Alibaba Cloud SDK for C++

Travis Build Status codecov

Alibaba Cloud SDK for C++ 让您不用复杂编程即可访问云服务器、负载均衡、云监控等阿里云服务。这里向您介绍如何获取 Alibaba Cloud SDK for C++ 并开始调用。

如果您在使用的过程中遇到任何问题,欢迎前往阿里云SDK问答社区提问,提问前请阅读提问引导。亦可在当前 GitHub 提交 Issues

环境要求

在使用 Alibaba Cloud SDK for C++ 前,确保您已经:

  • 注册了阿里云账号并获取了访问密钥(AccessKey)。

说明: 为了保证您的账号安全,建议您使用RAM账号来访问阿里云服务。阿里云账号对拥有的资源有全部权限。RAM账号由阿里云账号授权创建,仅有对特定资源限定的操作权限。详情参见RAM

  • 开通了云产品服务。有些云产品如对象存储(OSS)需要先在阿里云控制台开通服务。

  • 安装支持 C++ 11 或更高版本的编译器:

    • Windows: Visual Studio 2015 或以上版本
    • Linux: GCC 4.9 或以上版本
  • 安装 CMake 3.0 或以上版本

  • 建议 4G 或以上内存

安装 (从源代码构建)

Linux

  1. 要在 Linux 平台进行编译, 您必须安装依赖的外部库文件 libcurl、libopenssl、libuuid、libjsoncpp, 通常情况下,系统的包管理器中的会有提供。
  • 例如:在基于 Redhat / Fedora 的系统上安装这些软件包

    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
    
  1. 执行以下命令,从 Github 克隆源码

    git clone https://github.com/aliyun/aliyun-openapi-cpp-sdk.git
    
  2. 编译安装

  • 手动编译安装

    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
    

Alibaba Cloud SDK for C++ 将被安装在 /usr .

Windows

  1. 安装 perl

  2. 使用 git-bash 执行以下命令,从 Github 克隆源码

    git clone https://github.com/aliyun/aliyun-openapi-cpp-sdk.git
    
  3. 使用 Visual Studio 进行编译:

  • 在 aliyun-openapi-cpp-sdk 下创建 sdk_build 目录
  • 打开 cmake-ui , 然后进行以下操作
    • 选择 源代码目录(Browse Source)
    • 选择 构建目录(Browse build)sdk_build
    • 点击 配置(configure)
    • 点击 生成(generate), 构建 VS 解决方案。
  1. 编译安装 C++ SDK
  • 进入 sdk_build 目录,使用 Visual Studio 打开 alibabacloud-sdk.sln 解决方案
  • 选择构建 Release 输出
  • 并打开配置管理器勾选 INSTALL
  • 构建 -> 生成解决方案

Alibaba Cloud SDK for C++ 将安装在 C:\Program File (x86)\alibabacloud-sdk 目录

注意:请以管理员身份运行 Visual Studio,否则无法安装 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
# 结果或错误返回将在此展示
~$

Timeout 设置

CPP SDK 使用 libcurl 作为底层 HTTP 传输库。

  • 下面两个参数用来传递超时参数到 libcurl。

    • connectTimeout: 连接超时设置。 参考.

    • readTimeout: 传输超时设置。参考

  • 默认值

    • connectTimeout: 5000ms

    • readTimeout: 10000ms

  • 可以在创建 Client 或者发 Requst 设置超时参数。

  • Requst 设置优先级高于 Client 设置。

  • 输入 0 或者 -1 到 setConnectTimeoutsetReadTimeout 可以禁用此功能。

下面代码是设置超时参数的例子,由于 Request 优先级高于 Client,所以最终 ConnectTimeout1000msreadTimeout6000ms

#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 之前请阅读贡献指南

许可证

Apache-2.0

版权所有 1999-2019 阿里巴巴集团