STScI应用通用AWS规范
stsci-aws-utils的Python项目详细描述
stsci aws实用工具
在Amazon Web服务上运行STScI软件的实用程序。在
S3
ConcurrentS3Client
类将S3对象流式传输到内存中(BytesIO)
使用多个并发的HTTP范围请求。在m4.10X的测试中
与10 Gpbs网络连接相比,我们的速度提高了约3倍
boto3的S3客户端。客户端凭据和区域配置为
boto3(环境变量、.aws目录或实例元数据)。在
AsyncConcurrentS3Client
与此类似,但具有异步接口。在
使用ConcurrentS3Client
从S3打开FITS文件的示例:
fromstsci_aws_utils.s3importConcurrentS3Clientfromastropy.ioimportfitswithConcurrentS3Client()asclient:content=client.get_object("some-s3-bucket","some/key/prefix/some-file.fits")hdul=fits.open(content)
请注意,当发出连续的请求时,重用开放式
每次都要创建一个新的客户端。可以创建客户机
没有上下文管理,但是您需要记住调用close()
自己动手:
否则,您将看到aiohttp写给stderr的一个神秘的投诉。在
如果你发现自己处于不方便关闭客户的情况下
(可能您正在实现一个模块方法),atexit
随时为您服务:
importatexitCLIENT=ConcurrentS3Client()atexit.register(CLIENT.close)
它确保在正常程序退出之前调用close。在
- 项目
标签: