You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by gi...@apache.org on 2025/04/25 04:05:19 UTC
(iceberg-rust) branch gh-pages updated: deploy: 841ef0a3dc87a3ecffaeb1aa62ca9ca4ea4c1712
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/iceberg-rust.git
The following commit(s) were added to refs/heads/gh-pages by this push:
new d694473c deploy: 841ef0a3dc87a3ecffaeb1aa62ca9ca4ea4c1712
d694473c is described below
commit d694473cdaefa83dd242afc11f70f9e256501b57
Author: liurenjie1024 <li...@users.noreply.github.com>
AuthorDate: Fri Apr 25 04:05:14 2025 +0000
deploy: 841ef0a3dc87a3ecffaeb1aa62ca9ca4ea4c1712
---
.../struct.S3TablesCatalog.html | 28 +++++++++----------
api/src/iceberg_catalog_s3tables/catalog.rs.html | 32 +++-------------------
2 files changed, 18 insertions(+), 42 deletions(-)
diff --git a/api/iceberg_catalog_s3tables/struct.S3TablesCatalog.html b/api/iceberg_catalog_s3tables/struct.S3TablesCatalog.html
index 8dc550c3..30f6b4f2 100644
--- a/api/iceberg_catalog_s3tables/struct.S3TablesCatalog.html
+++ b/api/iceberg_catalog_s3tables/struct.S3TablesCatalog.html
@@ -1,6 +1,6 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="S3Tables catalog implementation."><title>S3TablesCatalog in iceberg_catalog_s3tables - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a. [...]
-</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-S3TablesCatalog" class="impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#67-95">Source</a><a href="#impl-S3TablesCatalog" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.S3TablesCatalog. [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Catalog-for-S3TablesCatalog" class="impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#98-497">Source</a><a href="#impl-Catalog-for-S3TablesCatalog" class="anchor">§</a><h3 c [...]
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-S3TablesCatalog" class="impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#67-83">Source</a><a href="#impl-S3TablesCatalog" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.S3TablesCatalog. [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Catalog-for-S3TablesCatalog" class="impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#86-485">Source</a><a href="#impl-Catalog-for-S3TablesCatalog" class="anchor">§</a><h3 c [...]
&'life0 self,
parent: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'life1 NamespaceIdent>,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = Result<<a class="struct" href="https://doc.rust-lang.org/nig [...]
@@ -9,7 +9,7 @@
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>List namespaces from s3tables catalog.</p>
<p>S3Tables doesn’t support nested namespaces. If parent is provided, it will
return an empty list.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.create_namespace" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#149-164">Source</a><a href="#method.create_namespace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">create_namespace</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.create_namespace" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#137-152">Source</a><a href="#method.create_namespace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">create_namespace</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace: &'life1 NamespaceIdent,
_properties: <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
@@ -31,7 +31,7 @@ parameter is ignored.</p>
<li>Errors from the underlying database creation process, converted using
<code>from_aws_sdk_error</code>.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_namespace" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#175-187">Source</a><a href="#method.get_namespace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">get_namespace</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_namespace" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#163-175">Source</a><a href="#method.get_namespace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">get_namespace</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace: &'life1 NamespaceIdent,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = Result<Namespace>> + <a class="trait" href="https://do [...]
@@ -46,7 +46,7 @@ Constructs a <code>Namespace</code> object with the retrieved data and returns i
<li>If there is an error querying the database, returned by
<code>from_aws_sdk_error</code>.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.namespace_exists" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#201-217">Source</a><a href="#method.namespace_exists" class="anchor">§</a><h4 class="code-header">fn <a class="fn">namespace_exists</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.namespace_exists" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#189-205">Source</a><a href="#method.namespace_exists" class="anchor">§</a><h4 class="code-header">fn <a class="fn">namespace_exists</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace: &'life1 NamespaceIdent,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = Result<<a class="primitive" href="https://doc.rust-lang.org/ [...]
@@ -64,7 +64,7 @@ to determine if the specified namespace exists.</p>
<li><code>Err(...)</code> if an error occurs during validation or the s3tables catalog
query, with the error encapsulating the issue.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.update_namespace" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#223-232">Source</a><a href="#method.update_namespace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_namespace</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.update_namespace" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#211-220">Source</a><a href="#method.update_namespace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_namespace</a><'life0, 'life1, 'async_trait>(
&'life0 self,
_namespace: &'life1 NamespaceIdent,
_properties: <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
@@ -74,7 +74,7 @@ query, with the error encapsulating the issue.</li>
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Updates the properties of an existing namespace.</p>
<p>S3Tables doesn’t support updating namespace properties, so this function
will always return an error.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.drop_namespace" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#242-250">Source</a><a href="#method.drop_namespace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_namespace</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.drop_namespace" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#230-238">Source</a><a href="#method.drop_namespace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_namespace</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace: &'life1 NamespaceIdent,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = Result<<a class="primitive" href="https://doc.rust-lang.org/ [...]
@@ -88,7 +88,7 @@ namespace from the s3tables catalog.</p>
<li>Errors from the underlying database deletion process, converted using
<code>from_aws_sdk_error</code>.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.list_tables" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#260-285">Source</a><a href="#method.list_tables" class="anchor">§</a><h4 class="code-header">fn <a class="fn">list_tables</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.list_tables" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#248-273">Source</a><a href="#method.list_tables" class="anchor">§</a><h4 class="code-header">fn <a class="fn">list_tables</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace: &'life1 NamespaceIdent,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = Result<<a class="struct" href="https://doc.rust-lang.org/nig [...]
@@ -102,7 +102,7 @@ their identifiers.</p>
<li>Errors from the underlying database query process, converted using
<code>from_aws_sdk_error</code>.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.create_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#301-373">Source</a><a href="#method.create_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">create_table</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.create_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#289-361">Source</a><a href="#method.create_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">create_table</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace: &'life1 NamespaceIdent,
creation: TableCreation,
@@ -121,7 +121,7 @@ location is generated by the s3tables catalog, looks like:</p>
<li>Errors from the underlying database creation process, converted using
<code>from_aws_sdk_error</code>.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.load_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#385-415">Source</a><a href="#method.load_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">load_table</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.load_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#373-403">Source</a><a href="#method.load_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">load_table</a><'life0, 'life1, 'async_trait>(
&'life0 self,
table_ident: &'life1 TableIdent,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = Result<Table>> + <a class="trait" href="https://doc.ru [...]
@@ -137,7 +137,7 @@ location is generated by the s3tables catalog, looks like:</p>
<li>Errors from the underlying database query process, converted using
<code>from_aws_sdk_error</code>.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.drop_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#425-434">Source</a><a href="#method.drop_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_table</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.drop_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#413-422">Source</a><a href="#method.drop_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_table</a><'life0, 'life1, 'async_trait>(
&'life0 self,
table: &'life1 TableIdent,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = Result<<a class="primitive" href="https://doc.rust-lang.org/ [...]
@@ -151,7 +151,7 @@ table from the s3tables catalog.</p>
<li>Errors from the underlying database deletion process, converted using
<code>from_aws_sdk_error</code>.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.table_exists" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#448-465">Source</a><a href="#method.table_exists" class="anchor">§</a><h4 class="code-header">fn <a class="fn">table_exists</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.table_exists" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#436-453">Source</a><a href="#method.table_exists" class="anchor">§</a><h4 class="code-header">fn <a class="fn">table_exists</a><'life0, 'life1, 'async_trait>(
&'life0 self,
table_ident: &'life1 TableIdent,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = Result<<a class="primitive" href="https://doc.rust-lang.org/ [...]
@@ -169,7 +169,7 @@ to determine if the specified table exists.</p>
<li><code>Err(...)</code> if an error occurs during validation or the s3tables catalog
query, with the error encapsulating the issue.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.rename_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#475-486">Source</a><a href="#method.rename_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">rename_table</a><'life0, 'life1, 'life2, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.rename_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#463-474">Source</a><a href="#method.rename_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">rename_table</a><'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
src: &'life1 TableIdent,
dest: &'life2 TableIdent,
@@ -185,7 +185,7 @@ the source table to the destination table.</p>
<li>Errors from the underlying database renaming process, converted using
<code>from_aws_sdk_error</code>.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.update_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#491-496">Source</a><a href="#method.update_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_table</a><'life0, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.update_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_s3tables/catalog.rs.html#479-484">Source</a><a href="#method.update_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_table</a><'life0, 'async_trait>(
&'life0 self,
_commit: TableCommit,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = Result<Table>> + <a class="trait" href="https://doc.ru [...]
diff --git a/api/src/iceberg_catalog_s3tables/catalog.rs.html b/api/src/iceberg_catalog_s3tables/catalog.rs.html
index d204f2f9..65716db3 100644
--- a/api/src/iceberg_catalog_s3tables/catalog.rs.html
+++ b/api/src/iceberg_catalog_s3tables/catalog.rs.html
@@ -619,19 +619,7 @@
<a href="#618" id="618">618</a>
<a href="#619" id="619">619</a>
<a href="#620" id="620">620</a>
-<a href="#621" id="621">621</a>
-<a href="#622" id="622">622</a>
-<a href="#623" id="623">623</a>
-<a href="#624" id="624">624</a>
-<a href="#625" id="625">625</a>
-<a href="#626" id="626">626</a>
-<a href="#627" id="627">627</a>
-<a href="#628" id="628">628</a>
-<a href="#629" id="629">629</a>
-<a href="#630" id="630">630</a>
-<a href="#631" id="631">631</a>
-<a href="#632" id="632">632</a>
-<a href="#633" id="633">633</a></pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
+<a href="#621" id="621">621</a></pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
@@ -657,7 +645,7 @@
<span class="kw">use </span>aws_sdk_s3tables::operation::get_table::GetTableOutput;
<span class="kw">use </span>aws_sdk_s3tables::operation::list_tables::ListTablesOutput;
<span class="kw">use </span>aws_sdk_s3tables::types::OpenTableFormat;
-<span class="kw">use </span>iceberg::io::FileIO;
+<span class="kw">use </span>iceberg::io::{FileIO, FileIOBuilder};
<span class="kw">use </span>iceberg::spec::{TableMetadata, TableMetadataBuilder};
<span class="kw">use </span>iceberg::table::Table;
<span class="kw">use </span>iceberg::{
@@ -703,20 +691,8 @@
<span class="kw">let </span>aws_config = create_sdk_config(<span class="kw-2">&</span>config.properties, config.endpoint_url.clone()).<span class="kw">await</span>;
<span class="kw">let </span>s3tables_client = aws_sdk_s3tables::Client::new(<span class="kw-2">&</span>aws_config);
- <span class="comment">// parse bucket name from ARN format like: arn:aws:s3:<region>:<account>:bucket/<bucket_name>
- </span><span class="kw">let </span>bucket_name = config
- .table_bucket_arn
- .rsplit(<span class="string">":bucket/"</span>)
- .next()
- .ok_or_else(|| {
- Error::new(
- ErrorKind::DataInvalid,
- <span class="macro">format!</span>(<span class="string">"Invalid bucket ARN format: {}"</span>, config.table_bucket_arn),
- )
- })<span class="question-mark">?</span>;
-
- <span class="kw">let </span>file_io = FileIO::from_path(<span class="macro">format!</span>(<span class="string">"s3://{}"</span>, bucket_name))<span class="question-mark">?
- </span>.with_props(<span class="kw-2">&</span>config.properties)
+ <span class="kw">let </span>file_io = FileIOBuilder::new(<span class="string">"s3"</span>)
+ .with_props(<span class="kw-2">&</span>config.properties)
.build()<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="self">Self </span>{