6#include "azure/storage/blobs/blob_client.hpp"
12namespace Azure {
namespace Storage {
namespace Blobs {
14 class BlobLeaseClient;
15 class BlobContainerBatch;
34 const std::string& connectionString,
35 const std::string& blobContainerName,
50 const std::string& blobContainerUrl,
51 std::shared_ptr<StorageSharedKeyCredential> credential,
65 const std::string& blobContainerUrl,
66 std::shared_ptr<Core::Credentials::TokenCredential> credential,
80 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;
302 const std::string& tagFilterSqlExpression,
304 const Azure::Core::Context& context = Azure::Core::Context())
const;
324 Response<Models::SubmitBlobBatchResult>
SubmitBatch(
327 const Core::Context& context = Core::Context())
const;
338 const Azure::Core::Context& context = Azure::Core::Context())
const;
341 Azure::Core::Url m_blobContainerUrl;
342 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_pipeline;
343 Azure::Nullable<EncryptionKey> m_customerProvidedKey;
344 Azure::Nullable<std::string> m_encryptionScope;
346 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_batchRequestPipeline;
347 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> m_batchSubrequestPipeline;
352 friend class Files::DataLake::DataLakeFileSystemClient;
The AppendBlobClient allows you to manipulate Azure Storage append blobs.
Definition append_blob_client.hpp:21
The BlobClient allows you to manipulate Azure Storage blobs.
Definition blob_client.hpp:39
A batch object allows you to batch multiple operations in a single request via Azure::Storage::Blobs:...
Definition blob_batch.hpp:149
Definition blob_container_client.hpp:21
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:375
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:241
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:450
Response< Models::SubmitBlobBatchResult > SubmitBatch(const BlobContainerBatch &batch, const SubmitBlobBatchOptions &options=SubmitBlobBatchOptions(), const Core::Context &context=Core::Context()) const
Submits a batch of subrequests.
Definition blob_container_client.cpp:501
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 in a container whose tags match a given sear...
Definition blob_container_client.cpp:471
std::string GetUrl() const
Gets the container's primary URL endpoint.
Definition blob_container_client.hpp:124
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:459
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:236
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:246
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:106
BlobContainerBatch CreateBatch() const
Creates a new batch object to collect subrequests that can be submitted together via SubmitBatch.
Definition blob_container_client.cpp:499
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:343
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_container_client.cpp:520
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:436
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:260
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:294
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:423
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:316
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:231
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:224
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:329
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:282
BlobLeaseClient allows you to manipulate Azure Storage leases on containers and blobs.
Definition blob_lease_client.hpp:18
Definition blob_service_client.hpp:22
The BlockBlobClient allows you to manipulate Azure Storage block blobs.
Definition block_blob_client.hpp:31
Response type for Azure::Storage::Blobs::BlobServiceClient::FindBlobsByTags.
Definition blob_responses.hpp:297
Response type for Azure::Storage::Blobs::BlobContainerClient::ListBlobsByHierarchy.
Definition blob_responses.hpp:361
Response type for Azure::Storage::Blobs::BlobContainerClient::ListBlobs.
Definition blob_responses.hpp:325
Definition page_blob_client.hpp:23
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::BlobClient::Delete.
Definition blob_options.hpp:735
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::GetAccountInfo.
Definition blob_options.hpp:277
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::GetAccessPolicy.
Definition blob_options.hpp:430
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::GetProperties.
Definition blob_options.hpp:368
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::ListBlobs and Azure::Storage::Blo...
Definition blob_options.hpp:398
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::SetAccessPolicy.
Definition blob_options.hpp:441
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::SubmitBatch.
Definition blob_options.hpp:1600
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::Upload.
Definition blob_options.hpp:850