Оглядывался и нашел несколько ответов, которые предполагают, что я должен использовать REST. Но как бы интегрировать это в Qt/C++? Можно ли связать некоторые примеры этого или, может быть, нескольких строк кода? Было бы очень признательно!Доступ к хранилищу памяти Azure с использованием C++
0
A
ответ
1
Пожалуйста, проверьте this question. Он охватывает то, что вы просите, и описывает пару свободно доступных библиотек C++, которые вы можете включить для доступа к службам Azure.
2
Мне потребовалось много времени, чтобы достичь этого. Самое сложное, что вы должны расшифровать свой первичный ключ. С помощью this question я решил использовать OpenSSL, и я сделал следующий код.
QString datastring = "GET\n\n\n\n\n\n\n\n\n\n\n\nx-ms-date:" + date + "\nx-ms-version:2009-09-19\n/myStorage/\ncomp:list";
QByteArray ba = datastring.toUtf8();
unsigned char* signature = reinterpret_cast<unsigned char*>(ba.data());
QByteArray kba = QByteArray::fromBase64("theStorageAccountKey");
unsigned char* key = (unsigned char*) kba.data();
unsigned char result[EVP_MAX_MD_SIZE];
unsigned int result_len;
ENGINE_load_builtin_engines();
ENGINE_register_all_complete();
HMAC_CTX ctx;
HMAC_CTX_init(&ctx);
HMAC_Init_ex(&ctx, key, strlen((const char*)key), EVP_sha256(), NULL);
HMAC_Update(&ctx, signature, strlen((const char*)signature));
HMAC_Final(&ctx, result, &result_len);
HMAC_CTX_cleanup(&ctx);
QByteArray array = QByteArray::fromRawData((char*)result, result_len);
array = array.toBase64();
qDebug() << "signature hash" << array;
QString version = "2009-09-19";
//requesting the list of container to Windows Azure
QNetworkAccessManager* manager = new QNetworkAccessManager();
QNetworkRequest request;
request.setUrl(QUrl("http://myStorage.blob.core.windows.net/?comp=list"));
request.setRawHeader("Authorization","SharedKey myStorage:" + array);
request.setRawHeader("x-ms-date", date.toStdString().c_str());
request.setRawHeader("x-ms-version", version.toStdString().c_str());
QNetworkReply *reply = manager->get(request);
connect(reply, SIGNAL(readyRead()), this, SLOT(manageCloudReply()));
Надеюсь, это поможет кому-то.
Смежные вопросы
- 1. Доступ к хранилищу Windows Azure с использованием библиотеки классов
- 2. Доступ к хранилищу брандмауэров Azure с использованием Codeigniter
- 3. Доступ к хранилищу Azure от Azure VM без исходящего интернета
- 4. Доступ к хранилищу таблиц Azure от Swift
- 5. Доступ к хранилищу блогов Azure из эксперимента Azure ML
- 6. Доступ к локальному доступу к хранилищу Windows Azure?
- 7. Доступ к хранилищу брандмауэров с использованием bash, curl
- 8. Доступ к хранилищу Azure Blob из приложения VB6
- 9. Внутренний доступ к хранилищу с использованием эмулятора android
- 10. Доступ к хранилищу Azure Blob из локального приложения IIS
- 11. Доступ к хранилищу Azure blob - никаких исключений, но без записи
- 12. Возможно ли получить доступ к лазурному хранилищу с использованием схемы URI Ubb в C#?
- 13. Самый простой способ получить доступ к хранилищу файлов Azure?
- 14. Доступ к хранилищу ключей Azure Key от шаблона ARM
- 15. Доступ к локальному хранилищу брандмауэров Azure через простой REST 'GET'
- 16. DynDNS - доступ к моему хранилищу окон Window Azure
- 17. UWP - доступ к изолированному хранилищу
- 18. Доступ к открытой памяти классов из C++ с использованием C
- 19. Доступ к хранилищу Blob из службы приложений Azure
- 20. Как получить доступ к хранилищу ключей Azure с использованием учетных данных пользователя?
- 21. Как получить доступ к памяти azure blob через UNC-путь
- 22. Доступ к хранилищу Azure из VS Server explorer
- 23. Доступ к хранилищу Azure blob в Amazon EMR
- 24. Медленный доступ к хранилищу Azure на международном уровне
- 25. Доступ к локальному хранилищу - mosysnc
- 26. Удаленный доступ к памяти с использованием интеркоммуникатора
- 27. Доступ к облачному хранилищу Google с использованием hadoop FileSystem api
- 28. Проблема Доступ к хранилищу файлов в Azure WorkerRole с использованием сценария запуска
- 29. Доступ к хранилищу в foreach
- 30. Доступ к хранилищу Laravel недоступен
http://stackoverflow.com/questions/8471810/accessing-azure-storage-tables-from-c-code/9476451#9476451 – chikuba