Без опису

sdk-team fd6a6949fb Remove GetFootwearPosition PullTakeShoesEvent PullTryOnShoesEvent. 6 роки тому
.github ecd09578e8 fix typo in issue template 7 роки тому
3rdparty ad045aa702 fix build failed 7 роки тому
acm 30fd9f48a0 Support namespaces. 6 роки тому
acms-open 54883f36c2 ACM POP SDK. 6 роки тому
adb f0c2600a26 regenerate code 6 роки тому
address-purification e3faa7d285 Support for addrp. 6 роки тому
aegis f0c2600a26 regenerate code 6 роки тому
afs f0c2600a26 regenerate code 6 роки тому
airec 1a401aa70a Generated 2018-10-12 for Airec. 6 роки тому
alidns 8a1c79417e Supported API for DescribeTags. 6 роки тому
alimt 87fc3376cb Support Document Translation. 6 роки тому
aliyuncvc 942248dfb0 Public beta version. 6 роки тому
amqp-open e065d50def Add API for GetMetadataAmount. 6 роки тому
appmallsservice f0c2600a26 regenerate code 6 роки тому
arms fbf5bf0457 Add GetMultipleTrace api. 6 роки тому
arms4finance f0c2600a26 regenerate code 6 роки тому
bssopenapi 07b50e30ef Support ServicePeriodUnit in QueryInstanceBill. 6 роки тому
cas f0c2600a26 regenerate code 6 роки тому
cassandra d4576ea2f3 Generated 2019-01-01 for Cassandra. 6 роки тому
cbn f0c2600a26 regenerate code 6 роки тому
ccc b1020d412c Add features for open api. 6 роки тому
ccs f0c2600a26 regenerate code 6 роки тому
cdn e312177cd9 Add ExportTas apis. 6 роки тому
chatbot f0c2600a26 regenerate code 6 роки тому
cloudapi f0c2600a26 regenerate code 6 роки тому
cloudauth 2650ca7420 Add Model Parameter For InitFaceVerify API. 6 роки тому
cloudesl cc1b078ff1 Support shelf type for planogram position. 6 роки тому
cloudphoto f0c2600a26 regenerate code 6 роки тому
cloudwf f0c2600a26 regenerate code 6 роки тому
cms f0c2600a26 regenerate code 6 роки тому
companyreg f0c2600a26 regenerate code 6 роки тому
core b5602fc4a4 fix code style 6 роки тому
cr f0c2600a26 regenerate code 6 роки тому
crm f0c2600a26 regenerate code 6 роки тому
cs def35a6602 Generated 2015-12-15 for CS. 6 роки тому
csb 3dd38f70c2 Add Statistics API. 6 роки тому
cusanalytic_sc_online f0c2600a26 regenerate code 6 роки тому
dataworks-public 4cda4f477d Generated 2020-05-18 for dataworks-public. 6 роки тому
dbfs c811dc5d85 Generate dbfs sdk. 6 роки тому
dbs 1ae8883f81 Add DescribeBackupPlanBilling. 6 роки тому
dcdn f0c2600a26 regenerate code 6 роки тому
dds 65a601c5ba CreateShardingDBInstance add ProtocolType, to support DynamoDB. 6 роки тому
democenter 56c516a238 Add demo edition auth. 6 роки тому
dms-enterprise 7e80260525 GetUser API return user execute query count information. 6 роки тому
domain da7aefe5aa Support SubmitOperationAuditInfo for Support self-service submission of approval information. 6 роки тому
drds f0c2600a26 regenerate code 6 роки тому
dyplsapi f0c2600a26 regenerate code 6 роки тому
dypnsapi 7107481ad3 Generated 2017-05-25 for Dypnsapi. 6 роки тому
dysmsapi f0c2600a26 regenerate code 6 роки тому
dyvmsapi f0c2600a26 regenerate code 6 роки тому
eas f0c2600a26 regenerate code 6 роки тому
ecs 57416bd581 Supported sync create eni and assign private ip. 6 роки тому
ehpc 39221a5319 Support TargetImageId in ApplyNodes Interface. 6 роки тому
elasticsearch d53a27c55f Add kibana network white Ips. 6 роки тому
emr f0c2600a26 regenerate code 6 роки тому
ess f0c2600a26 regenerate code 6 роки тому
et-industry-openapi 9315d79274 delete invalid api code 6 роки тому
examples 2e42d8fa7f update readme 7 роки тому
fnf 3d5b584e84 Add schedule crud api. 6 роки тому
foas f0c2600a26 regenerate code 6 роки тому
ft f0c2600a26 regenerate code 6 роки тому
geoip 84659b3f3e Support offline instance. 6 роки тому
gpdb f0c2600a26 regenerate code 6 роки тому
green f0c2600a26 regenerate code 6 роки тому
hbase 654af055e6 Add support for enable hbaseue extra module like lindorm-search or lindorm-sql. 6 роки тому
hiknoengine f0c2600a26 regenerate code 6 роки тому
hsm f0c2600a26 regenerate code 6 роки тому
httpdns f0c2600a26 regenerate code 6 роки тому
imagesearch f0c2600a26 regenerate code 6 роки тому
imm de0798d2dd Supported Rotate. 6 роки тому
iot 9ae74a6524 Add CreateProduct API ProductSecret in Response. 6 роки тому
iqa f0c2600a26 regenerate code 6 роки тому
ivision f0c2600a26 regenerate code 6 роки тому
ivpd 4332019dac Supported UpdateUserBucketConfig. 6 роки тому
jarvis f0c2600a26 regenerate code 6 роки тому
jarvis-public f0c2600a26 regenerate code 6 роки тому
kms f0c2600a26 regenerate code 6 роки тому
ledgerdb d005611f56 Publish apis for ledger instances. 6 роки тому
linkface f0c2600a26 regenerate code 6 роки тому
live f0c2600a26 regenerate code 6 роки тому
lubancloud f0c2600a26 regenerate code 6 роки тому
market f0c2600a26 regenerate code 6 роки тому
mopen f0c2600a26 regenerate code 6 роки тому
mts cc6cea96e4 Add TemplateId. 6 роки тому
multimediaai 112b1d25da Multimedia poc modified. 6 роки тому
nlp-automl bd0d4f669a Add smartcall service api. 6 роки тому
ons 4b39c98f5a Supports tag management APIs. 6 роки тому
onsmqtt 7041b32dc4 Support groupId operations. 6 роки тому
oos 8d0bff56a9 Add ListResourceExecutionStatus API. 6 роки тому
openanalytics f0c2600a26 regenerate code 6 роки тому
ots f0c2600a26 regenerate code 6 роки тому
outboundbot f0c2600a26 regenerate code 6 роки тому
polardb 92d767384b Support CreationCategory for CreateDBCluster. 6 роки тому
push 03a2cd3731 Supported AndroidNotificationXiaomiChannel for Push and MassPush. 6 роки тому
pvtz fc583688b3 Update default endpoints. 6 роки тому
r-kvstore 07721caa35 Generated 2015-01-01 for R-kvstore. 6 роки тому
ram f0c2600a26 regenerate code 6 роки тому
rds 053c0dc1a1 Supported TransformDBInstancePayType API. 6 роки тому
reid fd6a6949fb Remove GetFootwearPosition PullTakeShoesEvent PullTryOnShoesEvent. 6 роки тому
retailcloud 396541400e Supported AAA for BBB. 6 роки тому
ros f0c2600a26 regenerate code 6 роки тому
rtc f0c2600a26 regenerate code 6 роки тому
saf 97918475fb Support Saf For ExecuteExtendService. 6 роки тому
sas 95a93b89f1 Support DescribeAllEntity API. 6 роки тому
sas-api f0c2600a26 regenerate code 6 роки тому
scdn f0c2600a26 regenerate code 6 роки тому
schedulerx2 03fb512456 Supported Grant Permission. 6 роки тому
sddp f0c2600a26 regenerate code 6 роки тому
slb f0c2600a26 regenerate code 6 роки тому
smartag f0c2600a26 regenerate code 6 роки тому
smc f0c2600a26 regenerate code 6 роки тому
snsuapi f0c2600a26 regenerate code 6 роки тому
sts f0c2600a26 regenerate code 6 роки тому
tag 243879b17f Generated 2018-08-28 for Tag. 6 роки тому
tesladam f0c2600a26 regenerate code 6 роки тому
teslamaxcompute f0c2600a26 regenerate code 6 роки тому
teslastream f0c2600a26 regenerate code 6 роки тому
test 361993f224 regenerate cpp code 6 роки тому
tools c17dc7c79a refactor endpoints implementation 7 роки тому
trademark f0c2600a26 regenerate code 6 роки тому
ubsms f0c2600a26 regenerate code 6 роки тому
vcs 7959141d87 Add video compose api. 6 роки тому
videosearch 9f2fb5a595 VideoSearch deploy SDK. 6 роки тому
visionai-poc d7e14e0c1b Vision-poc response modified. 6 роки тому
vod 6e880496ba Add support cn-shenzhen region. 6 роки тому
voicenavigator f0c2600a26 regenerate code 6 роки тому
vpc f0c2600a26 regenerate code 6 роки тому
waf-openapi cf9eca9516 Generated 2019-09-10 for waf-openapi. 6 роки тому
workorder feab9dcc06 New api publish. 6 роки тому
xspace f0c2600a26 regenerate code 6 роки тому
xtrace f0c2600a26 regenerate code 6 роки тому
yundun f0c2600a26 regenerate code 6 роки тому
yundun-ds f0c2600a26 regenerate code 6 роки тому
.clang-format a57f6ec422 fix code style 6 роки тому
.gitignore 175996b239 supported request headers operation 6 роки тому
.travis.yml 4262cf11c8 fix travis ci config 7 роки тому
CHANGELOG fd6a6949fb Remove GetFootwearPosition PullTakeShoesEvent PullTryOnShoesEvent. 6 роки тому
CMakeLists.txt 8bed6eecc7 improve CmakeLists file 6 роки тому
CONTRIBUTING.md fe958d3794 refactor readme 7 роки тому
Doxyfile f6db1a27e4 Init commit 8 роки тому
LICENSE 1ee62b8677 update license year 7 роки тому
README-CN.md c1e07be47e improve build 6 роки тому
README.md c1e07be47e improve build 6 роки тому
VERSION fd6a6949fb Remove GetFootwearPosition PullTakeShoesEvent PullTryOnShoesEvent. 6 роки тому
easyinstall.sh 31f2c5d410 improve cmake compile 6 роки тому
function_test.sh 619a7827de timeout support when create client or make request 7 роки тому
generate_code_cov.sh 21edc7f283 fix unit test build failed 7 роки тому
unit_test.sh c99809b8e4 support http put and delete 7 роки тому

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 的系统上安装这些软件包

    # 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
    
  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 <lower name of product (like 'ecs')>
    
    # example
    sudo sh easyinstall.sh core
    sudo sh easyinstall.sh ecs
    

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-gui , 然后进行以下操作
    • 选择 Browse Source源代码目录(aliyun-openapi-cpp-sdk)
    • 选择 Browse build构建目录(sdk_build)
    • 点击 configure
    • 使用小写的产品名称,设置 BUILD_PRODUCT 参数的值
    • 点击 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 和 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
# 结果或错误返回将在此展示
~$

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 阿里巴巴集团