apache / apache/iceberg-python

feat: refactor rest signer in fileio

Offen
#2,862 4 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
1.1k
Forks
581
Ø Merge
1 T. 17 Std.
Gemergte PRs (30 T.)
77

Beschreibung

### 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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Lies die Diskussion in PR 2846 und die Implementierung von `_init_sigv4` in `pyiceberg/catalog/rest/__init__.py`. Verfolge den Pfad von REST Catalogs `_load_file_io` und wie der S3-Signer derzeit an FileIO gekoppelt ist. Als erledigt gilt die Aufgabe, wenn der REST Catalog den Signer mithilfe seines Auth-Managers erstellt und ihn über das Override an FileIO übergibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
api, authentication, backend
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.