rename variables for append blob access condition (#1035)

* rename variables for append blob access condition

* changelog
This commit is contained in:
JinmingHu 2020-12-01 10:14:18 +08:00 committed by GitHub
parent f378a3a467
commit 9b83bec0b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 13 deletions

View File

@ -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`.

View File

@ -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;
};
/**

View File

@ -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;

View File

@ -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());