Lambda Utilities¶
This module contains helper methods related to Lambda.
- class sagemaker.lambda_helper.Lambda(function_arn=None, function_name=None, execution_role_arn=None, zipped_code_dir=None, s3_bucket=None, script=None, handler=None, session=None, timeout=120, memory_size=128, runtime='python3.8', vpc_config=None, environment=None, layers=None)¶
Bases:
object
Contains lambda boto3 wrappers to Create, Update, Delete and Invoke Lambda functions.
Constructs a Lambda instance.
This instance represents a Lambda function and provides methods for updating, deleting and invoking the function.
This class can be used either for creating a new Lambda function or using an existing one. When using an existing Lambda function, only the function_arn argument is required. When creating a new one the function_name, execution_role_arn and handler arguments are required, as well as either script or zipped_code_dir.
- Parameters
function_arn (str) – The arn of the Lambda function.
function_name (str) – The name of the Lambda function. Function name must be provided to create a Lambda function.
execution_role_arn (str) – The role to be attached to Lambda function.
zipped_code_dir (str) – The path of the zipped code package of the Lambda function.
s3_bucket (str) – The bucket where zipped code is uploaded. If not provided, default session bucket is used to upload zipped_code_dir.
script (str) – The path of Lambda function script for direct zipped upload
handler (str) – The Lambda handler. The format for handler should be file_name.function_name. For ex: if the name of the Lambda script is hello_world.py and Lambda function definition in that script is lambda_handler(event, context), the handler should be hello_world.lambda_handler
session (sagemaker.session.Session) – Session object which manages interactions with Amazon SageMaker APIs and any other AWS services needed. If not specified, new session is created.
timeout (int) – Timeout of the Lambda function in seconds. Default is 120 seconds.
memory_size (int) – Memory of the Lambda function in megabytes. Default is 128 MB.
runtime (str) – Runtime of the Lambda function. Default is set to python3.8.
vpc_config (dict) – VPC to deploy the Lambda function to. Default is None.
environment (dict) – Environment Variables for the Lambda function. Default is None.
layers (list) – List of Lambda layers for the Lambda function. Default is None.
- create()¶
Method to create a lambda function.
Returns: boto3 response from Lambda’s create_function method.
- update()¶
Method to update a lambda function.
Returns: boto3 response from Lambda’s update_function method.
- upsert()¶
Method to create a lambda function or update it if it already exists
Returns: boto3 response from Lambda’s methods.
- invoke()¶
Method to invoke a lambda function.
Returns: boto3 response from Lambda’s invoke method.
- delete()¶
Method to delete a lambda function.
Returns: boto3 response from Lambda’s delete_function method.