azure-storage-blobs
Loading...
Searching...
No Matches
blob_options.hpp
1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4#pragma once
5
6#include "azure/storage/blobs/rest_client.hpp"
7
8#include <azure/core/internal/client_options.hpp>
9#include <azure/core/internal/extendable_enumeration.hpp>
10#include <azure/core/match_conditions.hpp>
11#include <azure/core/modified_conditions.hpp>
12#include <azure/storage/common/access_conditions.hpp>
13#include <azure/storage/common/crypt.hpp>
14
15#include <chrono>
16#include <cstdint>
17#include <memory>
18#include <numeric>
19#include <string>
20#include <vector>
21
22namespace Azure { namespace Storage { namespace Blobs {
23
28 class BlobAudience final : public Azure::Core::_internal::ExtendableEnumeration<BlobAudience> {
29 public:
38 explicit BlobAudience(std::string blobAudience) : ExtendableEnumeration(std::move(blobAudience))
39 {
40 }
41
49 static BlobAudience CreateBlobServiceAccountAudience(const std::string& storageAccountName)
50 {
51 return BlobAudience("https://" + storageAccountName + ".blob.core.windows.net/");
52 }
53
58 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobAudience DefaultAudience;
59 };
60
64 struct BlobContainerAccessConditions final : public Azure::ModifiedConditions,
65 public LeaseAccessConditions
66 {
67 };
68
73 {
78 virtual ~TagAccessConditions() = default;
79
85 Azure::Nullable<std::string> TagConditions;
86 };
87
91 struct BlobAccessConditions : public Azure::ModifiedConditions,
92 public Azure::MatchConditions,
93 public LeaseAccessConditions,
95 {
96 };
97
101 struct LeaseBlobAccessConditions final : public Azure::ModifiedConditions,
102 public Azure::MatchConditions,
104 {
105 };
106
111 {
116 Azure::Nullable<int64_t> IfMaxSizeLessThanOrEqual;
117
122 Azure::Nullable<int64_t> IfAppendPositionEqual;
123 };
124
129 {
134 Azure::Nullable<int64_t> IfSequenceNumberLessThan;
135
140 Azure::Nullable<int64_t> IfSequenceNumberLessThanOrEqual;
141
146 Azure::Nullable<int64_t> IfSequenceNumberEqual;
147 };
148
153 struct EncryptionKey final
154 {
158 std::string Key;
159
163 std::vector<uint8_t> KeyHash;
164
169 };
170
174 struct BlobClientOptions final : Azure::Core::_internal::ClientOptions
175 {
179 Azure::Nullable<EncryptionKey> CustomerProvidedKey;
180
184 Azure::Nullable<std::string> EncryptionScope;
185
194
198 std::string ApiVersion;
199
206
212 Azure::Nullable<BlobAudience> Audience;
213 };
214
219 {
224 Azure::Nullable<std::string> Prefix;
225
234 Azure::Nullable<std::string> ContinuationToken;
235
239 Azure::Nullable<int32_t> PageSizeHint;
240
244 Models::ListBlobContainersIncludeFlags Include = Models::ListBlobContainersIncludeFlags::None;
245 };
246
251 {
256 Azure::DateTime StartsOn = std::chrono::system_clock::now();
257 };
258
263 {
264 };
265
270 {
271 };
272
277 {
278 };
279
284 {
285 };
286
291 {
298 Azure::Nullable<std::string> ContinuationToken;
299
303 Azure::Nullable<int32_t> PageSizeHint;
304 };
305
310 {
316
320 Storage::Metadata Metadata;
321
325 Azure::Nullable<std::string> DefaultEncryptionScope;
326
331 Azure::Nullable<bool> PreventEncryptionScopeOverride;
332 };
333
338 {
343 };
344
350 {
351 };
352
357 {
361 LeaseAccessConditions SourceAccessConditions;
362 };
363
368 {
372 LeaseAccessConditions AccessConditions;
373 };
374
379 {
380 struct : public LeaseAccessConditions
381 {
386 Azure::Nullable<Azure::DateTime> IfModifiedSince;
387 }
391 };
392
397 struct ListBlobsOptions final
398 {
403 Azure::Nullable<std::string> Prefix;
404
413 Azure::Nullable<std::string> ContinuationToken;
414
418 Azure::Nullable<int32_t> PageSizeHint;
419
423 Models::ListBlobsIncludeFlags Include = Models::ListBlobsIncludeFlags::None;
424 };
425
430 {
434 LeaseAccessConditions AccessConditions;
435 };
436
441 {
447
452 std::vector<Models::SignedIdentifier> SignedIdentifiers;
453
458 };
459
464 {
469 };
470
475 {
480 };
481
486 {
491 };
492
497 {
503 Azure::Nullable<Models::RehydratePriority> RehydratePriority;
504 struct : public LeaseAccessConditions, public TagAccessConditions
505 {
506 }
510 };
511
516 {
524 Storage::Metadata Metadata;
525
529 std::map<std::string, std::string> Tags;
530
535
536 struct : public Azure::ModifiedConditions,
537 public Azure::MatchConditions,
538 public LeaseAccessConditions,
540 {
541 }
547
551 Azure::Nullable<Models::AccessTier> AccessTier;
552
558 Azure::Nullable<Models::RehydratePriority> RehydratePriority;
559
563 Azure::Nullable<bool> ShouldSealDestination;
564
568 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
569
573 Azure::Nullable<bool> HasLegalHold;
574 };
575
580 {
588 Storage::Metadata Metadata;
589
593 std::map<std::string, std::string> Tags;
594
599
600 struct : public Azure::ModifiedConditions, public Azure::MatchConditions
601 {
602 }
608
612 Azure::Nullable<Models::AccessTier> AccessTier;
613
619 Azure::Nullable<ContentHash> TransactionalContentHash;
620
624 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
628 Azure::Nullable<bool> HasLegalHold;
629
635
643
648 Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;
649 };
650
655 {
659 LeaseAccessConditions AccessConditions;
660 };
661
666 {
670 Azure::Nullable<Core::Http::HttpRange> Range;
671
676 Azure::Nullable<HashAlgorithm> RangeHashAlgorithm;
677
682 };
683
688 {
692 Azure::Nullable<Core::Http::HttpRange> Range;
693
697 struct
698 {
704 int64_t InitialChunkSize = 256 * 1024 * 1024;
705
709 int64_t ChunkSize = 4 * 1024 * 1024;
710
714 int32_t Concurrency = 5;
716 };
717
722 {
729 Storage::Metadata Metadata;
730
735 };
736
740 struct DeleteBlobOptions final
741 {
747 Azure::Nullable<Models::DeleteSnapshotsOption> DeleteSnapshots;
748
753 };
754
759 {
760 };
761
766 {
771 };
772
776 struct RenewLeaseOptions final
777 {
782 };
783
788 {
793 };
794
799 {
804 };
805
809 struct BreakLeaseOptions final
810 {
818 Azure::Nullable<std::chrono::seconds> BreakPeriod;
819
824 };
825
830 {
831 struct : public LeaseAccessConditions, public TagAccessConditions
832 {
833 }
837 };
838
843 {
844 struct : public LeaseAccessConditions, public TagAccessConditions
845 {
846 }
850 };
851
856 {
862 Azure::Nullable<ContentHash> TransactionalContentHash;
863
868
872 Storage::Metadata Metadata;
873
877 std::map<std::string, std::string> Tags;
878
882 Azure::Nullable<Models::AccessTier> AccessTier;
883
888
892 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
893
897 Azure::Nullable<bool> HasLegalHold;
898 };
899
904 {
909
913 Storage::Metadata Metadata;
914
918 std::map<std::string, std::string> Tags;
919
923 Azure::Nullable<Models::AccessTier> AccessTier;
924
928 struct
929 {
934 int64_t SingleUploadThreshold = 256 * 1024 * 1024;
935
940 Azure::Nullable<int64_t> ChunkSize;
941
945 int32_t Concurrency = 5;
947
951 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
952
956 Azure::Nullable<bool> HasLegalHold;
957 };
958
963 {
968
973
977 Storage::Metadata Metadata;
978
982 std::map<std::string, std::string> Tags;
983
987 Azure::Nullable<Models::AccessTier> AccessTier;
988
993
994 struct : public Azure::ModifiedConditions,
995 public Azure::MatchConditions,
997 {
998 }
1004
1011 Azure::Nullable<ContentHash> TransactionalContentHash;
1012
1018
1026
1031 Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;
1032 };
1033
1038 {
1044 Azure::Nullable<ContentHash> TransactionalContentHash;
1045
1049 LeaseAccessConditions AccessConditions;
1050 };
1051
1056 {
1060 Azure::Nullable<Core::Http::HttpRange> SourceRange;
1061
1067 Azure::Nullable<ContentHash> TransactionalContentHash;
1068
1072 LeaseAccessConditions AccessConditions;
1073
1074 struct : public Azure::ModifiedConditions, public Azure::MatchConditions
1075 {
1076 }
1080
1088
1093 Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;
1094 };
1095
1100 {
1105
1109 Storage::Metadata Metadata;
1110
1114 std::map<std::string, std::string> Tags;
1115
1119 Azure::Nullable<Models::AccessTier> AccessTier;
1120
1125
1129 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
1130
1134 Azure::Nullable<bool> HasLegalHold;
1135 };
1136
1141 {
1147
1148 struct : public LeaseAccessConditions, public TagAccessConditions
1149 {
1150 }
1154 };
1155
1160 public:
1172 const std::string& recordSeparator = std::string(),
1173 const std::string& columnSeparator = std::string(),
1174 const std::string& quotationCharacter = std::string(),
1175 const std::string& escapeCharacter = std::string(),
1176 bool hasHeaders = false);
1184 const std::string& recordSeparator = std::string());
1191
1192 private:
1193 Models::_detail::QueryFormatType m_format;
1194 std::string m_recordSeparator;
1195 std::string m_columnSeparator;
1196 std::string m_quotationCharacter;
1197 std::string m_escapeCharacter;
1198 bool m_hasHeaders = false;
1199
1200 friend class BlockBlobClient;
1201 };
1202
1207 public:
1219 const std::string& recordSeparator = std::string(),
1220 const std::string& columnSeparator = std::string(),
1221 const std::string& quotationCharacter = std::string(),
1222 const std::string& escapeCharacter = std::string(),
1223 bool hasHeaders = false);
1231 const std::string& recordSeparator = std::string());
1239 std::vector<Models::BlobQueryArrowField> schema);
1240
1241 private:
1242 Models::_detail::QueryFormatType m_format;
1243 std::string m_recordSeparator;
1244 std::string m_columnSeparator;
1245 std::string m_quotationCharacter;
1246 std::string m_escapeCharacter;
1247 bool m_hasHeaders = false;
1248 std::vector<Models::BlobQueryArrowField> m_schema;
1249
1250 friend class BlockBlobClient;
1251 };
1252
1256 struct BlobQueryError final
1257 {
1261 std::string Name;
1265 std::string Description;
1269 bool IsFatal = false;
1273 int64_t Position;
1274 };
1275
1279 struct QueryBlobOptions final
1280 {
1296 std::function<void(int64_t, int64_t)> ProgressHandler;
1301 std::function<void(BlobQueryError)> ErrorHandler;
1302 };
1303
1308 {
1313
1317 Storage::Metadata Metadata;
1318
1322 std::map<std::string, std::string> Tags;
1323
1328
1332 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
1333
1337 Azure::Nullable<bool> HasLegalHold;
1338 };
1339
1344 {
1350 Azure::Nullable<ContentHash> TransactionalContentHash;
1351
1356 };
1357
1362 {
1366 Azure::Nullable<Core::Http::HttpRange> SourceRange;
1367
1373 Azure::Nullable<ContentHash> TransactionalContentHash;
1374
1379
1387
1392 Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;
1393 };
1394
1399 {
1406 };
1407
1412 {
1417 Azure::Nullable<int64_t> SequenceNumber;
1418
1423
1427 Storage::Metadata Metadata;
1428
1432 Azure::Nullable<Models::AccessTier> AccessTier;
1433
1437 std::map<std::string, std::string> Tags;
1438
1443
1447 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
1448
1452 Azure::Nullable<bool> HasLegalHold;
1453 };
1454
1459 {
1465 Azure::Nullable<ContentHash> TransactionalContentHash;
1466
1471 };
1472
1477 {
1483 Azure::Nullable<ContentHash> TransactionalContentHash;
1484
1489
1490 struct : public Azure::ModifiedConditions, public Azure::MatchConditions
1491 {
1492 }
1496
1504
1509 Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;
1510 };
1511
1516 {
1521 };
1522
1527 {
1532 };
1533
1538 {
1542 Azure::Nullable<int64_t> SequenceNumber;
1543
1548 };
1549
1554 {
1559 Azure::Nullable<Core::Http::HttpRange> Range;
1560
1565
1572 Azure::Nullable<std::string> ContinuationToken;
1573
1580 Azure::Nullable<int32_t> PageSizeHint;
1581 };
1582
1587 {
1592 };
1593
1598 {
1599 };
1600
1605 {
1609 struct
1610 {
1615 Azure::Nullable<Azure::DateTime> IfUnmodifiedSince;
1617 };
1618
1623 {
1624 };
1625
1630 {
1631 };
1632
1633 namespace _detail {
1634 inline std::string TagsToString(const std::map<std::string, std::string>& tags)
1635 {
1636 return std::accumulate(
1637 tags.begin(),
1638 tags.end(),
1639 std::string(),
1640 [](const std::string& a, const std::pair<std::string, std::string>& b) {
1641 return a + (a.empty() ? "" : "&") + _internal::UrlEncodeQueryParameter(b.first) + "="
1642 + _internal::UrlEncodeQueryParameter(b.second);
1643 });
1644 }
1645 } // namespace _detail
1646}}} // namespace Azure::Storage::Blobs
Audiences available for blob service.
Definition blob_options.hpp:28
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobAudience DefaultAudience
Default Audience. Use to acquire a token for authorizing requests to any Azure Storage account.
Definition blob_options.hpp:58
BlobAudience(std::string blobAudience)
Construct a new BlobAudience object.
Definition blob_options.hpp:38
static BlobAudience CreateBlobServiceAccountAudience(const std::string &storageAccountName)
The service endpoint for a given storage account. Use this method to acquire a token for authorizing ...
Definition blob_options.hpp:49
Blob Query text configuration for input.
Definition blob_options.hpp:1159
static BlobQueryInputTextOptions CreateJsonTextOptions(const std::string &recordSeparator=std::string())
Creates Json text configuration.
static BlobQueryInputTextOptions CreateCsvTextOptions(const std::string &recordSeparator=std::string(), const std::string &columnSeparator=std::string(), const std::string &quotationCharacter=std::string(), const std::string &escapeCharacter=std::string(), bool hasHeaders=false)
Creates CSV text configuration.
static BlobQueryInputTextOptions CreateParquetTextOptions()
Creates Parquet text configuration.
Blob Query text configuration for output.
Definition blob_options.hpp:1206
static BlobQueryOutputTextOptions CreateArrowTextOptions(std::vector< Models::BlobQueryArrowField > schema)
Creates Arrow text configuration.
static BlobQueryOutputTextOptions CreateCsvTextOptions(const std::string &recordSeparator=std::string(), const std::string &columnSeparator=std::string(), const std::string &quotationCharacter=std::string(), const std::string &escapeCharacter=std::string(), bool hasHeaders=false)
Creates CSV text configuration.
static BlobQueryOutputTextOptions CreateJsonTextOptions(const std::string &recordSeparator=std::string())
Creates Json text configuration.
The BlockBlobClient allows you to manipulate Azure Storage block blobs.
Definition block_blob_client.hpp:31
Optional, default 'replace'. Indicates if source tags should be copied or replaced with the tags spec...
Definition rest_client.hpp:2171
Specifies whether to return the list of committed blocks, the list of uncommitted blocks,...
Definition rest_client.hpp:3183
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockListType Committed
Definition rest_client.hpp:3191
The algorithm used to produce the encryption key hash. Currently, the only accepted value is "AES256"...
Definition rest_client.hpp:43
Specifies whether data in the container may be accessed publicly and the level of access.
Definition rest_client.hpp:334
AZ_STORAGE_BLOBS_DLLEXPORT static const PublicAccessType None
Definition rest_client.hpp:346
Optional parameters for Azure::Storage::Blobs::BlobClient::AbortCopyFromUri.
Definition blob_options.hpp:655
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:659
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Acquire.
Definition blob_options.hpp:766
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:770
Specifies access conditions for an append blob.
Definition blob_options.hpp:111
Azure::Nullable< int64_t > IfAppendPositionEqual
Ensures that the AppendBlock operation succeeds only if the append position is equal to this value.
Definition blob_options.hpp:122
Azure::Nullable< int64_t > IfMaxSizeLessThanOrEqual
Ensures that the AppendBlock operation succeeds only if the append blob's size is less than or equal ...
Definition blob_options.hpp:116
Optional parameters for Azure::Storage::Blobs::AppendBlobClient::AppendBlockFromUri.
Definition blob_options.hpp:1362
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1373
Azure::Nullable< Core::Http::HttpRange > SourceRange
Uploads only the bytes of the source blob in the specified range.
Definition blob_options.hpp:1366
Azure::Nullable< Models::FileShareTokenIntent > FileRequestIntent
Definition blob_options.hpp:1392
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1386
AppendBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1378
Optional parameters for Azure::Storage::Blobs::AppendBlobClient::AppendBlock.
Definition blob_options.hpp:1344
AppendBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1355
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1350
Specifies access conditions for a blob.
Definition blob_options.hpp:95
Client options used to initialize all kinds of blob clients.
Definition blob_options.hpp:175
std::string ApiVersion
Definition blob_options.hpp:198
Azure::Nullable< BlobAudience > Audience
Definition blob_options.hpp:212
std::string SecondaryHostForRetryReads
Definition blob_options.hpp:193
Azure::Nullable< EncryptionKey > CustomerProvidedKey
Holds the customer provided key used when making requests.
Definition blob_options.hpp:179
bool EnableTenantDiscovery
Definition blob_options.hpp:205
Azure::Nullable< std::string > EncryptionScope
Holds the encryption scope used when making requests.
Definition blob_options.hpp:184
Specifies access conditions for a container.
Definition blob_options.hpp:66
Blob Query Error.
Definition blob_options.hpp:1257
bool IsFatal
If the error is a fatal error.
Definition blob_options.hpp:1269
std::string Description
Error description.
Definition blob_options.hpp:1265
std::string Name
Error name.
Definition blob_options.hpp:1261
int64_t Position
Definition blob_options.hpp:1273
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Break.
Definition blob_options.hpp:810
Azure::Nullable< std::chrono::seconds > BreakPeriod
Proposed duration the lease should continue before it is broken, in seconds, between 0 and 60....
Definition blob_options.hpp:818
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:823
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Change.
Definition blob_options.hpp:788
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:792
Optional parameters for Azure::Storage::Blobs::PageBlobClient::ClearPages.
Definition blob_options.hpp:1516
PageBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1520
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::CommitBlockList.
Definition blob_options.hpp:1100
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:1119
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:1134
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1124
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:1114
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:1109
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:1129
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:1104
Optional parameters for Azure::Storage::Blobs::BlobClient::CopyFromUri.
Definition blob_options.hpp:580
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:628
Azure::Nullable< Models::AccessTier > AccessTier
Specifies the tier to be set on the target blob.
Definition blob_options.hpp:612
SourceAccessConditions
Optional conditions that the source must meet to perform this operation.
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:598
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:624
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:619
Models::BlobCopySourceTagsMode CopySourceTagsMode
Definition blob_options.hpp:634
Storage::Metadata Metadata
Specifies user-defined name-value pairs associated with the blob. If no name-value pairs are specifie...
Definition blob_options.hpp:588
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:593
Azure::Nullable< Models::FileShareTokenIntent > FileRequestIntent
Definition blob_options.hpp:648
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:642
Optional parameters for Azure::Storage::Blobs::AppendBlobClient::Create.
Definition blob_options.hpp:1308
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:1332
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:1317
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1327
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:1322
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:1312
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:1337
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::Create.
Definition blob_options.hpp:310
Storage::Metadata Metadata
Name-value pairs to associate with the container as metadata.
Definition blob_options.hpp:320
Azure::Nullable< std::string > DefaultEncryptionScope
The encryption scope to use as the default on the container.
Definition blob_options.hpp:325
Models::PublicAccessType AccessType
Specifies whether data in the container may be accessed publicly and the level of access.
Definition blob_options.hpp:315
Azure::Nullable< bool > PreventEncryptionScopeOverride
If true, prevents any blob upload from specifying a different encryption scope.
Definition blob_options.hpp:331
Optional parameters for Azure::Storage::Blobs::BlobClient::CreateSnapshot.
Definition blob_options.hpp:722
Storage::Metadata Metadata
Specifies user-defined name-value pairs associated with the blob. If no name-value pairs are specifie...
Definition blob_options.hpp:729
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:734
Optional parameters for Azure::Storage::Blobs::PageBlobClient::Create.
Definition blob_options.hpp:1412
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:1447
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:1432
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:1427
Azure::Nullable< int64_t > SequenceNumber
The sequence number is a user-controlled value that you can use to track requests....
Definition blob_options.hpp:1417
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1442
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:1437
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:1452
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:1422
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::Delete.
Definition blob_options.hpp:338
BlobContainerAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:342
Optional parameters for Azure::Storage::Blobs::BlobClient::DeleteImmutabilityPolicy.
Definition blob_options.hpp:1623
Optional parameters for Azure::Storage::Blobs::BlobClient::Delete.
Definition blob_options.hpp:741
Azure::Nullable< Models::DeleteSnapshotsOption > DeleteSnapshots
Specifies to delete either the base blob and all of its snapshots, or only the blob's snapshots and n...
Definition blob_options.hpp:747
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:752
Optional parameters for Azure::Storage::Blobs::BlobClient::Download.
Definition blob_options.hpp:666
Azure::Nullable< Core::Http::HttpRange > Range
Downloads only the bytes of the blob in the specified range.
Definition blob_options.hpp:670
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:681
Azure::Nullable< HashAlgorithm > RangeHashAlgorithm
When specified together with Range, service returns hash for the range as long as the range is less t...
Definition blob_options.hpp:676
Optional parameters for Azure::Storage::Blobs::BlobClient::DownloadTo.
Definition blob_options.hpp:688
Azure::Nullable< Core::Http::HttpRange > Range
Downloads only the bytes of the blob in the specified range.
Definition blob_options.hpp:692
int64_t ChunkSize
The maximum number of bytes in a single request.
Definition blob_options.hpp:709
int64_t InitialChunkSize
The size of the first range request in bytes. Blobs smaller than this limit will be downloaded in a s...
Definition blob_options.hpp:704
int32_t Concurrency
The maximum number of threads that may be used in a parallel transfer.
Definition blob_options.hpp:714
struct Azure::Storage::Blobs::DownloadBlobToOptions::@0 TransferOptions
Options for parallel transfer.
Wrapper for an encryption key to be used with client provided key server-side encryption.
Definition blob_options.hpp:154
std::vector< uint8_t > KeyHash
SHA256 hash of the AES256 encryption key.
Definition blob_options.hpp:163
std::string Key
Base64 encoded string of the AES256 encryption key.
Definition blob_options.hpp:158
Models::EncryptionAlgorithmType Algorithm
The algorithm for Azure Blob Storage to encrypt with.
Definition blob_options.hpp:168
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::FindBlobsByTags.
Definition blob_options.hpp:291
Azure::Nullable< std::string > ContinuationToken
A string value that identifies the portion of the result set to be returned with the next operation....
Definition blob_options.hpp:298
Azure::Nullable< int32_t > PageSizeHint
Specifies the maximum number of blobs to return.
Definition blob_options.hpp:303
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
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:434
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::GetProperties.
Definition blob_options.hpp:368
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:372
Optional parameters for Azure::Storage::Blobs::BlobClient::GetProperties.
Definition blob_options.hpp:464
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:468
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::GetStatistics.
Definition blob_options.hpp:284
Optional parameters for Azure::Storage::Blobs::BlobClient::GetTags.
Definition blob_options.hpp:843
AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::GetBlockList.
Definition blob_options.hpp:1141
Models::BlockListType ListType
Specifies whether to return the list of committed blocks, the list of uncommitted blocks,...
Definition blob_options.hpp:1146
AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::PageBlobClient::GetPageRanges.
Definition blob_options.hpp:1554
Azure::Nullable< Core::Http::HttpRange > Range
Optionally specifies the range of bytes over which to list ranges, inclusively. If omitted,...
Definition blob_options.hpp:1559
Azure::Nullable< std::string > ContinuationToken
This parameter identifies the portion of the ranges to be returned with the next operation....
Definition blob_options.hpp:1572
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1564
Azure::Nullable< int32_t > PageSizeHint
This parameter specifies the maximum number of page ranges to return. If the request specifies a valu...
Definition blob_options.hpp:1580
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
Azure::DateTime StartsOn
Start time for the key's validity. The time should be specified in UTC, and will be truncated to seco...
Definition blob_options.hpp:256
Specifies access conditions for blob lease operations.
Definition blob_options.hpp:104
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::ListBlobContainers.
Definition blob_options.hpp:219
Azure::Nullable< std::string > Prefix
Specifies a string that filters the results to return only containers whose name begins with the spec...
Definition blob_options.hpp:224
Azure::Nullable< int32_t > PageSizeHint
Specifies the maximum number of containers to return.
Definition blob_options.hpp:239
Azure::Nullable< std::string > ContinuationToken
A string value that identifies the portion of the list of containers to be returned with the next lis...
Definition blob_options.hpp:234
Models::ListBlobContainersIncludeFlags Include
Specifies that the container's metadata be returned.
Definition blob_options.hpp:244
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::ListBlobs and Azure::Storage::Blo...
Definition blob_options.hpp:398
Azure::Nullable< std::string > Prefix
Specifies a string that filters the results to return only blobs whose name begins with the specified...
Definition blob_options.hpp:403
Azure::Nullable< int32_t > PageSizeHint
Specifies the maximum number of blobs to return.
Definition blob_options.hpp:418
Models::ListBlobsIncludeFlags Include
Specifies one or more datasets to include in the response.
Definition blob_options.hpp:423
Azure::Nullable< std::string > ContinuationToken
A string value that identifies the portion of the list of blobs to be returned with the next listing ...
Definition blob_options.hpp:413
Standard HTTP properties supported by containers and blobs.
Definition rest_client.hpp:1023
Specifies access conditions for a page blob.
Definition blob_options.hpp:129
Azure::Nullable< int64_t > IfSequenceNumberLessThanOrEqual
IfSequenceNumberLessThanOrEqual ensures that the page blob operation succeeds only if the blob's sequ...
Definition blob_options.hpp:140
Azure::Nullable< int64_t > IfSequenceNumberEqual
IfSequenceNumberEqual ensures that the page blob operation succeeds only if the blob's sequence numbe...
Definition blob_options.hpp:146
Azure::Nullable< int64_t > IfSequenceNumberLessThan
IfSequenceNumberLessThan ensures that the page blob operation succeeds only if the blob's sequence nu...
Definition blob_options.hpp:134
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::Query.
Definition blob_options.hpp:1280
BlobQueryOutputTextOptions OutputTextConfiguration
Output text configuration.
Definition blob_options.hpp:1288
std::function< void(BlobQueryError)> ErrorHandler
Callback for error handling. If you don't specify one, the default will be used, which will ignore al...
Definition blob_options.hpp:1301
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1292
BlobQueryInputTextOptions InputTextConfiguration
Input text configuration.
Definition blob_options.hpp:1284
std::function< void(int64_t, int64_t)> ProgressHandler
Callback for progress handling.
Definition blob_options.hpp:1296
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Release.
Definition blob_options.hpp:799
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:803
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::RenameBlobContainer.
Definition blob_options.hpp:357
LeaseAccessConditions SourceAccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:361
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Renew.
Definition blob_options.hpp:777
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:781
Optional parameters for Azure::Storage::Blobs::PageBlobClient::Resize.
Definition blob_options.hpp:1527
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1531
Optional parameters for Azure::Storage::Blobs::AppendBlobClient::Seal.
Definition blob_options.hpp:1399
AppendBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1405
Optional parameters for Azure::Storage::Blobs::BlobClient::SetAccessTier.
Definition blob_options.hpp:497
Azure::Nullable< Models::RehydratePriority > RehydratePriority
Indicates the priority with which to rehydrate an archived blob. The priority can be set on a blob on...
Definition blob_options.hpp:503
AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::SetAccessPolicy.
Definition blob_options.hpp:441
BlobContainerAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:457
Models::PublicAccessType AccessType
Specifies whether data in the container may be accessed publicly and the level of access.
Definition blob_options.hpp:446
std::vector< Models::SignedIdentifier > SignedIdentifiers
Stored access policies that you can use to provide fine grained control over container permissions.
Definition blob_options.hpp:452
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::SetMetadata.
Definition blob_options.hpp:379
AccessConditions
Optional conditions that must be met to perform this operation.
Azure::Nullable< Azure::DateTime > IfModifiedSince
Specify this header to perform the operation only if the resource has been modified since the specifi...
Definition blob_options.hpp:386
Optional parameters for Azure::Storage::Blobs::BlobClient::SetHttpHeaders.
Definition blob_options.hpp:475
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:479
Optional parameters for Azure::Storage::Blobs::BlobClient::SetImmutabilityPolicy.
Definition blob_options.hpp:1605
Azure::Nullable< Azure::DateTime > IfUnmodifiedSince
Specify this header to perform the operation only if the resource has not been modified since the spe...
Definition blob_options.hpp:1615
struct Azure::Storage::Blobs::SetBlobImmutabilityPolicyOptions::@2 AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlobClient::SetMetadata.
Definition blob_options.hpp:486
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:490
Optional parameters for Azure::Storage::Blobs::BlobClient::SetTags.
Definition blob_options.hpp:830
AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::SetProperties.
Definition blob_options.hpp:263
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::StageBlockFromUri.
Definition blob_options.hpp:1056
Azure::Nullable< Core::Http::HttpRange > SourceRange
Uploads only the bytes of the source blob in the specified range.
Definition blob_options.hpp:1060
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1087
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1072
Azure::Nullable< Models::FileShareTokenIntent > FileRequestIntent
Definition blob_options.hpp:1093
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1067
SourceAccessConditions
Optional conditions that the source must meet to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::StageBlock.
Definition blob_options.hpp:1038
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1049
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1044
Optional parameters for Azure::Storage::Blobs::BlobClient::StartCopyFromUri.
Definition blob_options.hpp:516
SourceAccessConditions
Optional conditions that the source must meet to perform this operation.
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:534
Azure::Nullable< Models::RehydratePriority > RehydratePriority
Indicates the priority with which to rehydrate an archived blob. The priority can be set on a blob on...
Definition blob_options.hpp:558
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:568
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:529
Azure::Nullable< bool > ShouldSealDestination
If the destination blob should be sealed. Only applicable for Append Blobs.
Definition blob_options.hpp:563
Storage::Metadata Metadata
Specifies user-defined name-value pairs associated with the blob. If no name-value pairs are specifie...
Definition blob_options.hpp:524
Azure::Nullable< Models::AccessTier > AccessTier
Specifies the tier to be set on the target blob.
Definition blob_options.hpp:551
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:573
Optional parameters for Azure::Storage::Blobs::PageBlobClient::StartCopyIncremental.
Definition blob_options.hpp:1587
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1591
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::SubmitBatch.
Definition blob_options.hpp:1630
Specifies HTTP options for conditional requests based on tags.
Definition blob_options.hpp:73
virtual ~TagAccessConditions()=default
Destructor.
Azure::Nullable< std::string > TagConditions
Optional SQL statement to apply to the tags of the Blob. Refer to https://learn.microsoft....
Definition blob_options.hpp:85
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::UndeleteBlobContainer.
Definition blob_options.hpp:350
Optional parameters for Azure::Storage::Blobs::BlobClient::Undelete.
Definition blob_options.hpp:759
Optional parameters for Azure::Storage::Blobs::PageBlobClient::UpdateSequenceNumber.
Definition blob_options.hpp:1538
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1547
Azure::Nullable< int64_t > SequenceNumber
An updated sequence number of your choosing, if Action is Max or Update.
Definition blob_options.hpp:1542
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::UploadFrom.
Definition blob_options.hpp:904
struct Azure::Storage::Blobs::UploadBlockBlobFromOptions::@1 TransferOptions
Options for parallel transfer.
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:956
int32_t Concurrency
The maximum number of threads that may be used in a parallel transfer.
Definition blob_options.hpp:945
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:908
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:951
int64_t SingleUploadThreshold
Blob smaller than this will be uploaded with a single upload operation. This value cannot be larger t...
Definition blob_options.hpp:934
Azure::Nullable< int64_t > ChunkSize
The maximum number of bytes in a single request. This value cannot be larger than 4000 MiB.
Definition blob_options.hpp:940
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:923
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:918
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:913
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::UploadFromUri.
Definition blob_options.hpp:963
Models::BlobCopySourceTagsMode CopySourceTagsMode
Definition blob_options.hpp:1017
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1011
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:992
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:972
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:977
bool CopySourceBlobProperties
Definition blob_options.hpp:967
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:987
SourceAccessConditions
Optional conditions that source must meet to perform this operation.
Azure::Nullable< Models::FileShareTokenIntent > FileRequestIntent
Definition blob_options.hpp:1031
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:982
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1025
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::Upload.
Definition blob_options.hpp:856
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:862
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:867
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:877
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:872
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:897
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:887
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:882
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:892
Optional parameters for Azure::Storage::Blobs::PageBlobClient::UploadPagesFromUri.
Definition blob_options.hpp:1477
SourceAccessConditions
Optional conditions that the source must meet to perform this operation.
PageBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1488
Azure::Nullable< Models::FileShareTokenIntent > FileRequestIntent
Definition blob_options.hpp:1509
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1503
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1483
Optional parameters for Azure::Storage::Blobs::PageBlobClient::UploadPages.
Definition blob_options.hpp:1459
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1465
PageBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1470