Skip to main content

AWS SAM transform

Tests Update schema PyPI PyPI - Python Version Contribute with Gitpod

The AWS Serverless Application Model (AWS SAM) transform is a AWS CloudFormation macro that transforms SAM templates into CloudFormation templates.

To use the SAM transform, add AWS::Serverless-2016-10-31 to the Transform section of your CloudFormation template.

Benefits of using the SAM transform include:

  • Built-in best practices and sane defaults.
  • Local testing and debugging with the AWS SAM CLI.
  • Extension of the CloudFormation template syntax.

Getting started

Save the following as template.yaml:

Transform: AWS::Serverless-2016-10-31
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs24.x
      Handler: index.handler
      InlineCode: |
        exports.handler = async (event) => {
          console.log(event);
        }

And deploy it with the SAM CLI:

sam sync --stack-name sam-app

The AWS::Serverless::Function resource will create a AWS Lambda function that logs events it receives.

Under the hood, the template is transformed into the JSON equivalent of the following CloudFormation template:

Resources:
  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      Code:
        ZipFile: |
          exports.handler = async (event) => {
            console.log(event);
          }
      Handler: index.handler
      Role: !GetAtt MyFunctionRole.Arn
      Runtime: nodejs24.x
      Tags:
        - Key: lambda:createdBy
          Value: SAM
  MyFunctionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Action:
              - sts:AssumeRole
            Effect: Allow
            Principal:
              Service:
                - lambda.amazonaws.com
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
      Tags:
        - Key: lambda:createdBy
          Value: SAM

For a more thorough introduction, see the this tutorial in the Developer Guide.

Contributing

Setting up development environment

You'll need to have Python 3.8+ installed.

Create a virtual environment:

python3 -m venv .venv
source .venv/bin/activate

Set up dependencies:

make init

Run tests:

make pr

See DEVELOPMENT_GUIDE.md for further development instructions, and CONTRIBUTING.md for the contributing guidelines.

Getting help

The best way to interact with the team is through GitHub. You can either create an issue or start a discussion.

You can also join the #samdev channel on Slack.

Learn more

Workshops and tutorials

Documentation

Metadata

Release files for aws-sam-translator 1.114.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aws-sam-translator 1.114.0
File Size Uploaded
aws_sam_translator-1.114.0.tar.gz 380.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aws-sam-translator 1.114.0
File Interpreter ABI Platform
aws_sam_translator-1.114.0-py3-none-any.whl Python 3 none any Details

Total release size: 826.5 kB

Release files / aws_sam_translator-1.114.0.tar.gz

Download URL aws_sam_translator-1.114.0.tar.gz
Size 380.1 kB
Tags Source
SHA-256 checksum
How to use checksums
680b24eae8fbd56ac1e013b8e9baf5a9bfff14cc2f96f5a7d8158b774bb5080b
BLAKE2b-256 checksum
How to use checksums
248406ffa6d6cc658f4b4b205f9482d2d8e68a9c6de7cacdeebbad17cd0ecd2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / aws_sam_translator-1.114.0-py3-none-any.whl

Download URL aws_sam_translator-1.114.0-py3-none-any.whl
Size 446.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eac35ade93304c7bfac53bef087b252dce9df6c67b960449a2eb307fb81d5e19
BLAKE2b-256 checksum
How to use checksums
2cd861f17530b838678cfe6e05651c8e6d5b675121c1f19d797180f22986748d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

1.114.0 This release

2 release files

1.99.0

2 release files

1.97.0

2 release files

1.95.0

2 release files

1.94.0

2 release files

1.93.0

2 release files

1.91.0

2 release files

1.90.0

2 release files

1.89.0

2 release files

1.85.0

2 release files

1.81.0

2 release files

1.80.0

2 release files

1.79.0

2 release files

1.78.0

2 release files

1.76.0

2 release files

1.75.0

2 release files

1.74.0

2 release files

1.73.0

2 release files

1.72.0

2 release files

1.70.0

2 release files

1.69.0

2 release files

1.68.0

2 release files

1.67.0

2 release files

1.66.0

2 release files

1.65.0

2 release files

1.63.0

2 release files

1.62.0

2 release files

1.61.0

2 release files

1.60.1

2 release files

1.60.0

2 release files

1.58.1

3 release files

1.58.0

3 release files

1.57.0

3 release files

1.55.0

3 release files

1.54.0

3 release files

1.53.0

3 release files

1.51.0

3 release files

1.50.0

3 release files

1.48.0

3 release files

1.47.0

3 release files

1.44.0

3 release files

1.43.0

3 release files

1.42.0

3 release files

1.39.0

3 release files

1.38.0

3 release files

1.36.0

3 release files

1.35.0

3 release files

1.34.0

3 release files

1.33.0

3 release files

1.31.0

3 release files

1.30.1

3 release files

1.30.0

3 release files

1.28.1

3 release files

1.27.0

3 release files

1.26.0

3 release files

1.25.0

3 release files

1.24.0

3 release files

1.22.0

1 release file

1.21.0

1 release file

1.20.1

1 release file

1.20.0

1 release file

1.19.1

1 release file

1.19.0

1 release file

1.18.0

1 release file

1.17.0

1 release file

1.16.0

1 release file

1.15.1

1 release file

1.15.0

1 release file

1.14.0

1 release file

1.13.2

1 release file

1.13.1

1 release file

1.13.0

1 release file

1.12.0

1 release file

1.11.0

1 release file

1.10.0

1 release file

1.9.1

1 release file

1.9.0

1 release file

1.8.0

1 release file

1.7.0

1 release file

1.6.1

1 release file

1.6.0

1 release file

1.5.4

1 release file

1.5.3

1 release file

1.5.2

1 release file

1.5.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page