apache / apache/iceberg-python

feat: refactor rest signer in fileio

オープン
#2,862 コメント 4 件 リアクション 2 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
1.1k
フォーク
581
平均マージ
1日 17時間
マージ済み PR(30日)
77

説明

### Feature Request / Improvement

Context: https://github.com/apache/iceberg-python/pull/2846#discussion_r2645920570

Currently S3 signer is tightly coupled with FileIO. This is awkward since the S3 Signer requires interaction with remote service (i.e. REST Catalog) and reuse its auth manager.

We can refactor here and create the signer in REST Catalog and pass to FileIO by overriding its `_load_file_io` function.

Also see [_init_sigv4](https://github.com/apache/iceberg-python/blob/a99dcada431a06329959cb7f71bf961343256bb0/pyiceberg/catalog/rest/__init__.py#L409-L459) for inspiration

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

PR 2846 の議論と、`pyiceberg/catalog/rest/__init__.py` にある `_init_sigv4` の実装を読んでください。REST Catalog の `_load_file_io` の経路と、現在 S3 signer が FileIO とどのように結合されているかを追ってください。REST Catalog が自身の認証マネージャーを使って signer を作成し、override を通じて FileIO に渡せば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
api, authentication, backend
issue の種類
リファクタリング
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。