【发布时间】:2020-10-23 15:46:36
【问题描述】:
我正在尝试读取放置在我的 S3 存储桶中的 netCDF 文件,我正在使用 Xarray 来读取这些文件。下面的示例代码运行良好,如果我的本地文件夹中有相同的文件,例如 ~/downloads/60e0489fcab82c714f516064b4e6b7acf724b7b9.nc,但我是 S3 的新手,不确定我缺少什么。
我正在尝试通过 Xarray 读取 netCDF 并将其转换为 csv。 Boto3 不适用于读取 netCDF4 并将其转换为 CSV。
下面是我的 lambda 函数:-
import xarray
def handler(event, context):
filename = 's3://netcdf-files/60e0489fcab82c714f516064b4e6b7acf724b7b9.nc'
ds= xarray.open_dataset(filename)
for varname in ds:
print(varname)
tas0=ds['wet_bulb_potential_temperature']
tas0
return {
'statusCode': 200,
'message': 'Hello from Python Lambda Function!'
}
我遇到以下错误,我的 S3 文件路径未检测到,而是它的 Lambda 正在尝试在本地路径中查找文件。 来自云观察日志的错误消息:
File "/opt/python/lib/python3.6/site-packages/xarray/backends/file_manager.py", line 204, in _acquire_with_cache_info
file = self._opener(*self._args, **kwargs)
File "netCDF4/_netCDF4.pyx", line 2321, in netCDF4._netCDF4.Dataset.__init__
File "netCDF4/_netCDF4.pyx", line 1885, in netCDF4._netCDF4._ensure_nc_success
FileNotFoundError: [Errno 2] No such file or directory: b'/var/task/s3:/netcdf-files/60e0489fcab82c714f516064b4e6b7acf724b7b9.nc'
【问题讨论】:
-
请看这个相关问题:stackoverflow.com/q/62683337/732596
标签: python amazon-s3 aws-lambda netcdf python-xarray