如何让python包`awswranger`接受自定义`endpoint_url`



我正试图使用python包awswrangler访问非AWS S3服务。

AWS Data Wranger文档指出您需要创建一个boto3.Session()对象。

问题是boto3.client()支持设置endpoint_url,但boto3.Session()不支持(此处为文档(。

在我以前使用boto3时,出于这个原因,我一直使用client

有没有办法用自定义endpoint_url创建boto3.Session(),或者将awswrangler配置为接受自定义端点?

我终于找到了awswrangler:的配置

import awswrangler as wr
wr.config.s3_endpoint_url = 'https://custom.endpoint'

awswrangler的任何配置变量都可以直接使用wr.config配置对象覆盖,正如您在回答中所述,但在某些用例中使用环境变量可能更干净或更可取。

在这种情况下,只需将WR_S3_ENDPOINT_URL设置为自定义端点,配置将在导入库时反映出来。

创建会话后,也可以使用client。例如:

import boto3
session = boto3.Session()
s3 = session.client('s3', endpoint_url='<custom-endpoint>')

相关内容

  • 没有找到相关文章

最新更新