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() 自己动手:

^{pr2}$

否则,您将看到aiohttp写给stderr的一个神秘的投诉。在

如果你发现自己处于不方便关闭客户的情况下 (可能您正在实现一个模块方法),atexit随时为您服务:

importatexitCLIENT=ConcurrentS3Client()atexit.register(CLIENT.close)

它确保在正常程序退出之前调用close。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像