- unmigrated-wiki-markup
Documentation for Tasks for AWS 2.10 – other releases are available in the Tasks for AWS Documentation Directory.
View
or visit the current documentation home.
Using the AWS Lambda Function task in Bamboo
You can use the AWS Lambda Function task to create, update, delete, invoke or entitle an AWS Lambda function (see Deploying to AWS Lambda for an overview of the Lambda component lifecycle and deployment workflow).
Configuration
To configure an AWS Lambda Function task:
Navigate to the Tasks configuration tab for the job (this will be the default job if creating a new plan).
Click the name of an existing AWS Lambda Function task, or click Add Task and then AWS Lambda Function to create a new task.
Complete the following settings:
Common to all tasks
Actions supported by this task:
Create Function
Publish version
Check to publish a new function version as an atomic operation. Clear to override the $LATEST version.
Function Name
Specify the function name.
Description
(Optional) Specify a function description.
Runtime
Select the runtime environment for the function.
S3 Bucket
Specify the name of the S3 bucket where the deployment package is stored.
S3 Key
Specify the deployment package's S3 object key.
Maximum compressed size allowed is 50 MB.
Maximum uncompressed size allowed is 250 MB.
S3 Object Version
(Optional) Specify the deployment package's S3 object version.
Handler
Specify the function within the code that Lambda calls to begin execution.
Role ARN
Specify the Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it executes the function to access any other Amazon Web Services (AWS) resources.
Memory Size (MB)
Select the amount of memory, in MB, that Lambda allocates to the function.
Correlation between memory allocation and amount of CPU
Lambda uses this memory size to infer the amount of CPU and memory allocated to the function. Your use-case determines your CPU and memory requirements. For example, a database operation might need less memory compared to an image processing function.
Timeout (s)
Select the execution time, in seconds, at which Lambda should terminate the function.
Advanced Options
VPC Configuration
Specify the VPC configuration in JSON format.
Refer to Configuring a Lambda Function to Access Resources in an Amazon VPC for details.
Update Function Code
Publish version
see Create Function above
Function Name
see Create Function above
S3 Bucket
see Create Function above
S3 Key
see Create Function above
S3 Object Version
see Create Function above
Update Function Configuration
Function Name
see Create Function above
Description
see Create Function above
Handler
see Create Function above
Role
see Create Function above
Memory (MB)
see Create Function above
Timeout (s)
see Create Function above
Advanced Options
VPC Configuration
see Create Function above
Delete Function
Don't fail for non existing function
Check to not fail the build, if the function does not exist (anymore). Clear to trigger a build failure otherwise.
Function Name
see Create Function above
Publish Version
You can also publish a version directly with the create/update function actions.
Function Name
see Create Function above
Description
see Create Function above
Code SHA256
(Optional) Specify the SHA256 hash of the deployment package to publish.
Create Alias
Function Name
see Create Function above
Function Version
Specify the function version to create/update the alias for.
Alias Name
Specify the alias name.
Description
see Create Function above
Update Alias
Function Name
see Create Function above
Function Version
see Update Function Alias above
Alias Name
see Update Function Alias above
Description
see Create Function above
Delete Alias
Function Name
see Create Function above
Alias Name
see Update Function Alias above
Add Permission
Function Name
see Create Function above
Statement ID
Specify a unique statement identifier.
Lambda Action
Specify the Lambda action to allow in this statement.
Principal
Specify the principal who is granted this permission.
Source Account
(Optional) Specify the AWS account ID (without a hyphen) of the source owner.
Source ARN
(Optional) Specify the S3 bucket's Amazon Resource Name (ARN) to ensure that only events generated from the specified bucket can invoke the function.
Important
If you add a permission for the Amazon S3 principal without providing the source ARN, any AWS account that creates a mapping to your function ARN can send events to invoke your Lambda function from Amazon S3.
Remove Permission
Function Name
see Create Function above
Statement ID
see Add Permission above
Invoke Function
Function Name
see Create Function above
Payload
(Optional) Specify a JSON payload to provide to the Lambda function as input.
Client Context
(Optional) Specify client-specific JSON information to pass to the Lambda function in the context variable.
Invocation Type
Select the function invocation type.
By default, the
InvokeAPI assumes "RequestResponse" invocation type. You can optionally request asynchronous execution by specifying "Event" as theInvocationType. You can also use this parameter to request AWS Lambda to not execute the function but do some verification, such as if the caller is authorized to invoke the function and if the inputs are validLog Type
(Optional) Select "Tail" to return the last 4 KB of log data produced by your Lambda function.
Don't fail on handled function errors
Check to not fail the build, if an error has been handled by the function. Clear to trigger a build failure otherwise.
Variables
Create Function
Creating common variables for 1 resources affected by task:
... bamboo.custom.aws.lambda.function.resources: arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot
Creating resource variables for function 'arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot':
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot.FunctionArn: arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot.FunctionName: TAWS-IT280-LF1-21-ubot
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot.Description:
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot.Runtime: nodejs
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot.Handler: index.handler
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot.Role: arn:aws:iam::288727192237:role/aws-lambda-basic-execution
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot.MemorySize: 128
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot.Timeout: 2
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot.CodeSize: 499
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot.LastModified: 2015-08-25T17:07:47.960+0000
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-21-ubot.CodeSha256: uZHeTlbOPWHDSnEpKqfPlMvJJL8LLBchpZOFaAohZhg=
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-21-ubot.Version: 1
Creating common variables for first resource affected by task:
Creating resource variables for function 'arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot':
... bamboo.custom.aws.lambda.function.first.FunctionArn: arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot
... bamboo.custom.aws.lambda.function.first.FunctionName: TAWS-IT280-LF1-21-ubot
... bamboo.custom.aws.lambda.function.first.Description:
... bamboo.custom.aws.lambda.function.first.Runtime: nodejs
... bamboo.custom.aws.lambda.function.first.Handler: index.handler
... bamboo.custom.aws.lambda.function.first.Role: arn:aws:iam::288727192237:role/aws-lambda-basic-execution
... bamboo.custom.aws.lambda.function.first.MemorySize: 128
... bamboo.custom.aws.lambda.function.first.Timeout: 2
... bamboo.custom.aws.lambda.function.first.CodeSize: 499
... bamboo.custom.aws.lambda.function.first.LastModified: 2015-08-25T17:07:47.960+0000
... bamboo.custom.aws.lambda.function.first.CodeSha256: uZHeTlbOPWHDSnEpKqfPlMvJJL8LLBchpZOFaAohZhg=
... bamboo.custom.aws.lambda.function.first.Version: 1Update Function Code
See Create Function above.
Update Function Configuration
See Create Function above.
Delete Function
N/A
Publish Version
See Create Function above.
Create Alias
Creating common variables for 1 resources affected by task:
... bamboo.custom.aws.lambda.function.resources: arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-21-ubot:alias-one
Creating resource variables for alias 'arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-31-ubot:alias-one':
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-21-ubot:alias-one.AliasArn: arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-31-ubot:alias-one
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-21-ubot:alias-one.Description: description one
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-21-ubot:alias-one.FunctionVersion: 1
... bamboo.custom.aws.lambda.function.resources.arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-21-ubot:alias-one.Name: alias-one
Creating common variables for first resource affected by task:
Creating resource variables for alias 'arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-31-ubot:alias-one':
... bamboo.custom.aws.lambda.function.first.AliasArn: arn:aws:lambda:us-east-1:288727192237:function:TAWS-IT280-LF2-21-ubot:alias-one
... bamboo.custom.aws.lambda.function.first.Description: description one
... bamboo.custom.aws.lambda.function.first.FunctionVersion: 1
... bamboo.custom.aws.lambda.function.first.Name: alias-oneUpdate Alias
See Create Alias above.
Delete Alias
N/A
Add Permission
Creating add permission result variables for function 'TAWS-IT280-LF1-21-ubot':
... bamboo.custom.aws.lambda.function.policy.Statement: {"Condition":{"ArnLike":{"AWS:SourceArn":"arn:aws:s3:::taws-it280-21-ubot"}},"Action":["lambda:InvokeFunction"],"Resource":"arn:aws:lambda:eu-west-1:288727192237:function:TAWS-IT280-LF1-21-ubot","Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Sid":"TAWS-IT280-LF1-21"}
Remove Permission
N/A
Invoke Function
Creating invocation result variables for function 'TAWS-IT280-LF1-21-ubot':
... bamboo.custom.aws.lambda.function.result.FunctionError: null
... bamboo.custom.aws.lambda.function.result.LogResult: null
... bamboo.custom.aws.lambda.function.result.Payload:
... bamboo. custom.aws.lambda.function.result.StatusCode: 200