boto3 更改会话的端点
我想在我的 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)