Loading [MathJax]/extensions/tex2jax.js
azure-storage-blobs
All Classes Functions Variables Pages
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 };
644
649 {
653 LeaseAccessConditions AccessConditions;
654 };
655
660 {
664 Azure::Nullable<Core::Http::HttpRange> Range;
665
670 Azure::Nullable<HashAlgorithm> RangeHashAlgorithm;
671
676 };
677
682 {
686 Azure::Nullable<Core::Http::HttpRange> Range;
687
691 struct
692 {
698 int64_t InitialChunkSize = 256 * 1024 * 1024;
699
703 int64_t ChunkSize = 4 * 1024 * 1024;
704
708 int32_t Concurrency = 5;
710 };
711
716 {
723 Storage::Metadata Metadata;
724
729 };
730
734 struct DeleteBlobOptions final
735 {
741 Azure::Nullable<Models::DeleteSnapshotsOption> DeleteSnapshots;
742
747 };
748
753 {
754 };
755
760 {
765 };
766
770 struct RenewLeaseOptions final
771 {
776 };
777
782 {
787 };
788
793 {
798 };
799
803 struct BreakLeaseOptions final
804 {
812 Azure::Nullable<std::chrono::seconds> BreakPeriod;
813
818 };
819
824 {
825 struct : public LeaseAccessConditions, public TagAccessConditions
826 {
827 }
831 };
832
837 {
838 struct : public LeaseAccessConditions, public TagAccessConditions
839 {
840 }
844 };
845
850 {
856 Azure::Nullable<ContentHash> TransactionalContentHash;
857
862
866 Storage::Metadata Metadata;
867
871 std::map<std::string, std::string> Tags;
872
876 Azure::Nullable<Models::AccessTier> AccessTier;
877
882
886 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
887
891 Azure::Nullable<bool> HasLegalHold;
892 };
893
898 {
903
907 Storage::Metadata Metadata;
908
912 std::map<std::string, std::string> Tags;
913
917 Azure::Nullable<Models::AccessTier> AccessTier;
918
922 struct
923 {
928 int64_t SingleUploadThreshold = 256 * 1024 * 1024;
929
934 Azure::Nullable<int64_t> ChunkSize;
935
939 int32_t Concurrency = 5;
941
945 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
946
950 Azure::Nullable<bool> HasLegalHold;
951 };
952
957 {
962
967
971 Storage::Metadata Metadata;
972
976 std::map<std::string, std::string> Tags;
977
981 Azure::Nullable<Models::AccessTier> AccessTier;
982
987
988 struct : public Azure::ModifiedConditions,
989 public Azure::MatchConditions,
991 {
992 }
998
1005 Azure::Nullable<ContentHash> TransactionalContentHash;
1006
1012
1020 };
1021
1026 {
1032 Azure::Nullable<ContentHash> TransactionalContentHash;
1033
1037 LeaseAccessConditions AccessConditions;
1038 };
1039
1044 {
1048 Azure::Nullable<Core::Http::HttpRange> SourceRange;
1049
1055 Azure::Nullable<ContentHash> TransactionalContentHash;
1056
1060 LeaseAccessConditions AccessConditions;
1061
1062 struct : public Azure::ModifiedConditions, public Azure::MatchConditions
1063 {
1064 }
1068
1076 };
1077
1082 {
1087
1091 Storage::Metadata Metadata;
1092
1096 std::map<std::string, std::string> Tags;
1097
1101 Azure::Nullable<Models::AccessTier> AccessTier;
1102
1107
1111 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
1112
1116 Azure::Nullable<bool> HasLegalHold;
1117 };
1118
1123 {
1129
1130 struct : public LeaseAccessConditions, public TagAccessConditions
1131 {
1132 }
1136 };
1137
1142 public:
1154 const std::string& recordSeparator = std::string(),
1155 const std::string& columnSeparator = std::string(),
1156 const std::string& quotationCharacter = std::string(),
1157 const std::string& escapeCharacter = std::string(),
1158 bool hasHeaders = false);
1166 const std::string& recordSeparator = std::string());
1173
1174 private:
1175 Models::_detail::QueryFormatType m_format;
1176 std::string m_recordSeparator;
1177 std::string m_columnSeparator;
1178 std::string m_quotationCharacter;
1179 std::string m_escapeCharacter;
1180 bool m_hasHeaders = false;
1181
1182 friend class BlockBlobClient;
1183 };
1184
1189 public:
1201 const std::string& recordSeparator = std::string(),
1202 const std::string& columnSeparator = std::string(),
1203 const std::string& quotationCharacter = std::string(),
1204 const std::string& escapeCharacter = std::string(),
1205 bool hasHeaders = false);
1213 const std::string& recordSeparator = std::string());
1221 std::vector<Models::BlobQueryArrowField> schema);
1222
1223 private:
1224 Models::_detail::QueryFormatType m_format;
1225 std::string m_recordSeparator;
1226 std::string m_columnSeparator;
1227 std::string m_quotationCharacter;
1228 std::string m_escapeCharacter;
1229 bool m_hasHeaders = false;
1230 std::vector<Models::BlobQueryArrowField> m_schema;
1231
1232 friend class BlockBlobClient;
1233 };
1234
1238 struct BlobQueryError final
1239 {
1243 std::string Name;
1247 std::string Description;
1251 bool IsFatal = false;
1255 int64_t Position;
1256 };
1257
1261 struct QueryBlobOptions final
1262 {
1278 std::function<void(int64_t, int64_t)> ProgressHandler;
1283 std::function<void(BlobQueryError)> ErrorHandler;
1284 };
1285
1290 {
1295
1299 Storage::Metadata Metadata;
1300
1304 std::map<std::string, std::string> Tags;
1305
1310
1314 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
1315
1319 Azure::Nullable<bool> HasLegalHold;
1320 };
1321
1326 {
1332 Azure::Nullable<ContentHash> TransactionalContentHash;
1333
1338 };
1339
1344 {
1348 Azure::Nullable<Core::Http::HttpRange> SourceRange;
1349
1355 Azure::Nullable<ContentHash> TransactionalContentHash;
1356
1361
1369 };
1370
1375 {
1382 };
1383
1388 {
1393 Azure::Nullable<int64_t> SequenceNumber;
1394
1399
1403 Storage::Metadata Metadata;
1404
1408 Azure::Nullable<Models::AccessTier> AccessTier;
1409
1413 std::map<std::string, std::string> Tags;
1414
1419
1423 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
1424
1428 Azure::Nullable<bool> HasLegalHold;
1429 };
1430
1435 {
1441 Azure::Nullable<ContentHash> TransactionalContentHash;
1442
1447 };
1448
1453 {
1459 Azure::Nullable<ContentHash> TransactionalContentHash;
1460
1465
1466 struct : public Azure::ModifiedConditions, public Azure::MatchConditions
1467 {
1468 }
1472
1480 };
1481
1486 {
1491 };
1492
1497 {
1502 };
1503
1508 {
1512 Azure::Nullable<int64_t> SequenceNumber;
1513
1518 };
1519
1524 {
1529 Azure::Nullable<Core::Http::HttpRange> Range;
1530
1535
1542 Azure::Nullable<std::string> ContinuationToken;
1543
1550 Azure::Nullable<int32_t> PageSizeHint;
1551 };
1552
1557 {
1562 };
1563
1568 {
1569 };
1570
1575 {
1579 struct
1580 {
1585 Azure::Nullable<Azure::DateTime> IfUnmodifiedSince;
1587 };
1588
1593 {
1594 };
1595
1600 {
1601 };
1602
1603 namespace _detail {
1604 inline std::string TagsToString(const std::map<std::string, std::string>& tags)
1605 {
1606 return std::accumulate(
1607 tags.begin(),
1608 tags.end(),
1609 std::string(),
1610 [](const std::string& a, const std::pair<std::string, std::string>& b) {
1611 return a + (a.empty() ? "" : "&") + _internal::UrlEncodeQueryParameter(b.first) + "="
1612 + _internal::UrlEncodeQueryParameter(b.second);
1613 });
1614 }
1615 } // namespace _detail
1616}}} // 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:1141
static BlobQueryInputTextOptions CreateJsonTextOptions(const std::string &recordSeparator=std::string())
Creates Json text configuration.
Definition blob_options.cpp:27
static BlobQueryInputTextOptions CreateParquetTextOptions()
Creates Parquet text configuration.
Definition blob_options.cpp:36
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.
Definition blob_options.cpp:10
Blob Query text configuration for output.
Definition blob_options.hpp:1188
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.
Definition blob_options.cpp:43
static BlobQueryOutputTextOptions CreateJsonTextOptions(const std::string &recordSeparator=std::string())
Creates Json text configuration.
Definition blob_options.cpp:60
static BlobQueryOutputTextOptions CreateArrowTextOptions(std::vector< Models::BlobQueryArrowField > schema)
Creates Arrow text configuration.
Definition blob_options.cpp:69
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:3169
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockListType Committed
Definition rest_client.hpp:3177
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:649
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:653
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Acquire.
Definition blob_options.hpp:760
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:764
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:1344
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:1355
Azure::Nullable< Core::Http::HttpRange > SourceRange
Uploads only the bytes of the source blob in the specified range.
Definition blob_options.hpp:1348
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1368
AppendBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1360
Optional parameters for Azure::Storage::Blobs::AppendBlobClient::AppendBlock.
Definition blob_options.hpp:1326
AppendBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1337
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:1332
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:1239
bool IsFatal
If the error is a fatal error.
Definition blob_options.hpp:1251
std::string Description
Error description.
Definition blob_options.hpp:1247
std::string Name
Error name.
Definition blob_options.hpp:1243
int64_t Position
Definition blob_options.hpp:1255
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Break.
Definition blob_options.hpp:804
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:812
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:817
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Change.
Definition blob_options.hpp:782
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:786
Optional parameters for Azure::Storage::Blobs::PageBlobClient::ClearPages.
Definition blob_options.hpp:1486
PageBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1490
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::CommitBlockList.
Definition blob_options.hpp:1082
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:1101
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:1116
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1106
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:1096
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:1091
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:1111
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:1086
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
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:1290
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:1314
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:1299
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1309
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:1304
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:1294
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:1319
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:716
Storage::Metadata Metadata
Specifies user-defined name-value pairs associated with the blob. If no name-value pairs are specifie...
Definition blob_options.hpp:723
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:728
Optional parameters for Azure::Storage::Blobs::PageBlobClient::Create.
Definition blob_options.hpp:1388
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:1423
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:1408
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:1403
Azure::Nullable< int64_t > SequenceNumber
The sequence number is a user-controlled value that you can use to track requests....
Definition blob_options.hpp:1393
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1418
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:1413
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:1428
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:1398
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:1593
Optional parameters for Azure::Storage::Blobs::BlobClient::Delete.
Definition blob_options.hpp:735
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:741
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:746
Optional parameters for Azure::Storage::Blobs::BlobClient::Download.
Definition blob_options.hpp:660
Azure::Nullable< Core::Http::HttpRange > Range
Downloads only the bytes of the blob in the specified range.
Definition blob_options.hpp:664
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:675
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:670
Optional parameters for Azure::Storage::Blobs::BlobClient::DownloadTo.
Definition blob_options.hpp:682
Azure::Nullable< Core::Http::HttpRange > Range
Downloads only the bytes of the blob in the specified range.
Definition blob_options.hpp:686
int64_t ChunkSize
The maximum number of bytes in a single request.
Definition blob_options.hpp:703
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:698
int32_t Concurrency
The maximum number of threads that may be used in a parallel transfer.
Definition blob_options.hpp:708
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:837
AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::GetBlockList.
Definition blob_options.hpp:1123
Models::BlockListType ListType
Specifies whether to return the list of committed blocks, the list of uncommitted blocks,...
Definition blob_options.hpp:1128
AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::PageBlobClient::GetPageRanges.
Definition blob_options.hpp:1524
Azure::Nullable< Core::Http::HttpRange > Range
Optionally specifies the range of bytes over which to list ranges, inclusively. If omitted,...
Definition blob_options.hpp:1529
Azure::Nullable< std::string > ContinuationToken
This parameter identifies the portion of the ranges to be returned with the next operation....
Definition blob_options.hpp:1542
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1534
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:1550
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:1262
BlobQueryOutputTextOptions OutputTextConfiguration
Output text configuration.
Definition blob_options.hpp:1270
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:1283
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1274
BlobQueryInputTextOptions InputTextConfiguration
Input text configuration.
Definition blob_options.hpp:1266
std::function< void(int64_t, int64_t)> ProgressHandler
Callback for progress handling.
Definition blob_options.hpp:1278
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Release.
Definition blob_options.hpp:793
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:797
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:771
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:775
Optional parameters for Azure::Storage::Blobs::PageBlobClient::Resize.
Definition blob_options.hpp:1497
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1501
Optional parameters for Azure::Storage::Blobs::AppendBlobClient::Seal.
Definition blob_options.hpp:1375
AppendBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1381
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:1575
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:1585
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:824
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:1044
Azure::Nullable< Core::Http::HttpRange > SourceRange
Uploads only the bytes of the source blob in the specified range.
Definition blob_options.hpp:1048
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1075
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1060
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:1055
SourceAccessConditions
Optional conditions that the source must meet to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::StageBlock.
Definition blob_options.hpp:1026
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1037
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:1032
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:1557
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1561
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::SubmitBatch.
Definition blob_options.hpp:1600
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://docs.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:753
Optional parameters for Azure::Storage::Blobs::PageBlobClient::UpdateSequenceNumber.
Definition blob_options.hpp:1508
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1517
Azure::Nullable< int64_t > SequenceNumber
An updated sequence number of your choosing, if Action is Max or Update.
Definition blob_options.hpp:1512
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::UploadFrom.
Definition blob_options.hpp:898
struct Azure::Storage::Blobs::UploadBlockBlobFromOptions::@1 TransferOptions
Options for parallel transfer.
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:950
int32_t Concurrency
The maximum number of threads that may be used in a parallel transfer.
Definition blob_options.hpp:939
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:902
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:945
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:928
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:934
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:917
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:912
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:907
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::UploadFromUri.
Definition blob_options.hpp:957
Models::BlobCopySourceTagsMode CopySourceTagsMode
Definition blob_options.hpp:1011
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:1005
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:986
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:966
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:971
bool CopySourceBlobProperties
Definition blob_options.hpp:961
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:981
SourceAccessConditions
Optional conditions that source must meet to perform this operation.
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:976
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1019
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::Upload.
Definition blob_options.hpp:850
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:856
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:861
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:871
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:866
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:891
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:881
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:876
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:886
Optional parameters for Azure::Storage::Blobs::PageBlobClient::UploadPagesFromUri.
Definition blob_options.hpp:1453
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:1464
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1479
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:1459
Optional parameters for Azure::Storage::Blobs::PageBlobClient::UploadPages.
Definition blob_options.hpp:1435
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:1441
PageBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1446