Loading [MathJax]/extensions/tex2jax.js
azure-storage-blobs
All Classes Functions Variables Pages
blob_service_client.hpp
1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4#pragma once
5
6#include "azure/storage/blobs/blob_container_client.hpp"
7
8#include <azure/core/credentials/credentials.hpp>
9#include <azure/storage/common/storage_credential.hpp>
10
11#include <memory>
12#include <string>
13
14namespace Azure { namespace Storage { namespace Blobs {
15
16 class BlobServiceBatch;
17
22 class BlobServiceClient final {
23 public:
34 const std::string& connectionString,
35 const BlobClientOptions& options = BlobClientOptions());
36
45 explicit BlobServiceClient(
46 const std::string& serviceUrl,
47 std::shared_ptr<StorageSharedKeyCredential> credential,
48 const BlobClientOptions& options = BlobClientOptions());
49
58 explicit BlobServiceClient(
59 const std::string& serviceUrl,
60 std::shared_ptr<Core::Credentials::TokenCredential> credential,
61 const BlobClientOptions& options = BlobClientOptions());
62
71 explicit BlobServiceClient(
72 const std::string& serviceUrl,
73 const BlobClientOptions& options = BlobClientOptions());
74
82 BlobContainerClient GetBlobContainerClient(const std::string& blobContainerName) const;
83
89 std::string GetUrl() const { return m_serviceUrl.GetAbsoluteUrl(); }
90
103 const Azure::Core::Context& context = Azure::Core::Context()) const;
104
115 Azure::Response<Models::UserDelegationKey> GetUserDelegationKey(
116 const Azure::DateTime& expiresOn,
118 const Azure::Core::Context& context = Azure::Core::Context()) const;
119
131 Azure::Response<Models::SetServicePropertiesResult> SetProperties(
134 const Azure::Core::Context& context = Azure::Core::Context()) const;
135
144 Azure::Response<Models::BlobServiceProperties> GetProperties(
146 const Azure::Core::Context& context = Azure::Core::Context()) const;
147
155 Azure::Response<Models::AccountInfo> GetAccountInfo(
157 const Azure::Core::Context& context = Azure::Core::Context()) const;
158
168 Azure::Response<Models::ServiceStatistics> GetStatistics(
170 const Azure::Core::Context& context = Azure::Core::Context()) const;
171
187 const std::string& tagFilterSqlExpression,
189 const Azure::Core::Context& context = Azure::Core::Context()) const;
190
200 Azure::Response<BlobContainerClient> CreateBlobContainer(
201 const std::string& blobContainerName,
203 const Azure::Core::Context& context = Azure::Core::Context()) const;
204
214 Azure::Response<Models::DeleteBlobContainerResult> DeleteBlobContainer(
215 const std::string& blobContainerName,
217 const Azure::Core::Context& context = Azure::Core::Context()) const;
218
228 Azure::Response<BlobContainerClient> UndeleteBlobContainer(
229 const std::string& deletedBlobContainerName,
230 const std::string& deletedBlobContainerVersion,
232 const Azure::Core::Context& context = Azure::Core::Context()) const;
233
242 Azure::Response<BlobContainerClient> RenameBlobContainer(
243 const std::string& sourceBlobContainerName,
244 const std::string& destinationBlobContainerName,
246 const Azure::Core::Context& context = Azure::Core::Context()) const;
247
255
266 Response<Models::SubmitBlobBatchResult> SubmitBatch(
267 const BlobServiceBatch& batch,
269 const Core::Context& context = Core::Context()) const;
270
271 private:
272 Azure::Core::Url m_serviceUrl;
273 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_pipeline;
274 Azure::Nullable<EncryptionKey> m_customerProvidedKey;
275 Azure::Nullable<std::string> m_encryptionScope;
276
277 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_batchRequestPipeline;
278 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_batchSubrequestPipeline;
279
280 friend class BlobServiceBatch;
281 };
282}}} // namespace Azure::Storage::Blobs
Definition blob_container_client.hpp:21
A batch object allows you to batch multiple operations in a single request via Azure::Storage::Blobs:...
Definition blob_batch.hpp:73
Definition blob_service_client.hpp:22
Azure::Response< Models::UserDelegationKey > GetUserDelegationKey(const Azure::DateTime &expiresOn, const GetUserDelegationKeyOptions &options=GetUserDelegationKeyOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Retrieves a key that can be used to delegate Active Directory authorization to shared access signatur...
Definition blob_service_client.cpp:177
Azure::Response< Models::BlobServiceProperties > GetProperties(const GetServicePropertiesOptions &options=GetServicePropertiesOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Gets the properties of a storage account's blob service, including properties for Storage Analytics a...
Definition blob_service_client.cpp:203
Response< Models::SubmitBlobBatchResult > SubmitBatch(const BlobServiceBatch &batch, const SubmitBlobBatchOptions &options=SubmitBlobBatchOptions(), const Core::Context &context=Core::Context()) const
Submits a batch of subrequests.
Definition blob_service_client.cpp:318
FindBlobsByTagsPagedResponse FindBlobsByTags(const std::string &tagFilterSqlExpression, const FindBlobsByTagsOptions &options=FindBlobsByTagsOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
The Filter Blobs operation enables callers to list blobs across all containers whose tags match a giv...
Definition blob_service_client.cpp:233
static BlobServiceClient CreateFromConnectionString(const std::string &connectionString, const BlobClientOptions &options=BlobClientOptions())
Initialize a new instance of BlobServiceClient.
Definition blob_service_client.cpp:21
BlobContainerClient GetBlobContainerClient(const std::string &blobContainerName) const
Creates a new BlobContainerClient object with the same URL as this BlobServiceClient....
Definition blob_service_client.cpp:137
ListBlobContainersPagedResponse ListBlobContainers(const ListBlobContainersOptions &options=ListBlobContainersOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Returns a collection of blob containers in the storage account. Enumerating the blob containers may m...
Definition blob_service_client.cpp:152
Azure::Response< BlobContainerClient > CreateBlobContainer(const std::string &blobContainerName, const CreateBlobContainerOptions &options=CreateBlobContainerOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Creates a new blob container under the specified account. If the container with the same name already...
Definition blob_service_client.cpp:258
Azure::Response< Models::ServiceStatistics > GetStatistics(const GetBlobServiceStatisticsOptions &options=GetBlobServiceStatisticsOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Retrieves statistics related to replication for the Blob service. It is only available on the seconda...
Definition blob_service_client.cpp:223
Azure::Response< Models::AccountInfo > GetAccountInfo(const GetAccountInfoOptions &options=GetAccountInfoOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Returns the sku name and account kind for the specified account.
Definition blob_service_client.cpp:213
Azure::Response< Models::SetServicePropertiesResult > SetProperties(Models::BlobServiceProperties properties, const SetServicePropertiesOptions &options=SetServicePropertiesOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Sets properties for a storage account's Blob service endpoint, including properties for Storage Analy...
Definition blob_service_client.cpp:191
std::string GetUrl() const
Gets the blob service's primary URL endpoint.
Definition blob_service_client.hpp:89
BlobServiceBatch CreateBatch() const
Creates a new batch object to collect subrequests that can be submitted together via SubmitBatch.
Definition blob_service_client.cpp:316
Azure::Response< BlobContainerClient > UndeleteBlobContainer(const std::string &deletedBlobContainerName, const std::string &deletedBlobContainerVersion, const UndeleteBlobContainerOptions &options=UndeleteBlobContainerOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Restores a previously deleted container.
Definition blob_service_client.cpp:278
Azure::Response< Models::DeleteBlobContainerResult > DeleteBlobContainer(const std::string &blobContainerName, const DeleteBlobContainerOptions &options=DeleteBlobContainerOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Marks the specified blob container for deletion. The container and any blobs contained within it are ...
Definition blob_service_client.cpp:269
Azure::Response< BlobContainerClient > RenameBlobContainer(const std::string &sourceBlobContainerName, const std::string &destinationBlobContainerName, const RenameBlobContainerOptions &options=RenameBlobContainerOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Renames an existing blob container.
Definition blob_service_client.cpp:298
Response type for Azure::Storage::Blobs::BlobServiceClient::FindBlobsByTags.
Definition blob_responses.hpp:297
Response type for Azure::Storage::Blobs::BlobServiceClient::ListBlobContainers.
Definition blob_responses.hpp:265
Client options used to initialize all kinds of blob clients.
Definition blob_options.hpp:175
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::Create.
Definition blob_options.hpp:310
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::Delete.
Definition blob_options.hpp:338
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::FindBlobsByTags.
Definition blob_options.hpp:291
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::GetAccountInfo.
Definition blob_options.hpp:277
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::GetStatistics.
Definition blob_options.hpp:284
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::GetProperties.
Definition blob_options.hpp:270
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::GetUserDelegationKey.
Definition blob_options.hpp:251
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::ListBlobContainers.
Definition blob_options.hpp:219
Storage Service Properties.
Definition rest_client.hpp:202
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::RenameBlobContainer.
Definition blob_options.hpp:357
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::SetProperties.
Definition blob_options.hpp:263
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::SubmitBatch.
Definition blob_options.hpp:1600
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::UndeleteBlobContainer.
Definition blob_options.hpp:350