6 #include "azure/core/credentials/credentials.hpp"
7 #include "azure/storage/blobs/blob_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"
16 namespace Azure {
namespace Storage {
namespace Blobs {
35 const std::string& connectionString,
36 const std::string& containerName,
51 const std::string& containerUri,
52 std::shared_ptr<SharedKeyCredential> credential,
66 const std::string& containerUri,
67 std::shared_ptr<Core::Credentials::ClientSecretCredential> credential,
81 const std::string& containerUri,
126 std::string
GetUri()
const {
return m_containerUrl.GetAbsoluteUrl(); }
136 Azure::Core::Response<CreateContainerResult>
Create(
147 Azure::Core::Response<DeleteContainerResult>
Delete(
159 Azure::Core::Response<UndeleteContainerResult>
Undelete(
160 const std::string& deletedContainerName,
161 const std::string& deletedContainerVersion,
171 Azure::Core::Response<GetContainerPropertiesResult>
GetProperties(
182 Azure::Core::Response<SetContainerMetadataResult>
SetMetadata(
183 std::map<std::string, std::string> metadata,
213 const std::string& delimiter,
251 Azure::Core::Response<AcquireContainerLeaseResult>
AcquireLease(
252 const std::string& proposedLeaseId,
265 Azure::Core::Response<RenewContainerLeaseResult>
RenewLease(
266 const std::string& leaseId,
278 Azure::Core::Response<ReleaseContainerLeaseResult>
ReleaseLease(
279 const std::string& leaseId,
292 Azure::Core::Response<ChangeContainerLeaseResult>
ChangeLease(
293 const std::string& leaseId,
294 const std::string& proposedLeaseId,
304 Azure::Core::Response<BreakContainerLeaseResult>
BreakLease(
308 Azure::Core::Http::Url m_containerUrl;
309 std::shared_ptr<Azure::Core::Http::HttpPipeline> m_pipeline;
310 Azure::Core::Nullable<EncryptionKey> m_customerProvidedKey;
311 Azure::Core::Nullable<std::string> m_encryptionScope;
315 Azure::Core::Http::Url containerUri,
316 std::shared_ptr<Azure::Core::Http::HttpPipeline> pipeline)
317 : m_containerUrl(std::move(containerUri)), m_pipeline(std::move(pipeline))
321 friend class BlobServiceClient;
Azure::Core::Response< CreateContainerResult > Create(const CreateContainerOptions &options=CreateContainerOptions()) const
Creates a new container under the specified account. If the container with the same name already exis...
Definition: blob_container_client.cpp:143
Azure::Core::Response< UndeleteContainerResult > Undelete(const std::string &deletedContainerName, const std::string &deletedContainerVersion, const UndeleteContainerOptions &options=UndeleteContainerOptions()) const
Restores a previously deleted container. The destionation is referenced by current BlobContainerClien...
Definition: blob_container_client.cpp:166
static BlobContainerClient CreateFromConnectionString(const std::string &connectionString, const std::string &containerName, const BlobContainerClientOptions &options=BlobContainerClientOptions())
Initialize a new instance of BlobContainerClient.
Definition: blob_container_client.cpp:19
Azure::Core::Response< ChangeContainerLeaseResult > ChangeLease(const std::string &leaseId, const std::string &proposedLeaseId, const ChangeContainerLeaseOptions &options=ChangeContainerLeaseOptions()) const
Changes the lease of an active lease.
Definition: blob_container_client.cpp:308
Azure::Core::Response< RenewContainerLeaseResult > RenewLease(const std::string &leaseId, const RenewContainerLeaseOptions &options=RenewContainerLeaseOptions()) const
Renews the container's previously-acquired lease.
Definition: blob_container_client.cpp:284
Optional parameters for BlobContainerClient::ReleaseLease.
Definition: blob_options.hpp:482
Optional parameters for BlobContainerClient::RenewLease.
Definition: blob_options.hpp:460
Optional parameters for BlobContainerClient::AcquireLease.
Definition: blob_options.hpp:449
Optional parameters for BlobContainerClient::BreakLease.
Definition: blob_options.hpp:493
The BlobClient allows you to manipulate Azure Storage blobs.
Definition: blob_client.hpp:30
Definition: blob_container_client.hpp:22
Azure::Core::Response< BreakContainerLeaseResult > BreakLease(const BreakContainerLeaseOptions &options=BreakContainerLeaseOptions()) const
Breaks the previously-acquired lease.
Definition: blob_container_client.cpp:322
Azure::Core::Response< DeleteContainerResult > Delete(const DeleteContainerOptions &options=DeleteContainerOptions()) const
Marks the specified container for deletion. The container and any blobs contained within it are later...
Definition: blob_container_client.cpp:155
Optional parameters for BlobContainerClient::ListBlobsFlatSegment.
Definition: blob_options.hpp:368
Container client options used to initalize BlobContainerClient.
Definition: blob_options.hpp:248
Azure::Core::Response< ReleaseContainerLeaseResult > ReleaseLease(const std::string &leaseId, const ReleaseContainerLeaseOptions &options=ReleaseContainerLeaseOptions()) const
Releases the container's previously-acquired lease.
Definition: blob_container_client.cpp:296
Azure::Core::Response< GetContainerAccessPolicyResult > GetAccessPolicy(const GetContainerAccessPolicyOptions &options=GetContainerAccessPolicyOptions()) const
Gets the permissions for this container. The permissions indicate whether container data may be acces...
Definition: blob_container_client.cpp:248
Definition: page_blob_client.hpp:26
Azure::Core::Response< SetContainerMetadataResult > SetMetadata(std::map< std::string, std::string > metadata, SetContainerMetadataOptions options=SetContainerMetadataOptions()) const
Sets one or more user-defined name-value pairs for the specified container.
Definition: blob_container_client.cpp:187
Optional parameters for BlobContainerClient::ChangeLease.
Definition: blob_options.hpp:471
Azure::Core::Response< ListBlobsByHierarchySegmentResult > ListBlobsByHierarchySegment(const std::string &delimiter, const ListBlobsSegmentOptions &options=ListBlobsSegmentOptions()) const
Returns a single segment of blobs in this container, starting from the specified Marker,...
Definition: blob_container_client.cpp:226
BlobContainerClient(const std::string &containerUri, std::shared_ptr< SharedKeyCredential > credential, const BlobContainerClientOptions &options=BlobContainerClientOptions())
Initialize a new instance of BlobContainerClient.
Definition: blob_container_client.cpp:39
PageBlobClient GetPageBlobClient(const std::string &blobName) const
Create a new PageBlobClient object by appending blobName to the end of uri. The new PageBlobClient us...
Definition: blob_container_client.cpp:138
Optional parameters for BlobContainerClient::GetProperties.
Definition: blob_options.hpp:336
Azure::Core::Response< ListBlobsFlatSegmentResult > ListBlobsFlatSegment(const ListBlobsSegmentOptions &options=ListBlobsSegmentOptions()) const
Returns a single segment of blobs in this container, starting from the specified Marker,...
Definition: blob_container_client.cpp:205
Azure::Core::Response< GetContainerPropertiesResult > GetProperties(const GetContainerPropertiesOptions &options=GetContainerPropertiesOptions()) const
Returns all user-defined metadata and system properties for the specified container....
Definition: blob_container_client.cpp:178
Optional parameters for BlobContainerClient::Undelete.
Definition: blob_options.hpp:325
BlockBlobClient GetBlockBlobClient(const std::string &blobName) const
Create a new BlockBlobClient object by appending blobName to the end of uri. The new BlockBlobClient ...
Definition: blob_container_client.cpp:128
BlobClient GetBlobClient(const std::string &blobName) const
Create a new BlobClient object by appending blobName to the end of uri. The new BlobClient uses the s...
Definition: blob_container_client.cpp:121
Optional parameters for BlobContainerClient::GetAccessPolicy.
Definition: blob_options.hpp:405
Optional parameters for BlobContainerClient::Delete.
Definition: blob_options.hpp:309
The BlockBlobClient allows you to manipulate Azure Storage block blobs.
Definition: block_blob_client.hpp:34
The AppendBlobClient allows you to manipulate Azure Storage append blobs.
Definition: append_blob_client.hpp:24
AppendBlobClient GetAppendBlobClient(const std::string &blobName) const
Create a new AppendBlobClient object by appending blobName to the end of uri. The new AppendBlobClien...
Definition: blob_container_client.cpp:133
std::string GetUri() const
Gets the container's primary uri endpoint.
Definition: blob_container_client.hpp:126
Optional parameters for BlobContainerClient::SetAccessPolicy.
Definition: blob_options.hpp:421
Azure::Core::Response< AcquireContainerLeaseResult > AcquireLease(const std::string &proposedLeaseId, int32_t duration, const AcquireContainerLeaseOptions &options=AcquireContainerLeaseOptions()) const
Acquires a lease on the container.
Definition: blob_container_client.cpp:270
Optional parameters for BlobContainerClient::Create.
Definition: blob_options.hpp:276
Azure::Core::Response< SetContainerAccessPolicyResult > SetAccessPolicy(const SetContainerAccessPolicyOptions &options=SetContainerAccessPolicyOptions()) const
Sets the permissions for the specified container. The permissions indicate whether blob container dat...
Definition: blob_container_client.cpp:257