Skip to content

Missing AWS Profile Support in PyIceberg (for PyArrow backend) #3065

@thomas-pfeiffer

Description

@thomas-pfeiffer

Feature Request / Improvement

Feature: Missing AWS Profile Support in PyIceberg (for PyArrow backend) / PyArrow backend should support AWS profiles (follow up issue for #2841 )

Description:
When working with multiple AWS configs / credentials in parallel, AWS profiles are a convenient way to achieve this. Ideally, PyArrow backend in PyIceberg should therefore also support AWS profiles, which currently only the Fsspec backend does support.

Current state (as of writing - pyIceberg v0.11.0):

(Unverified) Workaround for this feature gap:

session = Session(profile_name="your_aws_profile")
credentials = session.get_credentials()  
if credentials is None:
    raise ValueError("Could not retrieve credentials for profile")
catalog = GlueCatalog(
    name="your_glue_catalog",
    **{ 
        "client.access-key-id": credentials.access_key,
        "client.secret-access-key": credentials.secret_key,
        "client.session-token": credentials.token,
        ...
    },
)

or use Fsspec backend instead of PyArrow backend for now.

To-Be / Expected Behavior:
Once PyArrow supports AWS profile names (see apache/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: This is a follow up issue for #2841 .
Issues possibly related to this issue: #570, #1207, #2657

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions