日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

C++ SDK使用手冊

本文介紹了C++ SDK的安裝方法、示例代碼以及如何使用C++ SDK發(fā)布事件。

SDK簡介

事件總線EventBridge的SDK分為管控API SDK和數(shù)據(jù)API SDK,示例代碼有所不同。

  • 管控API SDK:對控制臺頁面進行操作使用的SDK。

  • 數(shù)據(jù)API SDK:事件數(shù)據(jù)的通道,目前只有發(fā)送事件(PutEvents)屬于此類。

前提條件

您已完成以下操作:

環(huán)境準備

  • 安裝支持C++ 11或更高版本的編譯器:

    • Windows:Visual Studio 2015或以上版本。更多信息,請參見安裝Visual Studio

    • Linux:GCC 4.9或以上版本。更多信息,請參見下載GCC

  • 安裝CMake 3.0或以上版本。更多信息,請參見安裝CMake

  • 操作系統(tǒng)具有4 GB或以上內存。

  • 安裝以下必備依賴庫。

    安裝C++ SDK前需先安裝必備的依賴庫boost、openssl和cpprestsdk。不同系統(tǒng)下的安裝方法如下:

    • macOS系統(tǒng)建議使用Homebrew安裝。

      brew install boost cpprestsdk openssl
    • Linux系統(tǒng)建議使用yum安裝或者apt-get安裝。

      • yum install boost-devel openssl-devel
        說明

        暫不支持通過yum安裝cpprestsdk。

      • # install boost
        sudo add-apt-repository ppa:mhier/libboost-latest -y
        sudo apt-get update
        sudo apt-get install libboost-all-dev
        
        sudo apt-get install libcpprest-dev libcurl4-openssl-dev libssl-dev
    • Windows系統(tǒng)建議使用vcpkg安裝。

      vcpkg install boost openssl-windows cpprestsdk

管控API SDK

安裝SDK

Linux系統(tǒng)

  1. 執(zhí)行以下命令從GitHub克隆源碼。

    git clone https://github.com/alibabacloud-sdk-cpp/dara-openapi.git
  2. 執(zhí)行以下命令進入目錄eventbridge安裝SDK。

    cd dara-openapi && sh scripts/install.sh

Windows系統(tǒng)

  1. 執(zhí)行以下命令從GitHub克隆源碼。

    git clone https://github.com/alibabacloud-sdk-cpp/dara-openapi.git
  2. 在項目根目錄下創(chuàng)建空文件夾cmake_build

  3. 在CMake中執(zhí)行以下操作。

    1. 選擇Browse Source為源代碼目錄alibabacloud_event_bridge

    2. 選擇Browse build為構建目錄cmake_build

    3. 單擊configure

    4. 單擊generate,構建VS解決方案。

  4. 在目錄cmake_build中,使用Visual Studio打開解決方案darabonba_core.sln

  5. 選擇構建Release輸出,在配置管理器選中INSTALL,然后選擇構建 > 生成解決方案

SDK示例

您可以在OpenAPI門戶通過調用API接口,自動生成對應的SDK示例。具體操作,請參見如何自動生成SDK示例

數(shù)據(jù)API SDK

安裝SDK

Linux系統(tǒng)

  1. 執(zhí)行以下命令從GitHub克隆源碼。

    git clone https://github.com/alibabacloud-sdk-cpp/eventbridge.git
  2. 執(zhí)行以下命令進入目錄eventbridge安裝SDK。

    cd eventbridge && sh scripts/install.sh

Windows系統(tǒng)

  1. 執(zhí)行以下命令從GitHub克隆源碼。

    git clone https://github.com/alibabacloud-sdk-cpp/eventbridge.git
  2. 在項目根目錄下創(chuàng)建空文件夾cmake_build

  3. 在CMake中執(zhí)行以下操作。

    1. 選擇Browse Source為源代碼目錄alibabacloud_event_bridge

    2. 選擇Browse build為構建目錄cmake_build

    3. 單擊configure

    4. 單擊generate,構建VS解決方案。

  4. 在目錄cmake_build中,使用Visual Studio打開解決方案darabonba_core.sln

  5. 選擇構建Release輸出,在配置管理器選中INSTALL,然后選擇構建 > 生成解決方案

SDK示例

數(shù)據(jù)API SDK目前只包含發(fā)布事件(PutEvents),如需使用C++ SDK發(fā)布一個或多個事件,請參考以下示例代碼。

#include <alibabacloud/event_bridge.hpp>
#include <alibabacloud/sample.hpp>
#include <darabonba/console.hpp>
#include <darabonba/core.hpp>
#include <darabonba/util.hpp>
#include <iostream>
#include <map>
#include <vector>

using namespace std;

using namespace Alibabacloud_Sample;

Alibabacloud_EventBridge::Client Alibabacloud_Sample::Client::createClient() {
  shared_ptr<Alibabacloud_EventBridge::Config> config =
      make_shared<Alibabacloud_EventBridge::Config>();
      SetAccessKeyId(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")).
      SetAccessKeySecret(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")).
      SetEndpoint("<endpoint>")
  return Alibabacloud_EventBridge::Client(config);
}

void Alibabacloud_Sample::Client::PutEvents(
    shared_ptr<Alibabacloud_EventBridge::Client> client) {
  shared_ptr<Alibabacloud_EventBridge::CloudEvent> event =
      make_shared<Alibabacloud_EventBridge::CloudEvent>();
  event->datacontenttype = make_shared<string>("application/json");
  event->data = make_shared<vector<uint8_t>>(
      Darabonba_Util::Client::toBytes(make_shared<string>("test")));
  event->id = make_shared<string>("a5074581-7e74-4e4c-868f-47e7afdf8445");
  event->source = make_shared<string>("acs.oss");
  event->specversion = make_shared<string>("1.0");
  event->type = make_shared<string>("oss:ObjectCreated:PostObject");
  event->time = make_shared<string>("2020-08-24T13:54:05.965Asia/Shanghai");
  event->subject = make_shared<string>("1.0");
  event->type = make_shared<string>(
      "acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg");
  event->extensions = make_shared<map<string, string>>(
      map<string, string>({{"aliyuneventbusname", "demo-bus"}}));
  try {
    shared_ptr<Alibabacloud_EventBridge::PutEventsResponse> resp =
        make_shared<Alibabacloud_EventBridge::PutEventsResponse>(
            client->putEvents(
                make_shared<vector<Alibabacloud_EventBridge::CloudEvent>>(
                    vector<Alibabacloud_EventBridge::CloudEvent>({event}))));
    Darabonba_Console::Client::log(
        make_shared<string>("--------------------Publish event to the aliyun "
                            "EventBus--------------------"));
    Darabonba_Console::Client::log(
        make_shared<string>(Darabonba_Util::Client::toJSONString(
            make_shared<map<string, boost::any>>(resp->toMap()))));
  } catch (std::exception &error) {
    Darabonba_Console::Client::log(error.message);
  }
}

void Alibabacloud_Sample::Client::main(shared_ptr<vector<string>> args) {
  shared_ptr<Alibabacloud_EventBridge::Client> client =
      make_shared<Alibabacloud_EventBridge::Client>(Client::createClient());
  Client::PutEvents(client);
}