mirror of
https://github.com/felt/tippecanoe.git
synced 2026-10-02 08:25:40 +02:00
add lambda info
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
*.zip
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# Build the tippecanoe layer (binary)
|
||||||
|
|
||||||
|
1. On an AWS Linux 2 instance or image:
|
||||||
|
|
||||||
|
sudo yum update
|
||||||
|
sudo yum install git clang sqlite-devel zlib-devel
|
||||||
|
|
||||||
|
2. Create a ZIP archive with the `tippecanoe` binary at `bin/tippecanoe` and upload as a Lambda layer
|
||||||
|
3. Copy [lambda_function.py](lambda_function.py) (python 3.9 runtime)
|
||||||
|
4. set the environment variable `OUTPUT_BUCKET` to your output bucket; give lambda IAM role access to input/output buckets
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
import os
|
||||||
|
import json
|
||||||
|
import subprocess
|
||||||
|
import boto3
|
||||||
|
# if the input bucket is publicly readable
|
||||||
|
# from botocore import UNSIGNED
|
||||||
|
# from botocore.config import Config
|
||||||
|
|
||||||
|
def lambda_handler(event, context):
|
||||||
|
bucket = event['Records'][0]['s3']['bucket']['name']
|
||||||
|
key = event['Records'][0]['s3']['object']['key']
|
||||||
|
#s3 = boto3.client('s3',config=Config(signature_version=UNSIGNED))
|
||||||
|
s3 = boto3.client('s3')
|
||||||
|
s3.download_file(bucket,key,'/tmp/input.geojsonseq')
|
||||||
|
p = subprocess.check_call(['tippecanoe','-o','/tmp/output.mbtiles','/tmp/input.geojsonseq','--force'])
|
||||||
|
s3.upload_file('/tmp/output.mbtiles',os.environ['OUTPUT_BUCKET'],key + ".mbtiles")
|
||||||
|
return {
|
||||||
|
'statusCode': 200,
|
||||||
|
'body': json.dumps('Done!')
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
boto3==1.20.32
|
||||||
|
botocore==1.23.32
|
||||||
Reference in New Issue
Block a user