Выпущен Reduct Storage Client SDK для C++ 0.7.0

Это небольшое обновление для тех, кто следит за новостями о Reduct Storage и его экосистеме.

Я только что выпустил новую версию SDK, которая поддерживает HTTP API v0.7.
Наиболее важной новой возможностью является метод IBucket::Query. Он позволяет итерировать записи за заданный интервал времени:

using reduct::IBucket;
using reduct::IClient;

int main() {
  auto client = IClient::Build("https://play.reduct-storage.dev");
  // Create a bucket
  auto [bucket, create_err] = client->GetOrCreateBucket("bucket");
  if (create_err) {
    std::cerr << "Error: " << create_err;
    return -1;
  }


  // Walk through the data
  err = bucket->Query("entry-1", std::nullopt, IBucket::Time::clock::now(), std::nullopt, [](auto&& record) {
    std::string blob;
    auto read_err = record.Read([&blob](auto chunk) {
      blob.append(chunk);
      return true;
    });

    if (!read_err) {
      std::cout << "Read blob: " << blob;
    }

    return true;
  });
}
Вход в полноэкранный режим Выйти из полноэкранного режима

Вы можете использовать библиотеку с помощью макросов CMake FetchContet или установить ее из исходного кода:

git clone https://github.com/reduct-storage/reduct-cpp.git
cd reduct-cpp
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
sudo cmake --build . --target install
Войти в полноэкранный режим Выход из полноэкранного режима

В вашем CMakeLists.txt:

find_package(ReductCpp 0.8.0)
find_package(ZLIB)
find_package(OpenSSL)

add_executable(you_app you_app.cc)
target_link_libraries(you_app ${REDUCT_CPP_LIBRARIES} ${ZLIB_LIBRARIES} OpenSSL::SSL OpenSSL::Crypto)
Enter fullscreen mode Выйти из полноэкранного режима

Для получения дополнительной информации читайте здесь

Оцените статью
devanswers.ru
Добавить комментарий