rename variables for append blob access condition (#1035)
* rename variables for append blob access condition * changelog
This commit is contained in:
parent
f378a3a467
commit
9b83bec0b4
@ -4,6 +4,8 @@
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
* Rename AppendBlobAccessConditions::MaxSize to AppendBlobAccessConditions::IfMaxSizeLessThanOrEqual.
|
||||
* Rename AppendBlobAccessConditions::AppendPosition to AppendBlobAccessConditions::IfAppendPositionEqual.
|
||||
* BlobServiceProperties.DefaultServiceVersion is now nullable.
|
||||
* Rename `DeleteBlobSubRequest::containerName` to `DeleteBlobSubRequest::blobContainerName`.
|
||||
* Rename `SetBlobAccessTierSubRequest::containerName` to `SetBlobAccessTierSubRequest::blobContainerName`.
|
||||
|
||||
@ -61,13 +61,13 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
* @brief Ensures that the AppendBlock operation succeeds only if the append blob's size
|
||||
* is less than or equal to this value.
|
||||
*/
|
||||
Azure::Core::Nullable<int64_t> MaxSize;
|
||||
Azure::Core::Nullable<int64_t> IfMaxSizeLessThanOrEqual;
|
||||
|
||||
/**
|
||||
* @brief Ensures that the AppendBlock operation succeeds only if the append position is equal
|
||||
* to this value.
|
||||
*/
|
||||
Azure::Core::Nullable<int64_t> AppendPosition;
|
||||
Azure::Core::Nullable<int64_t> IfAppendPositionEqual;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@ -104,8 +104,8 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
protocolLayerOptions.TransactionalContentMd5 = options.TransactionalContentMd5;
|
||||
protocolLayerOptions.TransactionalContentCrc64 = options.TransactionalContentCrc64;
|
||||
protocolLayerOptions.LeaseId = options.AccessConditions.LeaseId;
|
||||
protocolLayerOptions.MaxSize = options.AccessConditions.MaxSize;
|
||||
protocolLayerOptions.AppendPosition = options.AccessConditions.AppendPosition;
|
||||
protocolLayerOptions.MaxSize = options.AccessConditions.IfMaxSizeLessThanOrEqual;
|
||||
protocolLayerOptions.AppendPosition = options.AccessConditions.IfAppendPositionEqual;
|
||||
protocolLayerOptions.IfModifiedSince = options.AccessConditions.IfModifiedSince;
|
||||
protocolLayerOptions.IfUnmodifiedSince = options.AccessConditions.IfUnmodifiedSince;
|
||||
protocolLayerOptions.IfMatch = options.AccessConditions.IfMatch;
|
||||
@ -144,8 +144,8 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
protocolLayerOptions.TransactionalContentMd5 = options.TransactionalContentMd5;
|
||||
protocolLayerOptions.TransactionalContentCrc64 = options.TransactionalContentCrc64;
|
||||
protocolLayerOptions.LeaseId = options.AccessConditions.LeaseId;
|
||||
protocolLayerOptions.MaxSize = options.AccessConditions.MaxSize;
|
||||
protocolLayerOptions.AppendPosition = options.AccessConditions.AppendPosition;
|
||||
protocolLayerOptions.MaxSize = options.AccessConditions.IfMaxSizeLessThanOrEqual;
|
||||
protocolLayerOptions.AppendPosition = options.AccessConditions.IfAppendPositionEqual;
|
||||
protocolLayerOptions.IfModifiedSince = options.AccessConditions.IfModifiedSince;
|
||||
protocolLayerOptions.IfUnmodifiedSince = options.AccessConditions.IfUnmodifiedSince;
|
||||
protocolLayerOptions.IfMatch = options.AccessConditions.IfMatch;
|
||||
@ -167,7 +167,7 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
{
|
||||
Details::BlobRestClient::AppendBlob::SealAppendBlobOptions protocolLayerOptions;
|
||||
protocolLayerOptions.LeaseId = options.AccessConditions.LeaseId;
|
||||
protocolLayerOptions.AppendPosition = options.AccessConditions.AppendPosition;
|
||||
protocolLayerOptions.AppendPosition = options.AccessConditions.IfAppendPositionEqual;
|
||||
protocolLayerOptions.IfModifiedSince = options.AccessConditions.IfModifiedSince;
|
||||
protocolLayerOptions.IfUnmodifiedSince = options.AccessConditions.IfUnmodifiedSince;
|
||||
protocolLayerOptions.IfMatch = options.AccessConditions.IfMatch;
|
||||
|
||||
@ -63,19 +63,21 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
EXPECT_EQ(properties.ContentLength, static_cast<int64_t>(m_blobContent.size()));
|
||||
|
||||
Azure::Storage::Blobs::AppendBlockOptions options;
|
||||
options.AccessConditions.AppendPosition = 1_MB;
|
||||
options.AccessConditions.IfAppendPositionEqual = 1_MB;
|
||||
blockContent = Azure::Core::Http::MemoryBodyStream(m_blobContent.data(), m_blobContent.size());
|
||||
EXPECT_THROW(appendBlobClient.AppendBlock(&blockContent, options), StorageException);
|
||||
options.AccessConditions.AppendPosition = properties.ContentLength;
|
||||
options.AccessConditions.IfAppendPositionEqual = properties.ContentLength;
|
||||
blockContent = Azure::Core::Http::MemoryBodyStream(m_blobContent.data(), m_blobContent.size());
|
||||
appendBlobClient.AppendBlock(&blockContent, options);
|
||||
|
||||
properties = *appendBlobClient.GetProperties();
|
||||
options = Azure::Storage::Blobs::AppendBlockOptions();
|
||||
options.AccessConditions.MaxSize = properties.ContentLength + m_blobContent.size() - 1;
|
||||
options.AccessConditions.IfMaxSizeLessThanOrEqual
|
||||
= properties.ContentLength + m_blobContent.size() - 1;
|
||||
blockContent = Azure::Core::Http::MemoryBodyStream(m_blobContent.data(), m_blobContent.size());
|
||||
EXPECT_THROW(appendBlobClient.AppendBlock(&blockContent, options), StorageException);
|
||||
options.AccessConditions.MaxSize = properties.ContentLength + m_blobContent.size();
|
||||
options.AccessConditions.IfMaxSizeLessThanOrEqual
|
||||
= properties.ContentLength + m_blobContent.size();
|
||||
blockContent = Azure::Core::Http::MemoryBodyStream(m_blobContent.data(), m_blobContent.size());
|
||||
appendBlobClient.AppendBlock(&blockContent, options);
|
||||
|
||||
@ -277,10 +279,10 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
}
|
||||
|
||||
Blobs::SealAppendBlobOptions sealOptions;
|
||||
sealOptions.AccessConditions.AppendPosition = m_blobContent.size() + 1;
|
||||
sealOptions.AccessConditions.IfAppendPositionEqual = m_blobContent.size() + 1;
|
||||
EXPECT_THROW(blobClient.Seal(sealOptions), StorageException);
|
||||
|
||||
sealOptions.AccessConditions.AppendPosition = m_blobContent.size();
|
||||
sealOptions.AccessConditions.IfAppendPositionEqual = m_blobContent.size();
|
||||
auto sealResult = blobClient.Seal(sealOptions);
|
||||
EXPECT_FALSE(sealResult->ETag.empty());
|
||||
EXPECT_FALSE(sealResult->LastModified.empty());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user