You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在使用smart open通过URL读取S3压缩文件时传入boto3 Session?

使用smart open通过S3 URL + Session读取压缩文件

完全可以实现无需手动创建boto3客户端、无需直接操作存储桶和密钥,仅通过S3 URL和Session完成读取操作。

正确代码示例

import boto3
from smart_open import open

# 初始化boto3 Session
session = boto3.Session(aws_access_key_id="你的访问ID", aws_secret_access_key="你的密钥")

# 直接通过S3 URL读取压缩文件,传入Session参数
with open("s3://bucket/file.txt.gz", "r", encoding="utf-8", transport_params={"session": session}) as f:
    # 逐行读取文件内容
    for line in f:
        print(line.strip())

关键说明

  • 必须导入smart_open.open,而非Python内置的open函数,这是实现S3 URL直接读写的核心
  • transport_params参数支持传入boto3 Session,读取和写入操作都适用,smart_open会自动基于该Session创建对应的客户端处理请求
  • 对于.gz这类压缩文件,smart_open会自动识别并完成解压,无需额外编写解压逻辑

内容的提问来源于stack exchange,提问作者A Simple Programmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:09:25