Библиотека C / C ++ для Google Cloud Storage - PullRequest
2 голосов
/ 26 декабря 2011

Знаете ли вы хорошую библиотеку C / C ++ для Облачное хранилище Google ?

Я могу найти Библиотека Python для нее, но не могу найти с C/ C ++ (или Objective-C).

Ответы [ 3 ]

1 голос
/ 22 апреля 2019

GCS имеет поддерживаемую клиентскую библиотеку C ++.Источник здесь: https://github.com/googleapis/google-cloud-cpp

Полная документация здесь: https://cloud.google.com/storage/docs/reference/libraries#client-libraries-install-cpp

Вот пример загрузки объекта и подсчета количества строк:

#include "google/cloud/storage/client.h"
#include <iostream>
namespace gcs = google::cloud::storage;

int countLines(std::string bucket_name, std::string object_name) {
  // Create aliases to make the code easier to read.
  namespace gcs = google::cloud::storage;

  // Create a client to communicate with Google Cloud Storage. This client
  // uses the default configuration for authentication and project id.
  google::cloud::StatusOr<gcs::Client> client =
      gcs::Client::CreateDefaultClient();
  if (!client) {
    std::cerr << "Failed to create Storage Client, status=" << client.status()
              << "\n";
    return 1;
  }

  gcs::ObjectReadStream stream = client.ReadObject(bucket_name, object_name);
  int count = 0;
  std::string line;
  while (std::getline(stream, line, '\n')) {
    ++count;
  }
  return count;
}
1 голос
/ 21 сентября 2012

Список библиотек Google (включая Objective C) здесь .

0 голосов
/ 05 декабря 2012

В дереве Gnome есть библиотека OAuth2, написанная на C:

http://git.gnome.org/browse/librest/tree/

Это часть пакета librest Gnome, библиотеки, которая облегчает транзакции REST.Я не использовал его сам, но вот несколько замечаний:

Похоже, вам нужно будет использовать automake для создания .configure.Документы говорят, что нужно просто запустить скрипт настройки, но документы довольно старые.Он все еще находится в стадии разработки (последняя регистрация прошла в декабре 2012 года).

Если вы попробуете это, сообщите о своем опыте.(Заранее спасибо!)

...