Skip to content

Conversation

@phillipleblanc
Copy link

Implements basic support for connecting to the AWS Glue Iceberg REST catalog by supporting the parameters rest.sigv4-enabled, rest.signing-name and rest.signing-region. See the corresponding parameters in the PyIceberg docs: https://py.iceberg.apache.org/configuration/#rest-catalog

I've added a new feature to the iceberg-catalog-rest called sigv4 which when enabled, will recognize the above configuration parameters. I've left this disabled by default.

I added the crate request_middleware to allow running middleware on requests, and if the rest.sigv4-enabled configuration is enabled, the middleware to sign the request and add the correct Authorization header is enabled.

I've tested this implementation in my project, and it works great for connecting to the AWS Glue REST catalog, i.e. https://glue.<region>.amazonaws.com/iceberg

dependabot bot and others added 30 commits December 23, 2024 10:30
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.28.3 to 1.28.4.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](crate-ci/typos@v1.28.3...v1.28.4)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Xuanwo <github@xuanwo.io>
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.216 to 1.0.217.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.216...v1.0.217)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.10 to 0.12.11.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](seanmonstar/reqwest@v0.12.10...v0.12.11)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aws-sdk-s3tables](https://github.com/awslabs/aws-sdk-rust) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/awslabs/aws-sdk-rust/releases)
- [Commits](https://github.com/awslabs/aws-sdk-rust/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3tables
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: xxchan <xxchan22f@gmail.com>
)

Co-authored-by: ZENOTME <st810918843@gmail.com>
Co-authored-by: ZENOTME <st810918843@gmail.com>
Co-authored-by: ZENOTME <st810918843@gmail.com>
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.28.4 to 1.29.4.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](crate-ci/typos@v1.28.4...v1.29.4)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aws-sdk-s3tables](https://github.com/awslabs/aws-sdk-rust) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/awslabs/aws-sdk-rust/releases)
- [Commits](https://github.com/awslabs/aws-sdk-rust/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3tables
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.11 to 0.12.12.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](seanmonstar/reqwest@v0.12.11...v0.12.12)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fqaiser94 and others added 23 commits January 14, 2025 10:14
* Add Puffin FileMetadata

* Fix comment locations

* Put Ok(()) branch first

* Use map_err

* Inline err_out_of_bounds function

* Use ok_or_else

* Remove #[rustfmt::skip]

* Rename input_fields to fields

* Simplify flag parsing

* Remove unnecessary reference

* Make BlobMetadata.length a u64 (instead of usize)

* Replace from with as
Co-authored-by: ZENOTME <st810918843@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This pr supports scanning nested data type(struct, list, map), but deeply nested data types are still not supported.

---------

Co-authored-by: ZENOTME <st810918843@gmail.com>
…<real>)` in some tests (apache#910)

Replace `assert!(<actual> == <real>)` by `assert_eq!(<actual>, <real>)` in some tests (apache#910)
@phillipleblanc phillipleblanc merged commit 07940c3 into spiceai-0.4.0 Jan 27, 2025
3 checks passed
@phillipleblanc phillipleblanc deleted the phillip/250127-rest-sigv4 branch January 27, 2025 14:04
phillipleblanc added a commit that referenced this pull request Apr 8, 2025
Implement basic support for rest.sigv4_enabled for the Iceberg REST catalog
sgrebnov pushed a commit that referenced this pull request Sep 25, 2025
peasee pushed a commit that referenced this pull request Oct 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.