如何在 aws lambda 中使用 gdal(geodjango)?
How to use gdal(geodjango) in aws lambda?
怎么找也找不到好的方法
如何在 aws lambda 中安装 gdal?
如果我的问题还不够,请指正。对不起我的英语。
IMO 的一个不错选择是使用 lambda 层。您可以自己创建一个,也可以使用已编译并公开提供的一个(可用性取决于您所在的地区)。
这里有两个选项:
https://github.com/lambgeo/docker-lambda
https://github.com/developmentseed/geolambda
例如,如果您想在 us-east-1
中使用来自 lambgeo 的层,您只需将这些 arn
之一添加到您的函数中:
"layers": [
{
"name": "gdal24",
"arn": "arn:aws:lambda:us-east-1:524387336408:layer:gdal24:1",
"version": 1
},
{
"name": "gdal30",
"arn": "arn:aws:lambda:us-east-1:524387336408:layer:gdal30:1",
"version": 1
},
{
"name": "gdal31",
"arn": "arn:aws:lambda:us-east-1:524387336408:layer:gdal31:1",
"version": 1
}
有关区域和 arn
的完整列表,请参阅 this link。
附加信息
添加层后,应在信息下方的lambda中添加环境变量
这是一个使用 docker-lambda.
的例子
"GDAL_DATA": "/opt/share/gdal",
"PROJ_LIB": "/opt/share/proj",
"GDAL_LIBRARY_PATH": "/opt/lib/libgdal.so.2.x.x", // Enter correct version
"GEOS_LIBRARY_PATH": "/opt/lib/libgeos_c.so.1.xx.x" // Enter correct version
对于 django,编辑你的 django settings.py
GDAL_LIBRARY_PATH = os.getenv('GDAL_LIBRARY_PATH')
GEOS_LIBRARY_PATH = os.getenv('GEOS_LIBRARY_PATH')
怎么找也找不到好的方法
如何在 aws lambda 中安装 gdal?
如果我的问题还不够,请指正。对不起我的英语。
IMO 的一个不错选择是使用 lambda 层。您可以自己创建一个,也可以使用已编译并公开提供的一个(可用性取决于您所在的地区)。
这里有两个选项:
https://github.com/lambgeo/docker-lambda
https://github.com/developmentseed/geolambda
例如,如果您想在 us-east-1
中使用来自 lambgeo 的层,您只需将这些 arn
之一添加到您的函数中:
"layers": [
{
"name": "gdal24",
"arn": "arn:aws:lambda:us-east-1:524387336408:layer:gdal24:1",
"version": 1
},
{
"name": "gdal30",
"arn": "arn:aws:lambda:us-east-1:524387336408:layer:gdal30:1",
"version": 1
},
{
"name": "gdal31",
"arn": "arn:aws:lambda:us-east-1:524387336408:layer:gdal31:1",
"version": 1
}
有关区域和 arn
的完整列表,请参阅 this link。
附加信息
添加层后,应在信息下方的lambda中添加环境变量
这是一个使用 docker-lambda.
"GDAL_DATA": "/opt/share/gdal",
"PROJ_LIB": "/opt/share/proj",
"GDAL_LIBRARY_PATH": "/opt/lib/libgdal.so.2.x.x", // Enter correct version
"GEOS_LIBRARY_PATH": "/opt/lib/libgeos_c.so.1.xx.x" // Enter correct version
对于 django,编辑你的 django settings.py
GDAL_LIBRARY_PATH = os.getenv('GDAL_LIBRARY_PATH')
GEOS_LIBRARY_PATH = os.getenv('GEOS_LIBRARY_PATH')