Fără Descriere

顾咏 2e42d8fa7f update readme 7 ani în urmă
.github ecd09578e8 fix typo in issue template 7 ani în urmă
3rdparty ad045aa702 fix build failed 7 ani în urmă
aegis 7be1f34dae Fix build failed on windows 8 ani în urmă
afs 38e88e6678 AFS SDK Auto Released By shenshi,Version:1.34.36 7 ani în urmă
alidns 7c93bd13dc ALIDNS SDK Auto Released By shenshi,Version:1.34.52 7 ani în urmă
alimt 012634c7ea ALIMT SDK Auto Released By xulei.xl,Version:1.33.4 7 ani în urmă
arms bc8404e573 ARMS SDK Auto Released By qikai.yangqikai,Version:1.28.1 8 ani în urmă
arms4finance da8c6b2c70 ARMS4FINANCE SDK Auto Released By shenshi,Version:1.34.39 7 ani în urmă
bssopenapi 55ec616f75 BSSOPENAPI SDK Auto Released By zhangzifa,Version:1.35.2 7 ani în urmă
cas e7c17519db CAS SDK Auto Released By lihai.zhang,Version:1.34.42 7 ani în urmă
cbn cac98a349f CBN SDK Auto Released By shenshi,Version:1.34.16 7 ani în urmă
ccc 5aaae25e49 CCC SDK Auto Released By yonghong.lyh,Version:1.22.1 8 ani în urmă
ccs 6d54401df2 CCS SDK Auto Released By shenshi,Version:1.34.37 7 ani în urmă
cdn 9b1ab3027a CDN SDK Auto Released By wb-czb515173,Version:1.34.51 7 ani în urmă
chatbot 0880c7f722 CHATBOT SDK Auto Released By yanke.yk,Version:1.19.0 8 ani în urmă
cloudauth b3d7dcffc4 CLOUDAUTH SDK Auto Released By gongpei.gp,Version:1.29.1 8 ani în urmă
cloudphoto f3507a5be6 CLOUDPHOTO SDK Auto Released By shenshi,Version:1.34.29 7 ani în urmă
cloudwf 4165dc1e2c CLOUDWF SDK Auto Released By zhangzifa,Version:1.34.53 7 ani în urmă
cms 5d1aad0c37 CMS SDK Auto Released By zhangzifa,Version:1.34.61 7 ani în urmă
core 97716c02e9 adapt product parameter with name parameter 7 ani în urmă
cr 1da6c4aa18 CR SDK Auto Released By shenshi,Version:1.34.24 7 ani în urmă
crm 50463a22aa CRM SDK Auto Released By shenshi,Version:1.34.56 7 ani în urmă
cs 3e476f2647 CS SDK Auto Released By shenshi,Version:1.34.47 7 ani în urmă
csb 002d5fb06f CSB SDK Auto Released By yaolan.lt,Version:1.24.1 8 ani în urmă
dcdn 9664fb1b00 DCDN SDK Auto Released By xiaoyao,Version:1.34.8 7 ani în urmă
domain 6072a0309b DOMAIN SDK Auto Released By lukang.zlh,Version:1.31.0 7 ani în urmă
drds 6d41511442 由燧木发起的DRDS SDK自动发布, 版本号:1.12.0 8 ani în urmă
dysmsapi 25bddc9e7a DYSMSAPI SDK Auto Released By zhangzifa,Version:1.34.62 7 ani în urmă
dyvmsapi 02c620b5a5 由峰远发起的DYVMSAPI SDK自动发布, 版本号:1.10.3 8 ani în urmă
ecs 436b88a23f ECS SDK Auto Released By hongchen,Version:1.35.1 7 ani în urmă
ehpc e93d1a7c5c EHPC SDK Auto Released By qianzheng.llc,Version:1.32.0 7 ani în urmă
emr aa06915a34 EMR SDK Auto Released By xiaoyan.yan,Version:1.34.17 7 ani în urmă
ess aa71e41fab ESS SDK Auto Released By deyan.jdy,Version:1.34.2 7 ani în urmă
examples 2e42d8fa7f update readme 7 ani în urmă
finmall e0174350ec FINMALL SDK Auto Released By shenshi,Version:1.34.30 7 ani în urmă
gpdb 996c9b497a GPDB SDK Auto Released By shenshi,Version:1.34.20 7 ani în urmă
green eadff9b0ef GREEN SDK Auto Released By fengdong.xfd,Version:1.26.3 8 ani în urmă
hsm 339cf28edd 由鸿逸发起的HSM SDK自动发布, 版本号:1.7.1 8 ani în urmă
httpdns 2561eb446f HTTPDNS SDK Auto Released By shenshi,Version:1.34.54 7 ani în urmă
imagesearch 549e90ee7c IMAGESEARCH SDK Auto Released By shenshi,Version:1.34.41 7 ani în urmă
imm 1befab93b1 IMM SDK Auto Released By zhengrui.lj,Version:1.35.0 7 ani în urmă
iot 893339c43d IOT SDK Auto Released By cheyun.lxf,Version:1.33.5 7 ani în urmă
ivision f1948842ea IVISION SDK Auto Released By wb-czb515173,Version:1.34.65 7 ani în urmă
jarvis bfe051d983 JARVIS SDK Auto Released By shenshi,Version:1.34.15 7 ani în urmă
jarvis-public b4c6fc0aeb JARVIS-PUBLIC SDK Auto Released By zhangzifa,Version:1.34.59 7 ani în urmă
kms c98efebbad KMS SDK Auto Released By shenshi,Version:1.34.57 7 ani în urmă
linkface f189a9dbb2 LINKFACE SDK Auto Released By jiayao.wjy,Version:1.30.1 7 ani în urmă
live 9b7dbef9c8 LIVE SDK Auto Released By renrang.yl,Version:1.34.6 7 ani în urmă
lubancloud f87f6a1649 LUBANCLOUD SDK Auto Released By benxiang.hhq,Version:1.30.0 7 ani în urmă
mopen 6da61cc993 MOPEN SDK Auto Released By shenshi,Version:1.34.23 7 ani în urmă
mts 28c7a67d80 MTS SDK Auto Released By zhangzifa,Version:1.34.60 7 ani în urmă
ons 96bab78790 ONS SDK Auto Released By wenting.ywt,Version:1.35.3 7 ani în urmă
openanalytics 7f97b2de78 OPENANALYTICS SDK Auto Released By shenshi,Version:1.34.31 7 ani în urmă
ots feae502d3a OTS SDK Auto Released By shenshi,Version:1.34.38 7 ani în urmă
push c3ff60fd73 由释一发起的PUSH SDK自动发布, BUILD_ID=490, 版本号:1.3.0 8 ani în urmă
pvtz e9b2a0c830 PVTZ SDK Auto Released By shenshi,Version:1.34.28 7 ani în urmă
ram 26d4cdb3b5 RAM SDK Auto Released By shenshi,Version:1.34.18 7 ani în urmă
rds c63bc0bcc9 RDS SDK Auto Released By zhangzifa,Version:1.34.44 7 ani în urmă
rtc 4a0a5164c7 RTC SDK Auto Released By shenshi,Version:1.34.32 7 ani în urmă
saf 6182017316 SAF SDK Auto Released By xinfa.duanxf,Version:1.27.6 8 ani în urmă
sas-api ea81585f2e SAS-API SDK Auto Released By zhangzifa,Version:1.34.58 7 ani în urmă
scdn e5522c68c8 SCDN SDK Auto Released By xiaoyao,Version:1.34.5 7 ani în urmă
slb 84adbb2cb8 SLB SDK Auto Released By laysong.sl,Version:1.23.4 8 ani în urmă
smartag 127c992829 SMARTAG SDK Auto Released By jijun.jj,Version:1.21.6 8 ani în urmă
snsuapi 191f3c859f SNSUAPI SDK Auto Released By shenshi,Version:1.34.33 7 ani în urmă
sts a59527266e STS SDK Auto Released By shenshi,Version:1.34.19 7 ani în urmă
tesladam 7be1f34dae Fix build failed on windows 8 ani în urmă
teslamaxcompute 43169f9d50 TESLAMAXCOMPUTE SDK Auto Released By shenshi,Version:1.34.10 7 ani în urmă
teslastream 7f3826c2f9 TESLASTREAM SDK Auto Released By shenshi,Version:1.34.12 7 ani în urmă
test 97716c02e9 adapt product parameter with name parameter 7 ani în urmă
tools c17dc7c79a refactor endpoints implementation 7 ani în urmă
ubsms 8c9353a007 UBSMS SDK Auto Released By shenshi,Version:1.34.34 7 ani în urmă
vod 2fb169a7d4 VOD SDK Auto Released By xiao.xwp,Version:1.34.1 7 ani în urmă
vpc 88ef8f3618 VPC SDK Auto Released By shenshi,Version:1.34.13 7 ani în urmă
xspace 947fa7238f XSPACE SDK Auto Released By yanjiang.yy,Version:1.34.49 7 ani în urmă
yundun eea054f3c4 YUNDUN SDK Auto Released By shenshi,Version:1.34.35 7 ani în urmă
.gitignore 2e42d8fa7f update readme 7 ani în urmă
.travis.yml c99809b8e4 support http put and delete 7 ani în urmă
CHANGELOG 96bab78790 ONS SDK Auto Released By wenting.ywt,Version:1.35.3 7 ani în urmă
CMakeLists.txt 55ec616f75 BSSOPENAPI SDK Auto Released By zhangzifa,Version:1.35.2 7 ani în urmă
CONTRIBUTING.md fe958d3794 refactor readme 7 ani în urmă
Doxyfile f6db1a27e4 Init commit 8 ani în urmă
LICENSE 1ee62b8677 update license year 7 ani în urmă
README-CN.md 2e42d8fa7f update readme 7 ani în urmă
README.md 2e42d8fa7f update readme 7 ani în urmă
VERSION 96bab78790 ONS SDK Auto Released By wenting.ywt,Version:1.35.3 7 ani în urmă
easyinstall.sh f877a9ef39 update readme 7 ani în urmă
function_test.sh 619a7827de timeout support when create client or make request 7 ani în urmă
generate_code_cov.sh 21edc7f283 fix unit test build failed 7 ani în urmă
unit_test.sh c99809b8e4 support http put and delete 7 ani în urmă

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 或以上内存

安装 (从源代码构建)

  1. 从 GitHub 下载或 Git 克隆 aliyun-openapi-cpp-sdk
  1. 创建生成必要的构建文件

    cd <path/to/aliyun-openapi-cpp-sdk>
    mkdir sdk_build
    cd sdk_build
    cmake ..
    

Linux

要在 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

在安装依赖库后执行以下命令编译并安装:

手动编译安装

  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

通过 cmake 生成 Visual Studio 解决方案:

在 aliyun-openapi-cpp-sdk 下创建 sdk_build 目录

打开 cmake-ui 选择源代码目录和构建目录,点击 配置(configure)生成(generate) 构建 VS 解决方案。

进入 sdk_build 目录使用 Visual Studio 打开 alibabacloud-sdk.sln 解决方案。

选择构建 Release 输出,并打开配置管理器勾选 INSTALL

构建 -> 生成解决方案。

或者您也可以使用 VS 的开发人员命令提示符,执行以下命令编译并安装:

msbuild ALL_BUILD.vcxproj
msbuild INSTALL.vcxproj

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