Given a bucket and key (or a local path) of a valid Lambda-zip, a function name and a handler, register that Lambda function.
(
self,
bucket=None,
function_name=None,
handler=None,
s3_key=None,
description="Zappa Deployment",
timeout=30,
memory_size=512,
ephemeral_storage={"Size": 512},
publish=True,
vpc_config=None,
dead_letter_config=None,
efs_config=None,
runtime="python3.13",
aws_environment_variables=None,
aws_kms_key_arn=None,
snap_start=None,
xray_tracing=False,
local_zip=None,
use_alb=False,
layers=None,
concurrency=None,
docker_image_uri=None,
)
| 1168 | ## |
| 1169 | |
| 1170 | def create_lambda_function( |
| 1171 | self, |
| 1172 | bucket=None, |
| 1173 | function_name=None, |
| 1174 | handler=None, |
| 1175 | s3_key=None, |
| 1176 | description="Zappa Deployment", |
| 1177 | timeout=30, |
| 1178 | memory_size=512, |
| 1179 | ephemeral_storage={"Size": 512}, |
| 1180 | publish=True, |
| 1181 | vpc_config=None, |
| 1182 | dead_letter_config=None, |
| 1183 | efs_config=None, |
| 1184 | runtime="python3.13", |
| 1185 | aws_environment_variables=None, |
| 1186 | aws_kms_key_arn=None, |
| 1187 | snap_start=None, |
| 1188 | xray_tracing=False, |
| 1189 | local_zip=None, |
| 1190 | use_alb=False, |
| 1191 | layers=None, |
| 1192 | concurrency=None, |
| 1193 | docker_image_uri=None, |
| 1194 | ): |
| 1195 | """ |
| 1196 | Given a bucket and key (or a local path) of a valid Lambda-zip, |
| 1197 | a function name and a handler, register that Lambda function. |
| 1198 | """ |
| 1199 | if not vpc_config: |
| 1200 | vpc_config = {} |
| 1201 | if not dead_letter_config: |
| 1202 | dead_letter_config = {} |
| 1203 | if not efs_config: |
| 1204 | efs_config = [] |
| 1205 | if not self.credentials_arn: |
| 1206 | self.get_credentials_arn() |
| 1207 | if not aws_environment_variables: |
| 1208 | aws_environment_variables = {} |
| 1209 | if not aws_kms_key_arn: |
| 1210 | aws_kms_key_arn = "" |
| 1211 | if not layers: |
| 1212 | layers = [] |
| 1213 | |
| 1214 | kwargs = dict( |
| 1215 | FunctionName=function_name, |
| 1216 | Role=self.credentials_arn, |
| 1217 | Description=description, |
| 1218 | Timeout=timeout, |
| 1219 | MemorySize=memory_size, |
| 1220 | EphemeralStorage=ephemeral_storage, |
| 1221 | Publish=publish, |
| 1222 | VpcConfig=vpc_config, |
| 1223 | DeadLetterConfig=dead_letter_config, |
| 1224 | FileSystemConfigs=efs_config, |
| 1225 | Environment={"Variables": aws_environment_variables}, |
| 1226 | KMSKeyArn=aws_kms_key_arn, |
| 1227 | TracingConfig={"Mode": "Active" if self.xray_tracing else "PassThrough"}, |