You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Feature: Missing AWS Profile Support in PyIceberg / PyIceberg should support AWS profiles
Description:
When working with multiple AWS configs / credentials in parallel, AWS profiles are a convenient way to achieve this. Ideally, PyIceberg should therefore also support AWS profiles, which it currently does not.
Current state (as of writing - pyIceberg v0.10.0):
The Glue part of the GlueCatalog can be configured to use the profile by specifying the Glue client explicitly in the Glue Catalog or via glue.profile-name config parameter:
For PyArrow backend, the AWS profile support is not yet available, but they do have an enhancement ticket for it (see [Python][C++] Add Profile support to S3FileSystem arrow#47880). Once AWS profile is supported in PyArrow it can be implemented in PyIceberg as well, I assume.
PyIceberg should have a new client.profile-name and s3.profile-name configuration parameter (next to existing glue.profile-name.
New client.profile-name should also set glue.profile-name (same behaviour as for all the other unified AWS credentials).
For now, AWS profile support should be implemented for fsspec backend and client.profile-name and s3.profile-name should only be supported when using fsspec backend ("py-io-impl": "pyiceberg.io.fsspec.FsspecFileIO").
Once PyArrow supports AWS profile names (see [Python][C++] Add Profile support to S3FileSystem arrow#47880), AWS profile support should be implemented for PyArrow backend as well and client.profile-name and s3.profile-name should be fully supported.
Remark: I found this feature gap with the GlueCatalog; it might be that the RestCatalog is equally affected, but not sure.
Issues possibly related to this issue: #570, #1207, #2657
Feature Request / Improvement
Feature: Missing AWS Profile Support in PyIceberg /
PyIcebergshould support AWS profilesDescription:
When working with multiple AWS configs / credentials in parallel, AWS profiles are a convenient way to achieve this. Ideally,
PyIcebergshould therefore also support AWS profiles, which it currently does not.Current state (as of writing - pyIceberg v0.10.0):
glue.profile-nameconfig parameter:or
fsspecbackends, AWS profile support is generally available (see https://s3fs.readthedocs.io/en/latest/api.html#s3fs.core.S3FileSystem and https://github.com/fsspec/s3fs/blob/aceea3a4985f667979e4d8a5a5b8eeddaf23b7be/s3fs/core.py#L229), but it's not implemented inPyIceberg(seeiceberg-python/pyiceberg/io/fsspec.py
Line 199 in e07296e
sessionparameter of theS3FileSystemexplicitly:PyArrowbackend, the AWS profile support is not yet available, but they do have an enhancement ticket for it (see [Python][C++] Add Profile support to S3FileSystem arrow#47880). Once AWS profile is supported inPyArrowit can be implemented inPyIcebergas well, I assume.Workaround for this feature gap:
To-Be / Expected Behavior:
PyIcebergshould have a newclient.profile-nameands3.profile-nameconfiguration parameter (next to existingglue.profile-name.client.profile-nameshould also setglue.profile-name(same behaviour as for all the other unified AWS credentials).fsspecbackend andclient.profile-nameands3.profile-nameshould only be supported when usingfsspecbackend ("py-io-impl": "pyiceberg.io.fsspec.FsspecFileIO").PyArrowsupports AWS profile names (see [Python][C++] Add Profile support to S3FileSystem arrow#47880), AWS profile support should be implemented forPyArrowbackend as well andclient.profile-nameands3.profile-nameshould be fully supported.Remark: I found this feature gap with the GlueCatalog; it might be that the RestCatalog is equally affected, but not sure.
Issues possibly related to this issue: #570, #1207, #2657