azure-storage-blobs
blob_service_client.hpp
1 // Copyright (c) Microsoft Corporation. All rights reserved.
2 // SPDX-License-Identifier: MIT
3 
4 #pragma once
5 
6 #include "azure/core/credentials/credentials.hpp"
7 #include "azure/storage/blobs/blob_container_client.hpp"
8 #include "azure/storage/blobs/blob_options.hpp"
9 #include "azure/storage/blobs/protocol/blob_rest_client.hpp"
10 #include "azure/storage/common/storage_credential.hpp"
11 
12 #include <memory>
13 #include <string>
14 
15 namespace Azure { namespace Storage { namespace Blobs {
16 
22  public:
33  const std::string& connectionString,
35 
44  explicit BlobServiceClient(
45  const std::string& serviceUri,
46  std::shared_ptr<SharedKeyCredential> credential,
48 
57  explicit BlobServiceClient(
58  const std::string& serviceUri,
59  std::shared_ptr<Core::Credentials::ClientSecretCredential> credential,
61 
70  explicit BlobServiceClient(
71  const std::string& serviceUri,
73 
80  BlobContainerClient GetBlobContainerClient(const std::string& containerName) const;
81 
87  std::string GetUri() const { return m_serviceUrl.GetAbsoluteUrl(); }
88 
100  Azure::Core::Response<ListContainersSegmentResult> ListBlobContainersSegment(
102 
114  Azure::Core::Response<GetUserDelegationKeyResult> GetUserDelegationKey(
115  const std::string& startsOn,
116  const std::string& expiresOn,
118 
130  Azure::Core::Response<SetServicePropertiesResult> SetProperties(
131  BlobServiceProperties properties,
133 
141  Azure::Core::Response<GetServicePropertiesResult> GetProperties(
143 
150  Azure::Core::Response<GetAccountInfoResult> GetAccountInfo(
151  const GetAccountInfoOptions& options = GetAccountInfoOptions()) const;
152 
161  Azure::Core::Response<GetServiceStatisticsResult> GetStatistics(
163 
178  Azure::Core::Response<FindBlobsByTagsResult> FindBlobsByTags(
179  const std::string& tagFilterSqlExpression,
180  const FindBlobsByTagsOptions& options = FindBlobsByTagsOptions()) const;
181 
182  protected:
183  Azure::Core::Http::Url m_serviceUrl;
184  std::shared_ptr<Azure::Core::Http::HttpPipeline> m_pipeline;
185 
186  private:
187  friend class BlobBatchClient;
188  };
189 }}} // namespace Azure::Storage::Blobs
Azure::Storage::Blobs::BlobServiceClient::GetBlobContainerClient
BlobContainerClient GetBlobContainerClient(const std::string &containerName) const
Creates a new BlobContainerClient object with the same uri as this BlobServiceClient....
Definition: blob_service_client.cpp:115
Azure::Storage::Blobs::BlobServiceClientOptions
Service client options used to initalize BlobServiceClient.
Definition: blob_options.hpp:92
Azure::Storage::Blobs::BlobServiceProperties
Definition: blob_rest_client.hpp:1467
Azure::Storage::Blobs::BlobContainerClient
Definition: blob_container_client.hpp:22
Azure::Storage::Blobs::BlobServiceClient::BlobServiceClient
BlobServiceClient(const std::string &serviceUri, std::shared_ptr< SharedKeyCredential > credential, const BlobServiceClientOptions &options=BlobServiceClientOptions())
Initialize a new instance of BlobServiceClient.
Definition: blob_service_client.cpp:34
Azure::Storage::Blobs::GetUserDelegationKeyOptions
Optional parameters for BlobServiceClient::GetUserDelegationKey.
Definition: blob_options.hpp:147
Azure::Storage::Blobs::GetAccountInfoOptions
Optional parameters for BlobServiceClient::GetAccountInfo.
Definition: blob_options.hpp:180
Azure::Storage::Blobs::BlobServiceClient::GetAccountInfo
Azure::Core::Response< GetAccountInfoResult > GetAccountInfo(const GetAccountInfoOptions &options=GetAccountInfoOptions()) const
Returns the sku name and account kind for the specified account.
Definition: blob_service_client.cpp:165
Azure::Storage::Blobs::SetServicePropertiesOptions
Optional parameters for BlobServiceClient::SetProperties.
Definition: blob_options.hpp:158
Azure::Storage::Blobs::BlobServiceClient
Definition: blob_service_client.hpp:21
Azure::Storage::Blobs::BlobBatchClient
The BlobBatchClient allows you to batch multiple Azure Storage operations in a single request.
Definition: blob_batch_client.hpp:86
Azure::Storage::Blobs::BlobServiceClient::CreateFromConnectionString
static BlobServiceClient CreateFromConnectionString(const std::string &connectionString, const BlobServiceClientOptions &options=BlobServiceClientOptions())
Initialize a new instance of BlobServiceClient.
Definition: blob_service_client.cpp:16
Azure::Storage::Blobs::BlobServiceClient::GetStatistics
Azure::Core::Response< GetServiceStatisticsResult > GetStatistics(const GetBlobServiceStatisticsOptions &options=GetBlobServiceStatisticsOptions()) const
Retrieves statistics related to replication for the Blob service. It is only available on the seconda...
Definition: blob_service_client.cpp:173
Azure::Storage::Blobs::BlobServiceClient::GetUserDelegationKey
Azure::Core::Response< GetUserDelegationKeyResult > GetUserDelegationKey(const std::string &startsOn, const std::string &expiresOn, const GetUserDelegationKeyOptions &options=GetUserDelegationKeyOptions()) const
Retrieves a key that can be used to delegate Active Directory authorization to shared access signatur...
Definition: blob_service_client.cpp:135
Azure::Storage::Blobs::FindBlobsByTagsOptions
Optional parameters for BlobServiceClient::FindBlobsByTags.
Definition: blob_options.hpp:202
Azure::Storage::Blobs::GetBlobServiceStatisticsOptions
Optional parameters for BlobServiceClient::GetStatistics.
Definition: blob_options.hpp:191
Azure::Storage::Blobs::ListContainersSegmentOptions
Optional parameters for BlobServiceClient::ListBlobContainers.
Definition: blob_options.hpp:110
Azure::Storage::Blobs::BlobServiceClient::GetProperties
Azure::Core::Response< GetServicePropertiesResult > GetProperties(const GetServicePropertiesOptions &options=GetServicePropertiesOptions()) const
Gets the properties of a storage account's blob service, including properties for Storage Analytics a...
Definition: blob_service_client.cpp:157
Azure::Storage::Blobs::BlobServiceClient::FindBlobsByTags
Azure::Core::Response< FindBlobsByTagsResult > FindBlobsByTags(const std::string &tagFilterSqlExpression, const FindBlobsByTagsOptions &options=FindBlobsByTagsOptions()) const
The Filter Blobs operation enables callers to list blobs across all containers whose tags match a giv...
Definition: blob_service_client.cpp:181
Azure::Storage::Blobs::BlobServiceClient::SetProperties
Azure::Core::Response< SetServicePropertiesResult > SetProperties(BlobServiceProperties properties, const SetServicePropertiesOptions &options=SetServicePropertiesOptions()) const
Sets properties for a storage account's Blob service endpoint, including properties for Storage Analy...
Definition: blob_service_client.cpp:147
Azure::Storage::Blobs::BlobServiceClient::ListBlobContainersSegment
Azure::Core::Response< ListContainersSegmentResult > ListBlobContainersSegment(const ListContainersSegmentOptions &options=ListContainersSegmentOptions()) const
Returns a single segment of blob containers in the storage account, starting from the specified Marke...
Definition: blob_service_client.cpp:123
Azure::Storage::Blobs::GetServicePropertiesOptions
Optional parameters for BlobServiceClient::GetProperties.
Definition: blob_options.hpp:169
Azure::Storage::Blobs::BlobServiceClient::GetUri
std::string GetUri() const
Gets the blob service's primary uri endpoint.
Definition: blob_service_client.hpp:87