mirror of
https://github.com/mapbox/tippecanoe.git
synced 2025-04-09 20:11:14 +00:00
add lambda info
This commit is contained in:
parent
d04bd09d11
commit
9875ae97a8
1
lambda/.gitignore
vendored
Normal file
1
lambda/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.zip
|
10
lambda/README.md
Normal file
10
lambda/README.md
Normal file
@ -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
|
20
lambda/lambda_function.py
Normal file
20
lambda/lambda_function.py
Normal file
@ -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!')
|
||||
}
|
2
lambda/requirements.txt
Normal file
2
lambda/requirements.txt
Normal file
@ -0,0 +1,2 @@
|
||||
boto3==1.20.32
|
||||
botocore==1.23.32
|
Loading…
x
Reference in New Issue
Block a user