diff --git a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_options.hpp b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_options.hpp index d31100b9bb..f2209f88fa 100644 --- a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_options.hpp +++ b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_options.hpp @@ -371,6 +371,28 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { * If true, the file will be flushed after the append. */ Azure::Nullable<bool> Flush; + + /** + * If "acquire" it will acquire the lease. + * If "auto-renew" it will renew the lease. + * If "release" it will release the lease only on flush. Only applicable if Flush is set to + * true. + * If "acquire-release" it will acquire & complete the operation & release the lease once + * operation is done. Only applicable if Flush is set to true. + */ + Azure::Nullable<Models::LeaseAction> LeaseAction; + + /** + * Proposed LeaseId. + */ + Azure::Nullable<std::string> LeaseId; + + /** + * Specifies the duration of the lease, in seconds, or InfiniteLeaseDuration for a lease that + * never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot + * be changed using renew or change. + */ + Azure::Nullable<std::chrono::seconds> LeaseDuration; }; /** @@ -418,6 +440,28 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { * Specify the access condition for the path. */ PathAccessConditions AccessConditions; + + /** + * If "acquire" it will acquire the lease. + * If "auto-renew" it will renew the lease. + * If "release" it will release the lease only on flush. Only applicable if Flush is set to + * true. + * If "acquire-release" it will acquire & complete the operation & release the lease once + * operation is done. Only applicable if Flush is set to true. + */ + Azure::Nullable<Models::LeaseAction> LeaseAction; + + /** + * Proposed LeaseId. + */ + Azure::Nullable<std::string> LeaseId; + + /** + * Specifies the duration of the lease, in seconds, or InfiniteLeaseDuration for a lease that + * never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot + * be changed using renew or change. + */ + Azure::Nullable<std::chrono::seconds> LeaseDuration; }; /** diff --git a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/rest_client.hpp b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/rest_client.hpp index cce269de95..0eed436545 100644 --- a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/rest_client.hpp +++ b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/rest_client.hpp @@ -276,6 +276,26 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { std::string Acl; }; } // namespace _detail + /** + * @brief Optional. If "acquire" it will acquire the lease. If "auto-renew" it will renew the + * lease. If "release" it will release the lease only on flush. If "acquire-release" it will + * acquire & complete the operation & release the lease once operation is done. + */ + class LeaseAction final { + public: + LeaseAction() = default; + explicit LeaseAction(std::string value) : m_value(std::move(value)) {} + bool operator==(const LeaseAction& other) const { return m_value == other.m_value; } + bool operator!=(const LeaseAction& other) const { return !(*this == other); } + const std::string& ToString() const { return m_value; } + AZ_STORAGE_FILES_DATALAKE_DLLEXPORT const static LeaseAction Acquire; + AZ_STORAGE_FILES_DATALAKE_DLLEXPORT const static LeaseAction AutoRenew; + AZ_STORAGE_FILES_DATALAKE_DLLEXPORT const static LeaseAction Release; + AZ_STORAGE_FILES_DATALAKE_DLLEXPORT const static LeaseAction AcquireRelease; + + private: + std::string m_value; + }; /** * @brief Response type for #Azure::Storage::Files::DataLake::FileClient::Flush. */ @@ -304,6 +324,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { * returned when the blob was encrypted with a customer-provided key. */ Nullable<std::vector<uint8_t>> EncryptionKeySha256; + /** + * If the lease was auto-renewed with this request. + */ + Nullable<bool> LeaseRenewed; }; /** * @brief Response type for #Azure::Storage::Files::DataLake::FileClient::Append. @@ -325,6 +349,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { * returned when the blob was encrypted with a customer-provided key. */ Nullable<std::vector<uint8_t>> EncryptionKeySha256; + /** + * If the lease was auto-renewed with this request. + */ + Nullable<bool> LeaseRenewed; }; } // namespace Models namespace _detail { @@ -471,6 +499,9 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { Nullable<bool> Close; Nullable<std::vector<uint8_t>> ContentMD5; Nullable<std::string> LeaseId; + Nullable<Models::LeaseAction> LeaseAction; + Nullable<int64_t> LeaseDuration; + Nullable<std::string> ProposedLeaseId; Nullable<std::string> CacheControl; Nullable<std::string> ContentType; Nullable<std::string> ContentDisposition; @@ -495,6 +526,9 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { Nullable<std::vector<uint8_t>> TransactionalContentHash; Nullable<std::vector<uint8_t>> TransactionalContentCrc64; Nullable<std::string> LeaseId; + Nullable<Models::LeaseAction> LeaseAction; + Nullable<int64_t> LeaseDuration; + Nullable<std::string> ProposedLeaseId; Nullable<std::string> EncryptionKey; Nullable<std::vector<uint8_t>> EncryptionKeySha256; Nullable<std::string> EncryptionAlgorithm; diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp index b40d4b6c05..aa9018b9d1 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp @@ -88,6 +88,12 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { protocolLayerOptions.EncryptionKeySha256 = m_customerProvidedKey.Value().KeyHash; protocolLayerOptions.EncryptionAlgorithm = m_customerProvidedKey.Value().Algorithm.ToString(); } + protocolLayerOptions.LeaseAction = options.LeaseAction; + protocolLayerOptions.ProposedLeaseId = options.LeaseId; + if (options.LeaseDuration.HasValue()) + { + protocolLayerOptions.LeaseDuration = static_cast<int64_t>(options.LeaseDuration->count()); + } return _detail::FileClient::Append( *m_pipeline, m_pathUrl, content, protocolLayerOptions, context); } @@ -124,6 +130,12 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { protocolLayerOptions.EncryptionKeySha256 = m_customerProvidedKey.Value().KeyHash; protocolLayerOptions.EncryptionAlgorithm = m_customerProvidedKey.Value().Algorithm.ToString(); } + protocolLayerOptions.LeaseAction = options.LeaseAction; + protocolLayerOptions.ProposedLeaseId = options.LeaseId; + if (options.LeaseDuration.HasValue()) + { + protocolLayerOptions.LeaseDuration = static_cast<int64_t>(options.LeaseDuration->count()); + } return _detail::FileClient::Flush(*m_pipeline, m_pathUrl, protocolLayerOptions, context); } diff --git a/sdk/storage/azure-storage-files-datalake/src/rest_client.cpp b/sdk/storage/azure-storage-files-datalake/src/rest_client.cpp index a88801e2db..8292d87e94 100644 --- a/sdk/storage/azure-storage-files-datalake/src/rest_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/rest_client.cpp @@ -40,6 +40,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { const PublicAccessType PublicAccessType::Path("blob"); const PathResourceType PathResourceType::Directory("directory"); const PathResourceType PathResourceType::File("file"); + const LeaseAction LeaseAction::Acquire("acquire"); + const LeaseAction LeaseAction::AutoRenew("auto-renew"); + const LeaseAction LeaseAction::Release("release"); + const LeaseAction LeaseAction::AcquireRelease("acquire-release"); } // namespace Models namespace _detail { Response<Models::_detail::PathList> FileSystemClient::ListPaths( @@ -624,6 +628,18 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { request.SetHeader("x-ms-lease-id", options.LeaseId.Value()); } + if (options.LeaseAction.HasValue() && !options.LeaseAction.Value().ToString().empty()) + { + request.SetHeader("x-ms-lease-action", options.LeaseAction.Value().ToString()); + } + if (options.LeaseDuration.HasValue()) + { + request.SetHeader("x-ms-lease-duration", std::to_string(options.LeaseDuration.Value())); + } + if (options.ProposedLeaseId.HasValue() && !options.ProposedLeaseId.Value().empty()) + { + request.SetHeader("x-ms-proposed-lease-id", options.ProposedLeaseId.Value()); + } if (options.CacheControl.HasValue() && !options.CacheControl.Value().empty()) { request.SetHeader("x-ms-cache-control", options.CacheControl.Value()); @@ -698,6 +714,11 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { response.EncryptionKeySha256 = Core::Convert::Base64Decode( pRawResponse->GetHeaders().at("x-ms-encryption-key-sha256")); } + if (pRawResponse->GetHeaders().count("x-ms-lease-renewed") != 0) + { + response.LeaseRenewed + = pRawResponse->GetHeaders().at("x-ms-lease-renewed") == std::string("true"); + } return Response<Models::FlushFileResult>(std::move(response), std::move(pRawResponse)); } Response<Models::AppendFileResult> FileClient::Append( @@ -731,6 +752,18 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { request.SetHeader("x-ms-lease-id", options.LeaseId.Value()); } + if (options.LeaseAction.HasValue() && !options.LeaseAction.Value().ToString().empty()) + { + request.SetHeader("x-ms-lease-action", options.LeaseAction.Value().ToString()); + } + if (options.LeaseDuration.HasValue()) + { + request.SetHeader("x-ms-lease-duration", std::to_string(options.LeaseDuration.Value())); + } + if (options.ProposedLeaseId.HasValue() && !options.ProposedLeaseId.Value().empty()) + { + request.SetHeader("x-ms-proposed-lease-id", options.ProposedLeaseId.Value()); + } request.SetHeader("x-ms-version", "2021-06-08"); if (options.EncryptionKey.HasValue() && !options.EncryptionKey.Value().empty()) { @@ -779,6 +812,11 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { response.EncryptionKeySha256 = Core::Convert::Base64Decode( pRawResponse->GetHeaders().at("x-ms-encryption-key-sha256")); } + if (pRawResponse->GetHeaders().count("x-ms-lease-renewed") != 0) + { + response.LeaseRenewed + = pRawResponse->GetHeaders().at("x-ms-lease-renewed") == std::string("true"); + } return Response<Models::AppendFileResult>(std::move(response), std::move(pRawResponse)); } } // namespace _detail diff --git a/sdk/storage/azure-storage-files-datalake/swagger/README.md b/sdk/storage/azure-storage-files-datalake/swagger/README.md index 1ff26382ab..6a2ded8e8e 100644 --- a/sdk/storage/azure-storage-files-datalake/swagger/README.md +++ b/sdk/storage/azure-storage-files-datalake/swagger/README.md @@ -438,6 +438,7 @@ directive: $["x-ms-content-crc64"]["x-ms-client-name"] = "TransactionalContentHash"; $["x-ms-content-crc64"]["x-nullable"] = true; $["x-ms-encryption-key-sha256"]["x-nullable"] = true; + $["x-ms-lease-renewed"]["x-nullable"] = true; delete $["ETag"]; ``` @@ -450,4 +451,5 @@ directive: transform: > $["Content-Length"]["x-ms-client-name"] = "FileSize"; $["x-ms-encryption-key-sha256"]["x-nullable"] = true; + $["x-ms-lease-renewed"]["x-nullable"] = true; ``` \ No newline at end of file diff --git a/sdk/storage/azure-storage-files-datalake/test/ut/datalake_file_client_test.cpp b/sdk/storage/azure-storage-files-datalake/test/ut/datalake_file_client_test.cpp index a253e807bf..655c199bdf 100644 --- a/sdk/storage/azure-storage-files-datalake/test/ut/datalake_file_client_test.cpp +++ b/sdk/storage/azure-storage-files-datalake/test/ut/datalake_file_client_test.cpp @@ -279,6 +279,196 @@ namespace Azure { namespace Storage { namespace Test { } } + TEST_F(DataLakeFileClientTest, AppendFileWithLease) + { + const int32_t bufferSize = 4 * 1024; // 4KB data size + std::vector<uint8_t> buffer(bufferSize, 'x'); + auto bufferStream = std::make_unique<Azure::Core::IO::MemoryBodyStream>( + Azure::Core::IO::MemoryBodyStream(buffer)); + + // Append Lease Acquire + { + auto client = m_fileSystemClient->GetFileClient(GetTestNameLowerCase() + "_acquire"); + client.Create(); + Files::DataLake::AppendFileOptions options; + options.LeaseAction = Files::DataLake::Models::LeaseAction::Acquire; + options.LeaseId = Files::DataLake::DataLakeLeaseClient::CreateUniqueLeaseId(); + options.LeaseDuration = std::chrono::seconds(20); + bufferStream->Rewind(); + client.Append(*bufferStream, 0, options); + auto properties = client.GetProperties(); + EXPECT_TRUE(properties.Value.LeaseStatus.HasValue()); + EXPECT_EQ(Files::DataLake::Models::LeaseStatus::Locked, properties.Value.LeaseStatus.Value()); + EXPECT_TRUE(properties.Value.LeaseState.HasValue()); + EXPECT_EQ(Files::DataLake::Models::LeaseState::Leased, properties.Value.LeaseState.Value()); + EXPECT_TRUE(properties.Value.LeaseDuration.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseDurationType::Fixed, + properties.Value.LeaseDuration.Value()); + } + // Append Lease AutoRenew + { + auto client = m_fileSystemClient->GetFileClient(GetTestNameLowerCase() + "_auto_renew"); + client.Create(); + const std::string leaseId = Files::DataLake::DataLakeLeaseClient::CreateUniqueLeaseId(); + Files::DataLake::DataLakeLeaseClient leaseClient(client, leaseId); + leaseClient.Acquire(std::chrono::seconds(20)); + Files::DataLake::AppendFileOptions options; + options.LeaseAction = Files::DataLake::Models::LeaseAction::AutoRenew; + options.AccessConditions.LeaseId = leaseId; + bufferStream->Rewind(); + auto response = client.Append(*bufferStream, 0, options); + EXPECT_TRUE(response.Value.LeaseRenewed.HasValue()); + auto properties = client.GetProperties(); + EXPECT_TRUE(properties.Value.LeaseStatus.HasValue()); + EXPECT_EQ(Files::DataLake::Models::LeaseStatus::Locked, properties.Value.LeaseStatus.Value()); + EXPECT_TRUE(properties.Value.LeaseState.HasValue()); + EXPECT_EQ(Files::DataLake::Models::LeaseState::Leased, properties.Value.LeaseState.Value()); + EXPECT_TRUE(properties.Value.LeaseDuration.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseDurationType::Fixed, + properties.Value.LeaseDuration.Value()); + } + // Append Lease Release + { + auto client = m_fileSystemClient->GetFileClient(GetTestNameLowerCase() + "_release"); + client.Create(); + const std::string leaseId = Files::DataLake::DataLakeLeaseClient::CreateUniqueLeaseId(); + Files::DataLake::DataLakeLeaseClient leaseClient(client, leaseId); + leaseClient.Acquire(std::chrono::seconds(20)); + Files::DataLake::AppendFileOptions options; + options.LeaseAction = Files::DataLake::Models::LeaseAction::Release; + options.AccessConditions.LeaseId = leaseId; + options.Flush = true; + bufferStream->Rewind(); + client.Append(*bufferStream, 0, options); + auto properties = client.GetProperties(); + EXPECT_TRUE(properties.Value.LeaseStatus.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseStatus::Unlocked, properties.Value.LeaseStatus.Value()); + EXPECT_TRUE(properties.Value.LeaseState.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseState::Available, properties.Value.LeaseState.Value()); + } + // Append Lease AcquireRelease + { + auto client = m_fileSystemClient->GetFileClient(GetTestNameLowerCase() + "_acquire_release"); + client.Create(); + Files::DataLake::AppendFileOptions options; + options.LeaseAction = Files::DataLake::Models::LeaseAction::AcquireRelease; + options.LeaseId = Files::DataLake::DataLakeLeaseClient::CreateUniqueLeaseId(); + options.LeaseDuration = std::chrono::seconds(20); + options.Flush = true; + bufferStream->Rewind(); + client.Append(*bufferStream, 0, options); + auto properties = client.GetProperties(); + EXPECT_TRUE(properties.Value.LeaseStatus.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseStatus::Unlocked, properties.Value.LeaseStatus.Value()); + EXPECT_TRUE(properties.Value.LeaseState.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseState::Available, properties.Value.LeaseState.Value()); + } + } + + TEST_F(DataLakeFileClientTest, FlushFileWithLease) + { + const int32_t bufferSize = 4 * 1024; // 4KB data size + std::vector<uint8_t> buffer(bufferSize, 'x'); + auto bufferStream = std::make_unique<Azure::Core::IO::MemoryBodyStream>( + Azure::Core::IO::MemoryBodyStream(buffer)); + + // Flush Lease Acquire + { + auto client = m_fileSystemClient->GetFileClient(GetTestNameLowerCase() + "_acquire"); + client.Create(); + bufferStream->Rewind(); + client.Append(*bufferStream, 0); + Files::DataLake::FlushFileOptions options; + options.LeaseAction = Files::DataLake::Models::LeaseAction::Acquire; + options.LeaseId = Files::DataLake::DataLakeLeaseClient::CreateUniqueLeaseId(); + options.LeaseDuration = std::chrono::seconds(20); + client.Flush(bufferSize, options); + auto properties = client.GetProperties(); + EXPECT_TRUE(properties.Value.LeaseStatus.HasValue()); + EXPECT_EQ(Files::DataLake::Models::LeaseStatus::Locked, properties.Value.LeaseStatus.Value()); + EXPECT_TRUE(properties.Value.LeaseState.HasValue()); + EXPECT_EQ(Files::DataLake::Models::LeaseState::Leased, properties.Value.LeaseState.Value()); + EXPECT_TRUE(properties.Value.LeaseDuration.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseDurationType::Fixed, + properties.Value.LeaseDuration.Value()); + } + // Flush Lease AutoRenew + { + auto client = m_fileSystemClient->GetFileClient(GetTestNameLowerCase() + "_auto_renew"); + client.Create(); + const std::string leaseId = Files::DataLake::DataLakeLeaseClient::CreateUniqueLeaseId(); + Files::DataLake::AppendFileOptions options; + options.LeaseAction = Files::DataLake::Models::LeaseAction::Acquire; + options.LeaseId = leaseId; + options.LeaseDuration = std::chrono::seconds(20); + bufferStream->Rewind(); + client.Append(*bufferStream, 0, options); + Files::DataLake::FlushFileOptions flushOptions; + flushOptions.LeaseAction = Files::DataLake::Models::LeaseAction::AutoRenew; + flushOptions.AccessConditions.LeaseId = leaseId; + auto response = client.Flush(bufferSize, flushOptions); + EXPECT_TRUE(response.Value.LeaseRenewed.HasValue()); + auto properties = client.GetProperties(); + EXPECT_TRUE(properties.Value.LeaseStatus.HasValue()); + EXPECT_EQ(Files::DataLake::Models::LeaseStatus::Locked, properties.Value.LeaseStatus.Value()); + EXPECT_TRUE(properties.Value.LeaseState.HasValue()); + EXPECT_EQ(Files::DataLake::Models::LeaseState::Leased, properties.Value.LeaseState.Value()); + EXPECT_TRUE(properties.Value.LeaseDuration.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseDurationType::Fixed, + properties.Value.LeaseDuration.Value()); + } + // Flush Lease Release + { + auto client = m_fileSystemClient->GetFileClient(GetTestNameLowerCase() + "_release"); + client.Create(); + const std::string leaseId = Files::DataLake::DataLakeLeaseClient::CreateUniqueLeaseId(); + Files::DataLake::AppendFileOptions options; + options.LeaseAction = Files::DataLake::Models::LeaseAction::Acquire; + options.LeaseId = leaseId; + options.LeaseDuration = std::chrono::seconds(20); + bufferStream->Rewind(); + client.Append(*bufferStream, 0, options); + Files::DataLake::FlushFileOptions flushOptions; + flushOptions.LeaseAction = Files::DataLake::Models::LeaseAction::Release; + flushOptions.AccessConditions.LeaseId = leaseId; + client.Flush(bufferSize, flushOptions); + auto properties = client.GetProperties(); + EXPECT_TRUE(properties.Value.LeaseStatus.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseStatus::Unlocked, properties.Value.LeaseStatus.Value()); + EXPECT_TRUE(properties.Value.LeaseState.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseState::Available, properties.Value.LeaseState.Value()); + } + // Flush Lease AcquireRelease + { + auto client = m_fileSystemClient->GetFileClient(GetTestNameLowerCase() + "_acquire_release"); + client.Create(); + bufferStream->Rewind(); + client.Append(*bufferStream, 0); + Files::DataLake::FlushFileOptions options; + options.LeaseAction = Files::DataLake::Models::LeaseAction::AcquireRelease; + options.LeaseId = Files::DataLake::DataLakeLeaseClient::CreateUniqueLeaseId(); + options.LeaseDuration = std::chrono::seconds(20); + client.Flush(bufferSize, options); + auto properties = client.GetProperties(); + EXPECT_TRUE(properties.Value.LeaseStatus.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseStatus::Unlocked, properties.Value.LeaseStatus.Value()); + EXPECT_TRUE(properties.Value.LeaseState.HasValue()); + EXPECT_EQ( + Files::DataLake::Models::LeaseState::Available, properties.Value.LeaseState.Value()); + } + } + TEST_F(DataLakeFileClientTest, FileReadReturns) { const int32_t bufferSize = 4 * 1024; // 4KB data size diff --git a/sdk/storage/azure-storage-files-datalake/test/ut/recordings/DataLakeFileClientTest.AppendFileWithLease.json b/sdk/storage/azure-storage-files-datalake/test/ut/recordings/DataLakeFileClientTest.AppendFileWithLease.json new file mode 100644 index 0000000000..f9b8654896 --- /dev/null +++ b/sdk/storage/azure-storage-files-datalake/test/ut/recordings/DataLakeFileClientTest.AppendFileWithLease.json @@ -0,0 +1,460 @@ +{ + "networkCallRecords": [ + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "2e20ccc9-c8ec-4f08-50d4-7dba8b1f276a", + "x-ms-version": "2021-12-02" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:00 GMT", + "etag": "\"0x8DAC3A3F64DAE6A\"", + "last-modified": "Fri, 11 Nov 2022 05:17:00 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "2e20ccc9-c8ec-4f08-50d4-7dba8b1f276a", + "x-ms-request-id": "bec1a8f8-601e-0064-4b8c-f52337000000", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestappendfilewithlease?restype=container" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "c64f4e18-a561-4b45-5c0e-80b932eaf8a4", + "x-ms-version": "2021-06-08" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:01 GMT", + "etag": "\"0x8DAC3A3F7237D97\"", + "last-modified": "Fri, 11 Nov 2022 05:17:01 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "c64f4e18-a561-4b45-5c0e-80b932eaf8a4", + "x-ms-request-id": "599467a0-a01f-0009-368c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestappendfilewithlease/datalakefileclienttestappendfilewithlease?resource=file" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "3638516d-5403-43b8-6e90-56bc95c09188", + "x-ms-version": "2021-06-08" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:01 GMT", + "etag": "\"0x8DAC3A3F751DEBF\"", + "last-modified": "Fri, 11 Nov 2022 05:17:02 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "3638516d-5403-43b8-6e90-56bc95c09188", + "x-ms-request-id": "599467d8-a01f-0009-6e8c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_acquire?resource=file" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "17b4da2c-1111-4b63-40c0-2d02e28b2551", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "Accepted", + "STATUS_CODE": "202", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:02 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "17b4da2c-1111-4b63-40c0-2d02e28b2551", + "x-ms-request-id": "59946833-a01f-0009-498c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_acquire?action=append&position=0" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "9d5abb2a-018f-431d-569d-0bc74ad8c85e", + "x-ms-version": "2021-12-02" + }, + "Method": "HEAD", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "accept-ranges": "bytes", + "content-length": "0", + "content-type": "application/octet-stream", + "date": "Fri, 11 Nov 2022 05:17:02 GMT", + "etag": "\"0x8DAC3A3F751DEBF\"", + "last-modified": "Fri, 11 Nov 2022 05:17:02 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-access-tier": "Hot", + "x-ms-access-tier-inferred": "true", + "x-ms-blob-type": "BlockBlob", + "x-ms-client-request-id": "9d5abb2a-018f-431d-569d-0bc74ad8c85e", + "x-ms-creation-time": "Fri, 11 Nov 2022 05:17:02 GMT", + "x-ms-group": "$superuser", + "x-ms-lease-duration": "fixed", + "x-ms-lease-state": "leased", + "x-ms-lease-status": "locked", + "x-ms-owner": "$superuser", + "x-ms-permissions": "rw-r-----", + "x-ms-request-id": "bec1b2f4-601e-0064-7f8c-f52337000000", + "x-ms-resource-type": "file", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_acquire" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "75c89cc2-a352-49f6-7832-9e9b7e244203", + "x-ms-version": "2021-06-08" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:02 GMT", + "etag": "\"0x8DAC3A3F7E0A59E\"", + "last-modified": "Fri, 11 Nov 2022 05:17:03 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "75c89cc2-a352-49f6-7832-9e9b7e244203", + "x-ms-request-id": "599468ba-a01f-0009-508c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_auto_renew?resource=file" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "478dfb5f-5cdb-4b58-4ddd-584dda516dc5", + "x-ms-version": "2021-12-02" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:03 GMT", + "etag": "\"0x8DAC3A3F7E0A59E\"", + "last-modified": "Fri, 11 Nov 2022 05:17:03 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "478dfb5f-5cdb-4b58-4ddd-584dda516dc5", + "x-ms-lease-id": "72cbc663-81de-44ba-735d-40c7af630f35", + "x-ms-request-id": "bec1b4b9-601e-0064-2f8c-f52337000000", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_auto_renew?comp=lease" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "b09df35d-8a2f-4d8d-6b6a-08c9aef22fc7", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "Accepted", + "STATUS_CODE": "202", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:03 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "b09df35d-8a2f-4d8d-6b6a-08c9aef22fc7", + "x-ms-lease-renewed": "false", + "x-ms-request-id": "5994693b-a01f-0009-518c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_auto_renew?action=append&position=0" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "906394d5-4ea3-47db-40d7-a881ba71e3c6", + "x-ms-version": "2021-12-02" + }, + "Method": "HEAD", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "accept-ranges": "bytes", + "content-length": "0", + "content-type": "application/octet-stream", + "date": "Fri, 11 Nov 2022 05:17:03 GMT", + "etag": "\"0x8DAC3A3F7E0A59E\"", + "last-modified": "Fri, 11 Nov 2022 05:17:03 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-access-tier": "Hot", + "x-ms-access-tier-inferred": "true", + "x-ms-blob-type": "BlockBlob", + "x-ms-client-request-id": "906394d5-4ea3-47db-40d7-a881ba71e3c6", + "x-ms-creation-time": "Fri, 11 Nov 2022 05:17:03 GMT", + "x-ms-group": "$superuser", + "x-ms-lease-duration": "fixed", + "x-ms-lease-state": "leased", + "x-ms-lease-status": "locked", + "x-ms-owner": "$superuser", + "x-ms-permissions": "rw-r-----", + "x-ms-request-id": "bec1b68a-601e-0064-538c-f52337000000", + "x-ms-resource-type": "file", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_auto_renew" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "cc0ba0bc-d7e8-43a4-58dc-efcf273bb5a5", + "x-ms-version": "2021-06-08" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:03 GMT", + "etag": "\"0x8DAC3A3F8996D8A\"", + "last-modified": "Fri, 11 Nov 2022 05:17:04 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "cc0ba0bc-d7e8-43a4-58dc-efcf273bb5a5", + "x-ms-request-id": "599469b9-a01f-0009-4f8c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_release?resource=file" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "89027009-e262-4fa6-7d9c-c61520ef4f9a", + "x-ms-version": "2021-12-02" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:04 GMT", + "etag": "\"0x8DAC3A3F8996D8A\"", + "last-modified": "Fri, 11 Nov 2022 05:17:04 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "89027009-e262-4fa6-7d9c-c61520ef4f9a", + "x-ms-lease-id": "80caeaf6-47d9-4dfd-773e-5e2cebe5f4d9", + "x-ms-request-id": "bec1b86a-601e-0064-048c-f52337000000", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_release?comp=lease" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "dc23c739-fa6b-4990-671d-2d1e98194954", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "Accepted", + "STATUS_CODE": "202", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:04 GMT", + "etag": "\"0x8DAC3A3F8FBF272\"", + "last-modified": "Fri, 11 Nov 2022 05:17:05 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "dc23c739-fa6b-4990-671d-2d1e98194954", + "x-ms-request-id": "59946a25-a01f-0009-3b8c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_release?action=append&flush=true&position=0" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "2ee47fdf-59c2-429c-5c46-632dca10a3f6", + "x-ms-version": "2021-12-02" + }, + "Method": "HEAD", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "accept-ranges": "bytes", + "content-length": "4096", + "content-type": "application/octet-stream", + "date": "Fri, 11 Nov 2022 05:17:04 GMT", + "etag": "\"0x8DAC3A3F8FBF272\"", + "last-modified": "Fri, 11 Nov 2022 05:17:05 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-access-tier": "Hot", + "x-ms-access-tier-inferred": "true", + "x-ms-blob-type": "BlockBlob", + "x-ms-client-request-id": "2ee47fdf-59c2-429c-5c46-632dca10a3f6", + "x-ms-creation-time": "Fri, 11 Nov 2022 05:17:04 GMT", + "x-ms-group": "$superuser", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-owner": "$superuser", + "x-ms-permissions": "rw-r-----", + "x-ms-request-id": "bec1ba50-601e-0064-4f8c-f52337000000", + "x-ms-resource-type": "file", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_release" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "bd53a497-060e-4d68-6fc6-acc5fe364cfc", + "x-ms-version": "2021-06-08" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:05 GMT", + "etag": "\"0x8DAC3A3F958E97F\"", + "last-modified": "Fri, 11 Nov 2022 05:17:05 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "bd53a497-060e-4d68-6fc6-acc5fe364cfc", + "x-ms-request-id": "59946aac-a01f-0009-428c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_acquire_release?resource=file" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "2ff17565-4a25-433d-4b6e-f7b2261a405a", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "Accepted", + "STATUS_CODE": "202", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:05 GMT", + "etag": "\"0x8DAC3A3F98BD7D3\"", + "last-modified": "Fri, 11 Nov 2022 05:17:06 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "2ff17565-4a25-433d-4b6e-f7b2261a405a", + "x-ms-request-id": "59946aed-a01f-0009-038c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_acquire_release?action=append&flush=true&position=0" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "6946869c-0b5d-4799-6e91-4ca21ba5a3b4", + "x-ms-version": "2021-12-02" + }, + "Method": "HEAD", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "accept-ranges": "bytes", + "content-length": "4096", + "content-type": "application/octet-stream", + "date": "Fri, 11 Nov 2022 05:17:05 GMT", + "etag": "\"0x8DAC3A3F98BD7D3\"", + "last-modified": "Fri, 11 Nov 2022 05:17:06 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-access-tier": "Hot", + "x-ms-access-tier-inferred": "true", + "x-ms-blob-type": "BlockBlob", + "x-ms-client-request-id": "6946869c-0b5d-4799-6e91-4ca21ba5a3b4", + "x-ms-creation-time": "Fri, 11 Nov 2022 05:17:05 GMT", + "x-ms-group": "$superuser", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-owner": "$superuser", + "x-ms-permissions": "rw-r-----", + "x-ms-request-id": "bec1bd62-601e-0064-208c-f52337000000", + "x-ms-resource-type": "file", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestappendfilewithlease/appendfilewithlease_acquire_release" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "43f3f226-d7e7-4a5b-40f5-4fe64bf3dcfd", + "x-ms-version": "2021-06-08" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:06 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "43f3f226-d7e7-4a5b-40f5-4fe64bf3dcfd", + "x-ms-delete-type-permanent": "false", + "x-ms-deletion-id": "133126174266534696", + "x-ms-request-id": "59946b85-a01f-0009-1b8c-f5977c000000", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestappendfilewithlease/datalakefileclienttestappendfilewithlease" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "7aef54b9-4363-4d15-5dfd-daf86769491a", + "x-ms-version": "2021-12-02" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "REASON_PHRASE": "Accepted", + "STATUS_CODE": "202", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:06 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "7aef54b9-4363-4d15-5dfd-daf86769491a", + "x-ms-request-id": "bec1bfb9-601e-0064-4d8c-f52337000000", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestappendfilewithlease?restype=container" + } + ] +} diff --git a/sdk/storage/azure-storage-files-datalake/test/ut/recordings/DataLakeFileClientTest.FlushFileWithLease.json b/sdk/storage/azure-storage-files-datalake/test/ut/recordings/DataLakeFileClientTest.FlushFileWithLease.json new file mode 100644 index 0000000000..e8f4002384 --- /dev/null +++ b/sdk/storage/azure-storage-files-datalake/test/ut/recordings/DataLakeFileClientTest.FlushFileWithLease.json @@ -0,0 +1,502 @@ +{ + "networkCallRecords": [ + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "285f6f45-d5d3-425a-5494-1317ba388109", + "x-ms-version": "2021-12-02" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:06 GMT", + "etag": "\"0x8DAC3A3FA5DBC0B\"", + "last-modified": "Fri, 11 Nov 2022 05:17:07 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "285f6f45-d5d3-425a-5494-1317ba388109", + "x-ms-request-id": "bec1c122-601e-0064-158c-f52337000000", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestflushfilewithlease?restype=container" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "426e1b92-238e-4bc3-7e93-f643acb7557a", + "x-ms-version": "2021-06-08" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:07 GMT", + "etag": "\"0x8DAC3A3FA8FCAC1\"", + "last-modified": "Fri, 11 Nov 2022 05:17:07 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "426e1b92-238e-4bc3-7e93-f643acb7557a", + "x-ms-request-id": "59946c45-a01f-0009-5b8c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/datalakefileclienttestflushfilewithlease?resource=file" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "335b555c-fd1c-420e-6250-8fff64a4546c", + "x-ms-version": "2021-06-08" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:07 GMT", + "etag": "\"0x8DAC3A3FABF4377\"", + "last-modified": "Fri, 11 Nov 2022 05:17:08 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "335b555c-fd1c-420e-6250-8fff64a4546c", + "x-ms-request-id": "59946c78-a01f-0009-0d8c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_acquire?resource=file" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "05ef1538-5c78-4e99-45bc-cf8d7fb6c108", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "Accepted", + "STATUS_CODE": "202", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:07 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "05ef1538-5c78-4e99-45bc-cf8d7fb6c108", + "x-ms-request-id": "59946c9e-a01f-0009-318c-f5977c000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_acquire?action=append&position=0" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "cf0999d9-945d-42fc-650d-65ddee033240", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:08 GMT", + "etag": "\"0x8DAC3A3FB1E30EF\"", + "last-modified": "Fri, 11 Nov 2022 05:17:08 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "cf0999d9-945d-42fc-650d-65ddee033240", + "x-ms-request-id": "59946cc1-a01f-0009-548c-f5977c000000", + "x-ms-request-server-encrypted": "false", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_acquire?action=flush&position=4096" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "4cda6bb2-a964-406a-722f-bd95e8cc22a5", + "x-ms-version": "2021-12-02" + }, + "Method": "HEAD", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "accept-ranges": "bytes", + "content-length": "4096", + "content-type": "application/octet-stream", + "date": "Fri, 11 Nov 2022 05:17:08 GMT", + "etag": "\"0x8DAC3A3FB1E30EF\"", + "last-modified": "Fri, 11 Nov 2022 05:17:08 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-access-tier": "Hot", + "x-ms-access-tier-inferred": "true", + "x-ms-blob-type": "BlockBlob", + "x-ms-client-request-id": "4cda6bb2-a964-406a-722f-bd95e8cc22a5", + "x-ms-creation-time": "Fri, 11 Nov 2022 05:17:08 GMT", + "x-ms-group": "$superuser", + "x-ms-lease-duration": "fixed", + "x-ms-lease-state": "leased", + "x-ms-lease-status": "locked", + "x-ms-owner": "$superuser", + "x-ms-permissions": "rw-r-----", + "x-ms-request-id": "bec1c6c5-601e-0064-6a8c-f52337000000", + "x-ms-resource-type": "file", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_acquire" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "6e249783-4423-4eb2-62a1-3761fbe3abfc", + "x-ms-version": "2021-06-08" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:09 GMT", + "etag": "\"0x8DAC3A3FC67311E\"", + "last-modified": "Fri, 11 Nov 2022 05:17:10 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "6e249783-4423-4eb2-62a1-3761fbe3abfc", + "x-ms-request-id": "c6869017-001f-005d-4d8c-f5d82b000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_auto_renew?resource=file" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "c2ba6eca-9eed-4211-5296-a8caa4a55c87", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "Accepted", + "STATUS_CODE": "202", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:10 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "c2ba6eca-9eed-4211-5296-a8caa4a55c87", + "x-ms-request-id": "c6869048-001f-005d-7e8c-f5d82b000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_auto_renew?action=append&position=0" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "8eaf2eca-8fec-41e5-70b9-d25892d5683d", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:10 GMT", + "etag": "\"0x8DAC3A3FCC933CB\"", + "last-modified": "Fri, 11 Nov 2022 05:17:11 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "8eaf2eca-8fec-41e5-70b9-d25892d5683d", + "x-ms-lease-renewed": "false", + "x-ms-request-id": "c68690a4-001f-005d-5a8c-f5d82b000000", + "x-ms-request-server-encrypted": "false", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_auto_renew?action=flush&position=4096" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "9bd6553d-cb54-4855-5aab-5fbb12fd1c8c", + "x-ms-version": "2021-12-02" + }, + "Method": "HEAD", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "accept-ranges": "bytes", + "content-length": "4096", + "content-type": "application/octet-stream", + "date": "Fri, 11 Nov 2022 05:17:11 GMT", + "etag": "\"0x8DAC3A3FCC933CB\"", + "last-modified": "Fri, 11 Nov 2022 05:17:11 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-access-tier": "Hot", + "x-ms-access-tier-inferred": "true", + "x-ms-blob-type": "BlockBlob", + "x-ms-client-request-id": "9bd6553d-cb54-4855-5aab-5fbb12fd1c8c", + "x-ms-creation-time": "Fri, 11 Nov 2022 05:17:10 GMT", + "x-ms-group": "$superuser", + "x-ms-lease-duration": "fixed", + "x-ms-lease-state": "leased", + "x-ms-lease-status": "locked", + "x-ms-owner": "$superuser", + "x-ms-permissions": "rw-r-----", + "x-ms-request-id": "bec1cfe5-601e-0064-578c-f52337000000", + "x-ms-resource-type": "file", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_auto_renew" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "cb393841-3cae-4ae3-56a6-55a30d74813b", + "x-ms-version": "2021-06-08" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:13 GMT", + "etag": "\"0x8DAC3A3FE34A5F3\"", + "last-modified": "Fri, 11 Nov 2022 05:17:13 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "cb393841-3cae-4ae3-56a6-55a30d74813b", + "x-ms-request-id": "55371f91-401f-0063-188c-f54f54000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_release?resource=file" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "72455525-982a-453e-5a32-59c7d4684445", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "Accepted", + "STATUS_CODE": "202", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:13 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "72455525-982a-453e-5a32-59c7d4684445", + "x-ms-request-id": "55371fde-401f-0063-658c-f54f54000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_release?action=append&position=0" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "fe1181d4-262c-4cb9-560b-c483d8a54039", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:13 GMT", + "etag": "\"0x8DAC3A3FE960524\"", + "last-modified": "Fri, 11 Nov 2022 05:17:14 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "fe1181d4-262c-4cb9-560b-c483d8a54039", + "x-ms-request-id": "55372036-401f-0063-3d8c-f54f54000000", + "x-ms-request-server-encrypted": "false", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_release?action=flush&position=4096" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "fb92525d-da3d-44b7-6432-e99fcd768620", + "x-ms-version": "2021-12-02" + }, + "Method": "HEAD", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "accept-ranges": "bytes", + "content-length": "4096", + "content-type": "application/octet-stream", + "date": "Fri, 11 Nov 2022 05:17:14 GMT", + "etag": "\"0x8DAC3A3FE960524\"", + "last-modified": "Fri, 11 Nov 2022 05:17:14 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-access-tier": "Hot", + "x-ms-access-tier-inferred": "true", + "x-ms-blob-type": "BlockBlob", + "x-ms-client-request-id": "fb92525d-da3d-44b7-6432-e99fcd768620", + "x-ms-creation-time": "Fri, 11 Nov 2022 05:17:13 GMT", + "x-ms-group": "$superuser", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-owner": "$superuser", + "x-ms-permissions": "rw-r-----", + "x-ms-request-id": "bec1da43-601e-0064-7c8c-f52337000000", + "x-ms-resource-type": "file", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_release" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "75b6ee97-50d7-4eb0-6f62-d8b6ec611729", + "x-ms-version": "2021-06-08" + }, + "Method": "PUT", + "Response": { + "BODY": "", + "REASON_PHRASE": "Created", + "STATUS_CODE": "201", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:15 GMT", + "etag": "\"0x8DAC3A3FFEA3AC6\"", + "last-modified": "Fri, 11 Nov 2022 05:17:16 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "75b6ee97-50d7-4eb0-6f62-d8b6ec611729", + "x-ms-request-id": "d61149ad-c01f-0099-1c8c-f5ad12000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_acquire_release?resource=file" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "e79afa31-63df-4d0e-47b7-3724ee58dfc4", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "Accepted", + "STATUS_CODE": "202", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:16 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "e79afa31-63df-4d0e-47b7-3724ee58dfc4", + "x-ms-request-id": "d61149e1-c01f-0099-508c-f5ad12000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_acquire_release?action=append&position=0" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "84d99705-a4fb-4a32-5ab8-c43bbcfabd72", + "x-ms-version": "2021-06-08" + }, + "Method": "PATCH", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:16 GMT", + "etag": "\"0x8DAC3A40049B04B\"", + "last-modified": "Fri, 11 Nov 2022 05:17:17 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "84d99705-a4fb-4a32-5ab8-c43bbcfabd72", + "x-ms-request-id": "d6114a35-c01f-0099-248c-f5ad12000000", + "x-ms-request-server-encrypted": "false", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_acquire_release?action=flush&position=4096" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "42b24694-55f4-4851-421c-8f108cf355c4", + "x-ms-version": "2021-12-02" + }, + "Method": "HEAD", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "accept-ranges": "bytes", + "content-length": "4096", + "content-type": "application/octet-stream", + "date": "Fri, 11 Nov 2022 05:17:17 GMT", + "etag": "\"0x8DAC3A40049B04B\"", + "last-modified": "Fri, 11 Nov 2022 05:17:17 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-access-tier": "Hot", + "x-ms-access-tier-inferred": "true", + "x-ms-blob-type": "BlockBlob", + "x-ms-client-request-id": "42b24694-55f4-4851-421c-8f108cf355c4", + "x-ms-creation-time": "Fri, 11 Nov 2022 05:17:16 GMT", + "x-ms-group": "$superuser", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-owner": "$superuser", + "x-ms-permissions": "rw-r-----", + "x-ms-request-id": "bec1e332-601e-0064-428c-f52337000000", + "x-ms-resource-type": "file", + "x-ms-server-encrypted": "true", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestflushfilewithlease/flushfilewithlease_acquire_release" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-files-datalake/12.5.0-beta.2 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "89134754-1087-41e6-7de0-d130734bec99", + "x-ms-version": "2021-06-08" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "REASON_PHRASE": "OK", + "STATUS_CODE": "200", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:19 GMT", + "server": "Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "89134754-1087-41e6-7de0-d130734bec99", + "x-ms-delete-type-permanent": "false", + "x-ms-deletion-id": "133126174398185471", + "x-ms-request-id": "2ac2ad64-501f-0040-5f8c-f5d597000000", + "x-ms-version": "2021-06-08" + }, + "Url": "https://REDACTED.dfs.core.windows.net/datalakefileclienttestflushfilewithlease/datalakefileclienttestflushfilewithlease" + }, + { + "Headers": { + "user-agent": "azsdk-cpp-storage-blobs/12.7.0-beta.1 (Windows 10 Enterprise 6.3 22621 22621.1.amd64fre.ni_release.220506-1250)", + "x-ms-client-request-id": "f0c03665-a9d1-4359-71db-923c3f815676", + "x-ms-version": "2021-12-02" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "REASON_PHRASE": "Accepted", + "STATUS_CODE": "202", + "content-length": "0", + "date": "Fri, 11 Nov 2022 05:17:19 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "f0c03665-a9d1-4359-71db-923c3f815676", + "x-ms-request-id": "bec1e90b-601e-0064-598c-f52337000000", + "x-ms-version": "2021-12-02" + }, + "Url": "https://REDACTED.blob.core.windows.net/datalakefileclienttestflushfilewithlease?restype=container" + } + ] +}