AWS lambda documentation change
Summary
Restructured documentation sections and added container image deployment instructions for durable functions
Security assessment
Changes focus on deployment methods and infrastructure-as-code patterns. While IAM policies are mentioned, these are standard references rather than new security documentation. No evidence of vulnerability remediation or security feature introduction.
Diff
diff --git a/lambda/latest/dg/durable-getting-started-iac.md b/lambda/latest/dg/durable-getting-started-iac.md index 0a2b347d9..a45bd7b59 100644 --- a//lambda/latest/dg/durable-getting-started-iac.md +++ b//lambda/latest/dg/durable-getting-started-iac.md @@ -5 +5 @@ -AWS CloudFormationAWS CDKAWS Serverless Application ModelTerraformCommon configuration patternsNext steps +Durable functions from a ZIPDurable functions from an OCI container imageCommon configuration patternsNext steps @@ -22 +22,3 @@ All three tools require you to: -## AWS CloudFormation +## Durable functions from a ZIP + +### AWS CloudFormation @@ -90 +92 @@ Use CloudFormation to define your durable function in a template. The following -## AWS CDK +### AWS CDK @@ -182 +184 @@ Python -## AWS Serverless Application Model +### AWS Serverless Application Model @@ -220 +222 @@ AWS SAM simplifies CloudFormation templates for serverless applications. The fol -## Terraform +### Terraform @@ -304,0 +307,90 @@ Terraform support for Lambda durable functions requires AWS provider version 6.2 +## Durable functions from an OCI container image + +You can also create Durable functions based off of container images. For instructions on how to build a container image, see [Supported runtimes for durable functions](./durable-supported-runtimes.html). + +### AWS CDK + +AWS CDK lets you define infrastructure using programming languages. The following examples show how to create a durable function using TypeScript from a container image. + + + import * as cdk from 'aws-cdk-lib'; + import * as lambda from 'aws-cdk-lib/aws-lambda'; + import * as iam from 'aws-cdk-lib/aws-iam'; + import { Construct } from 'constructs'; + + export class DurableFunctionStack extends cdk.Stack { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { + super(scope, id, props); + + // Create the durable function + const durableFunction = new lambda.DockerImageFunction(this, 'DurableFunction', { + code: lambda.DockerImageCode.fromImageAsset('./lambda', { + platform: cdk.aws_ecr_assets.Platform.LINUX_AMD64, + }), + functionName: 'myDurableFunction', + memorySize: 512, + timeout: cdk.Duration.seconds(30), + durableConfig: { executionTimeout: cdk.Duration.hours(1), retentionPeriod: cdk.Duration.days(30) }, + }); + + // Create version and alias + const version = durableFunction.currentVersion; + const alias = new lambda.Alias(this, 'ProdAlias', { + aliasName: 'prod', + version: version, + }); + + // Output the alias ARN + new cdk.CfnOutput(this, 'FunctionAliasArn', { + value: alias.functionArn, + description: 'Use this ARN to invoke the durable function', + }); + } + } + +**To deploy the CDK stack** + + + cdk deploy + +### AWS Serverless Application Model + +AWS SAM simplifies CloudFormation templates for serverless applications. The following template creates a durable function with AWS SAM. + + + AWSTemplateFormatVersion: '2010-09-09' + Transform: AWS::Serverless-2016-10-31 + Description: Lambda durable function with SAM + + Resources: + DurableFunction: + Type: AWS::Serverless::Function + Properties: + FunctionName: myDurableFunction + PackageType: Image + ImageUri: ./src + DurableConfig: + ExecutionTimeout: 3600 + RetentionPeriodInDays: 7 + Policies: + - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicDurableExecutionRolePolicy + AutoPublishAlias: prod + Metadata: + DockerTag: latest + DockerContext: ./src + Dockerfile: Dockerfile + + Outputs: + FunctionArn: + Description: Durable function ARN + Value: !GetAtt DurableFunction.Arn + AliasArn: + Description: Function alias ARN (use this for invocations) + Value: !Ref DurableFunction.Alias + +**To deploy the SAM template** + + + sam build + sam deploy --guided +