From 0a5cbb335566d882de7fb8949796115d52e1c961 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Fri, 26 Apr 2024 21:07:29 -0800 Subject: [PATCH 1/7] Document AzureFileSystem --- docs/source/cpp/api/filesystem.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/source/cpp/api/filesystem.rst b/docs/source/cpp/api/filesystem.rst index 02b12668327f2..599e9fedb60f9 100644 --- a/docs/source/cpp/api/filesystem.rst +++ b/docs/source/cpp/api/filesystem.rst @@ -97,3 +97,12 @@ Google Cloud Storage filesystem .. doxygenclass:: arrow::fs::GcsFileSystem :members: + +Azure filesystem +---------------- + +.. doxygenstruct:: arrow::fs::AzureOptions + :members: + +.. doxygenclass:: arrow::fs::AzureFileSystem + :members: From 703137eda155222396a044c6682c82aa451c6493 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Fri, 26 Apr 2024 21:21:50 -0800 Subject: [PATCH 2/7] Fix emdash in azurefs.h --- cpp/src/arrow/filesystem/azurefs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/src/arrow/filesystem/azurefs.h b/cpp/src/arrow/filesystem/azurefs.h index 667b4e372ae59..5340c4396a582 100644 --- a/cpp/src/arrow/filesystem/azurefs.h +++ b/cpp/src/arrow/filesystem/azurefs.h @@ -226,7 +226,7 @@ struct ARROW_EXPORT AzureOptions { /// overwriting. /// - When you use the ListBlobs operation without specifying a delimiter, the results /// include both directories and blobs. If you choose to use a delimiter, use only a -/// forward slash (/) -- the only supported delimiter. +/// forward slash (/) \--- the only supported delimiter. /// - If you use the DeleteBlob API to delete a directory, that directory is deleted only /// if it's empty. This means that you can't use the Blob API delete directories /// recursively. From 4bf06ba4232a731e03a7b82585eadd1bd575b387 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Mon, 29 Apr 2024 14:35:36 -0800 Subject: [PATCH 3/7] Reformat supported formats section --- cpp/src/arrow/filesystem/azurefs.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/cpp/src/arrow/filesystem/azurefs.h b/cpp/src/arrow/filesystem/azurefs.h index 5340c4396a582..cf458e76ec260 100644 --- a/cpp/src/arrow/filesystem/azurefs.h +++ b/cpp/src/arrow/filesystem/azurefs.h @@ -147,12 +147,9 @@ struct ARROW_EXPORT AzureOptions { /// [/\[/path]] /// 4. abfs[s]://[\]@]\[/path] /// - /// 1. and 2. are compatible with the Azure Data Lake Storage Gen2 URIs: - /// https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri - /// - /// 3. is for Azure Blob Storage compatible service including Azurite. - /// - /// 4. is a shorter version of 1. and 2. + /// (1) and (2) are compatible with the Azure Data Lake Storage Gen2 URIs + /// [1], (3) is for Azure Blob Storage compatible service including Azurite, + /// and (4) is a shorter version of (1) and (2). /// /// Note that there is no difference between abfs and abfss. HTTPS is /// used with abfs by default. You can force to use HTTP by specifying @@ -178,6 +175,8 @@ struct ARROW_EXPORT AzureOptions { /// AzureOptions::ConfigureClientSecretCredential() is called. /// * client_secret: You must specify "tenant_id" and "client_id" /// too. AzureOptions::ConfigureClientSecretCredential() is called. + /// + /// [1]: https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri static Result FromUri(const Uri& uri, std::string* out_path); static Result FromUri(const std::string& uri, std::string* out_path); From 98d800ad13b70d70cd7acb2456214fe737d3443e Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Mon, 29 Apr 2024 15:15:26 -0800 Subject: [PATCH 4/7] Remove line break to fix formatting --- cpp/src/arrow/filesystem/azurefs.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/cpp/src/arrow/filesystem/azurefs.h b/cpp/src/arrow/filesystem/azurefs.h index cf458e76ec260..a4842f9139464 100644 --- a/cpp/src/arrow/filesystem/azurefs.h +++ b/cpp/src/arrow/filesystem/azurefs.h @@ -139,12 +139,9 @@ struct ARROW_EXPORT AzureOptions { /// /// Supported formats: /// - /// 1. abfs[s]://[:\@]\.blob.core.windows.net - /// [/\[/\]] - /// 2. abfs[s]://\[:\]@\.dfs.core.windows.net - /// [/path] - /// 3. abfs[s]://[\]@]\[\<:port\>] - /// [/\[/path]] + /// 1. abfs[s]://[:\@]\.blob.core.windows.net[/\[/\]] + /// 2. abfs[s]://\[:\]@\.dfs.core.windows.net[/path] + /// 3. abfs[s]://[\]@]\[\<:port\>][/\[/path]] /// 4. abfs[s]://[\]@]\[/path] /// /// (1) and (2) are compatible with the Azure Data Lake Storage Gen2 URIs From 0b027a234e78a231e987b3ed9fe4e74fcab965d1 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Mon, 29 Apr 2024 15:21:05 -0800 Subject: [PATCH 5/7] Fix weird rendering issue Before this change, doxygen converts '@\<' to '\<' which doesn't make sense (it removes the @ and leaves a \). If you escape the @, like '\@\<' you get what we want: '@<'. --- cpp/src/arrow/filesystem/azurefs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/src/arrow/filesystem/azurefs.h b/cpp/src/arrow/filesystem/azurefs.h index a4842f9139464..42ea7a8a37a0d 100644 --- a/cpp/src/arrow/filesystem/azurefs.h +++ b/cpp/src/arrow/filesystem/azurefs.h @@ -140,7 +140,7 @@ struct ARROW_EXPORT AzureOptions { /// Supported formats: /// /// 1. abfs[s]://[:\@]\.blob.core.windows.net[/\[/\]] - /// 2. abfs[s]://\[:\]@\.dfs.core.windows.net[/path] + /// 2. abfs[s]://\[:\]\@\.dfs.core.windows.net[/path] /// 3. abfs[s]://[\]@]\[\<:port\>][/\[/path]] /// 4. abfs[s]://[\]@]\[/path] /// From 0d4564b78c25b9f7cd79bdef169e99e340933ee9 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Tue, 30 Apr 2024 07:53:21 -0800 Subject: [PATCH 6/7] Fix linter issues --- cpp/src/arrow/filesystem/azurefs.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cpp/src/arrow/filesystem/azurefs.h b/cpp/src/arrow/filesystem/azurefs.h index 42ea7a8a37a0d..ec9c6337c02e6 100644 --- a/cpp/src/arrow/filesystem/azurefs.h +++ b/cpp/src/arrow/filesystem/azurefs.h @@ -139,9 +139,11 @@ struct ARROW_EXPORT AzureOptions { /// /// Supported formats: /// - /// 1. abfs[s]://[:\@]\.blob.core.windows.net[/\[/\]] + /// 1. + /// abfs[s]://[:\@]\.blob.core.windows.net[/\[/\]] /// 2. abfs[s]://\[:\]\@\.dfs.core.windows.net[/path] - /// 3. abfs[s]://[\]@]\[\<:port\>][/\[/path]] + /// 3. + /// abfs[s]://[\]@]\[\<:port\>][/\[/path]] /// 4. abfs[s]://[\]@]\[/path] /// /// (1) and (2) are compatible with the Azure Data Lake Storage Gen2 URIs @@ -173,7 +175,8 @@ struct ARROW_EXPORT AzureOptions { /// * client_secret: You must specify "tenant_id" and "client_id" /// too. AzureOptions::ConfigureClientSecretCredential() is called. /// - /// [1]: https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri + /// [1]: + /// https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri static Result FromUri(const Uri& uri, std::string* out_path); static Result FromUri(const std::string& uri, std::string* out_path); From 1e2d3a3a47350e10bb32e64c692bc74f332448f0 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Tue, 30 Apr 2024 15:22:29 -0800 Subject: [PATCH 7/7] Revert list item change --- cpp/src/arrow/filesystem/azurefs.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cpp/src/arrow/filesystem/azurefs.h b/cpp/src/arrow/filesystem/azurefs.h index ec9c6337c02e6..b71a5ae73b2e9 100644 --- a/cpp/src/arrow/filesystem/azurefs.h +++ b/cpp/src/arrow/filesystem/azurefs.h @@ -139,11 +139,11 @@ struct ARROW_EXPORT AzureOptions { /// /// Supported formats: /// - /// 1. - /// abfs[s]://[:\@]\.blob.core.windows.net[/\[/\]] + /// 1. abfs[s]://[:\@]\.blob.core.windows.net + /// [/\[/\]] /// 2. abfs[s]://\[:\]\@\.dfs.core.windows.net[/path] - /// 3. - /// abfs[s]://[\]@]\[\<:port\>][/\[/path]] + /// 3. abfs[s]://[\]@]\[\<:port\>] + /// [/\[/path]] /// 4. abfs[s]://[\]@]\[/path] /// /// (1) and (2) are compatible with the Azure Data Lake Storage Gen2 URIs