10 #include "azure/storage/blobs/blob_client.hpp"
12 namespace Azure {
namespace Storage {
namespace Blobs {
14 class BlobLeaseClient;
33 const std::string& connectionString,
34 const std::string& blobContainerName,
49 const std::string& blobContainerUrl,
50 std::shared_ptr<StorageSharedKeyCredential> credential,
64 const std::string& blobContainerUrl,
65 std::shared_ptr<Core::Credentials::TokenCredential> credential,
79 const std::string& blobContainerUrl,
124 std::string
GetUrl()
const {
return m_blobContainerUrl.GetAbsoluteUrl(); }
134 Azure::Response<Models::CreateBlobContainerResult>
Create(
136 const Azure::Core::Context& context = Azure::Core::Context())
const;
150 const Azure::Core::Context& context = Azure::Core::Context())
const;
160 Azure::Response<Models::DeleteBlobContainerResult>
Delete(
162 const Azure::Core::Context& context = Azure::Core::Context())
const;
173 Azure::Response<Models::DeleteBlobContainerResult>
DeleteIfExists(
175 const Azure::Core::Context& context = Azure::Core::Context())
const;
185 Azure::Response<Models::BlobContainerProperties>
GetProperties(
187 const Azure::Core::Context& context = Azure::Core::Context())
const;
197 Azure::Response<Models::SetBlobContainerMetadataResult>
SetMetadata(
200 const Azure::Core::Context& context = Azure::Core::Context())
const;
213 const Azure::Core::Context& context = Azure::Core::Context())
const;
228 const std::string& delimiter,
230 const Azure::Core::Context& context = Azure::Core::Context())
const;
242 const Azure::Core::Context& context = Azure::Core::Context())
const;
252 Azure::Response<Models::SetBlobContainerAccessPolicyResult>
SetAccessPolicy(
254 const Azure::Core::Context& context = Azure::Core::Context())
const;
266 Azure::Response<Models::DeleteBlobResult>
DeleteBlob(
267 const std::string& blobName,
269 const Azure::Core::Context& context = Azure::Core::Context())
const;
283 const std::string& blobName,
284 Azure::Core::IO::BodyStream& content,
286 const Azure::Core::Context& context = Azure::Core::Context())
const;
289 Azure::Core::Url m_blobContainerUrl;
290 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_pipeline;
291 Azure::Nullable<EncryptionKey> m_customerProvidedKey;
292 Azure::Nullable<std::string> m_encryptionScope;
295 Azure::Core::Url blobContainerUrl,
296 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> pipeline,
297 Azure::Nullable<EncryptionKey> customerProvidedKey,
298 Azure::Nullable<std::string> encryptionScope)
299 : m_blobContainerUrl(std::move(blobContainerUrl)), m_pipeline(std::move(pipeline)),
300 m_customerProvidedKey(std::move(customerProvidedKey)),
301 m_encryptionScope(std::move(encryptionScope))
305 friend class BlobServiceClient;
306 friend class BlobLeaseClient;
Azure::Response< Models::CreateBlobContainerResult > CreateIfNotExists(const CreateBlobContainerOptions &options=CreateBlobContainerOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Creates a new container under the specified account. If the container with the same name already exis...
Definition: blob_container_client.cpp:151
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::SetAccessPolicy.
Definition: blob_options.hpp:375
The BlobClient allows you to manipulate Azure Storage blobs.
Definition: blob_client.hpp:34
Definition: blob_container_client.hpp:20
Azure::Response< Models::DeleteBlobResult > DeleteBlob(const std::string &blobName, const DeleteBlobOptions &options=DeleteBlobOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Marks the specified blob or snapshot for deletion. The blob is later deleted during garbage collectio...
Definition: blob_container_client.cpp:362
Azure::Response< BlockBlobClient > UploadBlob(const std::string &blobName, Azure::Core::IO::BodyStream &content, const UploadBlockBlobOptions &options=UploadBlockBlobOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Creates a new block blob under this container. For partial block blob updates and other advanced feat...
Definition: blob_container_client.cpp:371
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::Upload.
Definition: blob_options.hpp:683
Azure::Response< Models::CreateBlobContainerResult > Create(const CreateBlobContainerOptions &options=CreateBlobContainerOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Creates a new container under the specified account. If the container with the same name already exis...
Definition: blob_container_client.cpp:138
Azure::Response< Models::SetBlobContainerMetadataResult > SetMetadata(Metadata metadata, SetBlobContainerMetadataOptions options=SetBlobContainerMetadataOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Sets one or more user-defined name-value pairs for the specified container.
Definition: blob_container_client.cpp:220
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::ListBlobs and Azure::Storage::Blo...
Definition: blob_options.hpp:332
Azure::Response< Models::SetBlobContainerAccessPolicyResult > SetAccessPolicy(const SetBlobContainerAccessPolicyOptions &options=SetBlobContainerAccessPolicyOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Sets the permissions for the specified container. The permissions indicate whether blob container dat...
Definition: blob_container_client.cpp:347
Definition: page_blob_client.hpp:23
Azure::Response< Models::DeleteBlobContainerResult > Delete(const DeleteBlobContainerOptions &options=DeleteBlobContainerOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Marks the specified container for deletion. The container and any blobs contained within it are later...
Definition: blob_container_client.cpp:173
Client options used to initialize all kinds of blob clients.
Definition: blob_options.hpp:135
Response type for Azure::Storage::Blobs::BlobContainerClient::ListBlobs.
Definition: blob_responses.hpp:273
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::Delete.
Definition: blob_options.hpp:284
BlobContainerClient(const std::string &blobContainerUrl, std::shared_ptr< StorageSharedKeyCredential > credential, const BlobClientOptions &options=BlobClientOptions())
Initialize a new instance of BlobContainerClient.
Definition: blob_container_client.cpp:42
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::GetAccessPolicy.
Definition: blob_options.hpp:364
Azure::Response< Models::DeleteBlobContainerResult > DeleteIfExists(const DeleteBlobContainerOptions &options=DeleteBlobContainerOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Marks the specified container for deletion if it exists. The container and any blobs contained within...
Definition: blob_container_client.cpp:185
Response type for #Azure::Storage::Blobs::BlobContainerClient::ByHierarchy.
Definition: blob_responses.hpp:309
PageBlobClient GetPageBlobClient(const std::string &blobName) const
Create a new PageBlobClient object by appending blobName to the end of URL. The new PageBlobClient us...
Definition: blob_container_client.cpp:133
std::string GetUrl() const
Gets the container's primary URL endpoint.
Definition: blob_container_client.hpp:124
Optional parameters for Azure::Storage::Blobs::BlobClient::Delete.
Definition: blob_options.hpp:572
Azure::Response< Models::BlobContainerAccessPolicy > GetAccessPolicy(const GetBlobContainerAccessPolicyOptions &options=GetBlobContainerAccessPolicyOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Gets the permissions for this container. The permissions indicate whether container data may be acces...
Definition: blob_container_client.cpp:333
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::GetProperties.
Definition: blob_options.hpp:302
BlockBlobClient GetBlockBlobClient(const std::string &blobName) const
Create a new BlockBlobClient object by appending blobName to the end of URL. The new BlockBlobClient ...
Definition: blob_container_client.cpp:123
BlobClient GetBlobClient(const std::string &blobName) const
Create a new BlobClient object by appending blobName to the end of URL. The new BlobClient uses the s...
Definition: blob_container_client.cpp:116
ListBlobsByHierarchyPagedResponse ListBlobsByHierarchy(const std::string &delimiter, const ListBlobsOptions &options=ListBlobsOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Returns a collection of blobs in this container. Enumerating the blobs may make multiple requests to ...
Definition: blob_container_client.cpp:280
The BlockBlobClient allows you to manipulate Azure Storage block blobs.
Definition: block_blob_client.hpp:31
The AppendBlobClient allows you to manipulate Azure Storage append blobs.
Definition: append_blob_client.hpp:21
ListBlobsPagedResponse ListBlobs(const ListBlobsOptions &options=ListBlobsOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Returns a sequence of blobs in this container. Enumerating the blobs may make multiple requests to th...
Definition: blob_container_client.cpp:233
Azure::Response< Models::BlobContainerProperties > GetProperties(const GetBlobContainerPropertiesOptions &options=GetBlobContainerPropertiesOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Returns all user-defined metadata and system properties for the specified container....
Definition: blob_container_client.cpp:207
static BlobContainerClient CreateFromConnectionString(const std::string &connectionString, const std::string &blobContainerName, const BlobClientOptions &options=BlobClientOptions())
Initialize a new instance of BlobContainerClient.
Definition: blob_container_client.cpp:22
AppendBlobClient GetAppendBlobClient(const std::string &blobName) const
Create a new AppendBlobClient object by appending blobName to the end of URL. The new AppendBlobClien...
Definition: blob_container_client.cpp:128
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::Create.
Definition: blob_options.hpp:256