boto3 更改会话的端点

0 投票
1 回答
51 浏览
提问于 2025-04-14 18:05

我想在我的 boto 会话中使用 LakeFS 的配置。我试过这样做,但它还是给了我默认的配置。

s3 = boto3.resource('s3', 
    endpoint_url=lakefsEndPoint,
    aws_access_key_id=lakefsAccessKey,
    aws_secret_access_key=lakefsSecretKey
)


s3_session = boto3.Session(
    aws_access_key_id=lakefsAccessKey,
    aws_secret_access_key=lakefsSecretKey
)

我该怎么才能获得新的会话呢?我想用 aws wrangler 写数据,所以我需要获取 BOTO 会话。

1 个回答

2

直接通过会话获取资源:

import boto3

session = boto3.Session(...)

resource = session.resource('s3', endpoint_url=lakefsEndPoint)

不过,在awswrangler中,你可以直接传递会话,使用boto3_session这个参数,并通过配置来设置endpoint_url

import awswrangler as wr

wr.config.s3_endpoint_url = lakefsEndPoint

df = wr.s3.read_parquet('s3://bucket/key.parquet', boto3_session=session)

撰写回答