forked from lambci/docker-lambda
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdump-python36.py
More file actions
76 lines (65 loc) · 3.29 KB
/
dump-python36.py
File metadata and controls
76 lines (65 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from __future__ import print_function
import os
import sys
import subprocess
import boto3
from boto3.s3.transfer import S3Transfer
client = boto3.client('s3')
transfer = S3Transfer(client)
def lambda_handler(event, context):
if ('cmd' in event):
return print(subprocess.check_output(['sh', '-c', event['cmd']]))
filename = 'python3.6.tgz'
cmd = 'tar -cpzf /tmp/{} --numeric-owner --ignore-failed-read /var/runtime /var/lang'.format(filename)
subprocess.call(['sh', '-c', cmd])
print('Zipping done! Uploading...')
data = transfer.upload_file('/tmp/' + filename, 'lambci', 'fs/' + filename,
extra_args={'ACL': 'public-read'})
print('Uploading done!')
print(sys.executable)
print(sys.argv)
print(os.getcwd())
print(__file__)
print(os.environ)
print(context.__dict__)
return data
# /var/lang/bin/python3.6
# ['/var/runtime/awslambda/bootstrap.py']
# /var/task
# /var/task/lambda_function.py
# environ({
# 'PATH': '/var/lang/bin:/usr/local/bin:/usr/bin/:/bin',
# 'LANG': 'en_US.UTF-8',
# 'LD_LIBRARY_PATH': '/var/lang/lib:/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib',
# 'LAMBDA_TASK_ROOT': '/var/task',
# 'LAMBDA_RUNTIME_DIR': '/var/runtime',
# 'AWS_REGION': 'us-east-1',
# 'AWS_DEFAULT_REGION': 'us-east-1',
# 'AWS_LAMBDA_LOG_GROUP_NAME': '/aws/lambda/dump-python36',
# 'AWS_LAMBDA_LOG_STREAM_NAME': '2017/04/30/[$LATEST]55cf2f4a9b924101b800f0b9f10ab74c',
# 'AWS_LAMBDA_FUNCTION_NAME': 'dump-python36',
# 'AWS_LAMBDA_FUNCTION_MEMORY_SIZE': '1536',
# 'AWS_LAMBDA_FUNCTION_VERSION': '$LATEST',
# '_AWS_XRAY_DAEMON_ADDRESS': '169.254.79.2',
# '_AWS_XRAY_DAEMON_PORT': '2000',
# 'AWS_XRAY_DAEMON_ADDRESS': '169.254.79.2:2000',
# 'AWS_XRAY_CONTEXT_MISSING': 'LOG_ERROR',
# '_X_AMZN_TRACE_ID': 'Root=1-5905f755-a3ea01f9783851b148e19f51;Parent=6b4656b818d2c094;Sampled=0',
# 'AWS_EXECUTION_ENV': 'AWS_Lambda_python3.6',
# 'PYTHONPATH': '/var/runtime',
# 'AWS_ACCESS_KEY_ID': 'ASIAJDXI4GKGONVRYCJA',
# 'AWS_SECRET_ACCESS_KEY': '0QFwsOM3a2q96n6Ddx6qp/e9qFAMTfRShXp51Rvb',
# 'AWS_SESSION_TOKEN': 'FQoDYXdzEHgaDAdBKrOATj5IDnzbdCLmAYPYsS4f+w9OQMpop0Bam28jBXR5IU0qglCtzh4wzMyWp8xHJTej3JACkO/yYWcooKjGaUJ7OaiZjPT9L2GmC+7zxTS7RpXsHDQGLX4f67TuMZ45DgQu43DyawwUWjQcYqJEr+v9NjpxtqB8h8EmIKNtApvieSLCUjdFVppmva17fm87tj4Ep9P3qHmNWpKyaiTBiIvYU1YASNIzhwa/0XBMynudAQhbqlr8UfmYTjEUZG7CjgCPgICl1LOIqzN8PZ5KFutLq1eBcRFpProhhqt4tNZsED97hoZPxb6aZCs//J5UcaL7KNXul8gF',
# 'AWS_SECURITY_TOKEN': 'FQoDYXdzEHgaDAdBKrOATj5IDnzbdCLmAYPYsS4f+w9OQMpop0Bam28jBXR5IU0qglCtzh4wzMyWp8xHJTej3JACkO/yYWcooKjGaUJ7OaiZjPT9L2GmC+7zxTS7RpXsHDQGLX4f67TuMZ45DgQu43DyawwUWjQcYqJEr+v9NjpxtqB8h8EmIKNtApvieSLCUjdFVppmva17fm87tj4Ep9P3qHmNWpKyaiTBiIvYU1YASNIzhwa/0XBMynudAQhbqlr8UfmYTjEUZG7CjgCPgICl1LOIqzN8PZ5KFutLq1eBcRFpProhhqt4tNZsED97hoZPxb6aZCs//J5UcaL7KNXul8gF'
# })
# {
# 'aws_request_id': '1fcdc383-a9e8-4228-bc1c-8db17629e183',
# 'log_group_name': '/aws/lambda/dump-python36',
# 'log_stream_name': '2017/03/23/[$LATEST]c079a84d433534434534ef0ddc99d00f',
# 'function_name': 'dump-python36',
# 'memory_limit_in_mb': '1536',
# 'function_version': '$LATEST',
# 'invoked_function_arn': 'arn:aws:lambda:us-east-1:879423879432:function:dump-python36',
# 'client_context': None,
# 'identity': <__main__.CognitoIdentity object at 0x7f79c5974eb8>
# }