// Copyright (c) Microsoft Corporation. All rights reserved. // SPDX-License-Identifier: MIT #include "blobs/blob.hpp" #include "samples_common.hpp" #include SAMPLE(BlobsGettingStarted, BlobsGettingStarted) void BlobsGettingStarted() { using namespace Azure::Storage::Blobs; std::string containerName = "sample-container"; std::string blobName = "sample-blob"; std::string blobContent = "Hello Azure!"; auto containerClient = BlobContainerClient::CreateFromConnectionString(GetConnectionString(), containerName); try { containerClient.Create(); } catch (std::runtime_error& e) { // The container may already exist std::cout << e.what() << std::endl; } BlockBlobClient blobClient = containerClient.GetBlockBlobClient(blobName); blobClient.UploadFromBuffer( reinterpret_cast(blobContent.data()), blobContent.size()); std::map blobMetadata = {{"key1", "value1"}, {"key2", "value2"}}; blobClient.SetMetadata(blobMetadata); auto properties = blobClient.GetProperties(); for (auto metadata : properties.Metadata) { std::cout << metadata.first << ":" << metadata.second << std::endl; } blobContent.resize(static_cast(properties.ContentLength)); blobClient.DownloadToBuffer(reinterpret_cast(&blobContent[0]), blobContent.size()); std::cout << blobContent << std::endl; }