在 Amazon S3 中编写 netcdf 文件

问题描述

我需要将 netcdf 文件写入 S3。我可以使用 xarray 读取文件,但无法在 S3 中写入文件。一种选择是在本地创建文件并在 S3 中上传,但由于我有大于 100GB 的大文件,这将非常低效。
S3中使用xarray读取文件代码如下所示:

import xarray as xr
from netCDF4 import Dataset,num2date

import yaml
import boto3
import s3fs

yamlkeysPath = "S3/keys.yaml"
yamlfile =open(yamlkeysPath)
keys = yaml.load(yamlfile,Loader=yaml.FullLoader)    

s3 = boto3.resource(
    service_name='s3',region_name=keys['region_name'],aws_access_key_id=keys['aws_access_key_id'],aws_secret_access_key=keys['aws_secret_access_key'])

s3Client = boto3.client(
    service_name='s3',aws_secret_access_key=keys['aws_secret_access_key'])

s3system = s3fs.S3FileSystem(anon=False) # uses default credentials
    
ncdata_obj = s3system.open(FileLocationinS3,mode='rb')
ncdata = xr.open_dataset(ncdata_obj)

有没有一种简单的方法可以在 S3 中编写 netcdf 文件?类似于 xarray 的 to_netcdf 的东西。下面的代码显示错误'权限被拒绝'

ncdata.to_netcdf(AnotherS3Location)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...