SAM CLI 最新版を使って Python 3.14 の Lambda 関数を作成できるか確認してみた

SAM CLI 最新版を使って Python 3.14 の Lambda 関数を作成できるか確認してみた

2025.11.10

いわさです。

AWS のいくつかのツールのアップデートで AWS Lambda の新しいランタイムバージョンがサポートされはじめていることをみなさんご存知ですか。
AWS CLI であれば 2025/11/1 にリリースされた v1.42.64 で、SAM CLI であれば 2025/11/7 にリリースされた v1.146.0 で Python3.14 と Java 25 がサポートされています。
また、AWS CLI であればさらに前の v1.42.58 で Node.js 24.x もサポートされているようです。

https://github.com/aws/aws-cli/commit/1791906144619f744684295bad1afff2707e91ac

https://github.com/aws/aws-sam-cli/releases/tag/v1.146.0

ツールのサポートから数日が経過していますが、本日時点ではどのリージョンでもマネジメントコンソール上は上記バージョンの関数を作成することが出来ません。

0D0D2215-FF4C-42C0-8A9A-67AAC305359D.png

まぁ待つかぁと思っていたのですが先日 Python 3.14 の Lambda 関数をちょっと試したい状況があって、これらのツールを使いマネジメントコンソールより先行して最新バージョンをデプロイできるか試す機会がありました。
結果としてデプロイできるのですが、その様子を紹介します。

デプロイ

まずは SAM CLI を最新版の v1.146.0 にアップデートしておきます。

% sam --version                                                            
SAM CLI, version 1.146.0

sam initで関数テンプレートを確認してみましょう。v1.146.0 から Python 3.14 や Java 25 が追加されているはず...。

% sam init -a arm64            
Which template source would you like to use?
        1 - AWS Quick Start Templates
        2 - Custom Template Location
Choice: 1

Choose an AWS Quick Start application template
        1 - Hello World Example
        2 - Data processing
        3 - Hello World Example with Powertools for AWS Lambda
        4 - Multi-step workflow
        5 - Scheduled task
        6 - Standalone function
        7 - Serverless API
        8 - Infrastructure event management
        9 - Lambda Response Streaming
        10 - GraphQLApi Hello World Example
        11 - Full Stack
        12 - Lambda EFS example
        13 - Serverless Connector Hello World Example
        14 - Multi-step workflow with Connectors
        15 - DynamoDB Example
        16 - Machine Learning
Template: 1

Use the most popular runtime and package type? (python3.14 and zip) [y/N]: 

Which runtime would you like to use?
        1 - dotnet8
        2 - dotnet6
        3 - go (provided.al2)
        4 - go (provided.al2023)
        5 - graalvm.java11 (provided.al2)
        6 - graalvm.java17 (provided.al2)
        7 - java25
        8 - java21
        9 - java17
        10 - java11
        11 - java8.al2
        12 - nodejs22.x
        13 - nodejs20.x
        14 - python3.9
        15 - python3.14
        16 - python3.13
        17 - python3.12
        18 - python3.11
        19 - python3.10
        20 - ruby3.4
        21 - ruby3.3
        22 - ruby3.2
        23 - rust (provided.al2)
        24 - rust (provided.al2023)
Runtime: 

ありましたね!ただし、Node.js 24.x はまだ追加されていないです。
AWS CLI からも試してみたのですが、Node.js 24.x はまだ指定してもエラーになるのですよね。よくわからない。
今回は Apple silicon な macOS から開発するので-a arm64を指定してsam initしています。

上記の中で15 - python3.14を指定しビルドしてみましょう。いけるか...

% sam build
Starting Build use cache                                                                                                                                                                  
Manifest file is changed (new hash: 3298f13049d19cffaa37ca931dd4d421) or dependency folder (.aws-sam/deps/603a0952-09ac-4ae1-876f-88e8607a392a) is missing for (HelloWorldFunction),      
downloading dependencies and copying/building source                                                                                                                                      
Building codeuri: /Users/iwasa.takahito/work/hoge1110sam/hoge1110sam3/hello_world runtime: python3.14 architecture: arm64 functions: HelloWorldFunction                                   

Build Failed
Error: PythonPipBuilder:Validation - Binary validation failed for python, searched for python in following locations  : ['/Users/iwasa.takahito/.pyenv/shims/python', '/Users/iwasa.takahito/.pyenv/shims/python3', '/opt/homebrew/bin/python3', '/usr/bin/python3'] which did not satisfy constraints for runtime: python3.14. Do you have python for runtime: python3.14 on your PATH?
% sam build --use-container         
Starting Build use cache                                                                                                                                                                  
Starting Build inside a container                                                                                                                                                         
Cache is invalid, running build and copying resources for following functions (HelloWorldFunction)                                                                                        
Building codeuri: /Users/iwasa.takahito/work/hoge1110sam/hoge1110sam3/hello_world runtime: python3.14 architecture: arm64 functions: HelloWorldFunction                                   

Fetching public.ecr.aws/sam/build-python3.14:latest-arm64 Docker container image............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Mounting /Users/iwasa.takahito/work/hoge1110sam/hoge1110sam3/hello_world as /tmp/samcli/source:ro,delegated, inside runtime container                                                     
SAM_CONTAINER_ID: 48b6fb9dfaef958e84b12ea5b05cd58f0f24522fddee276ca7c7853361efbedd                                                                                                        
 Running PythonPipBuilder:ResolveDependencies
 Running PythonPipBuilder:CopySource

Build Succeeded

Built Artifacts  : .aws-sam/build
Built Template   : .aws-sam/build/template.yaml

Commands you can use next
=========================
[*] Validate SAM template: sam validate
[*] Invoke Function: sam local invoke
[*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch
[*] Deploy: sam deploy --guided

まぁここはいけましたね。私のローカル環境に 3.14 がなかったみたいなのでビルドにコンテナを使いました。
最後、デプロイしてみましょう。ここでエラーが出る可能性もあるのだが。

% sam deploy

        Managed S3 bucket: aws-sam-cli-managed-default-samclisourcebucket-b2ke18r5t3j
        Auto resolution of buckets can be turned off by setting resolve_s3=False
        To use a specific S3 bucket, set --s3-bucket=<bucket_name>
        Above settings can be stored in samconfig.toml
        Uploading to 5655fb5f6a41412161eea934c7b036a3  576907 / 576907  (100.00%)

        Deploying with following values
        ===============================
        Stack name                   : hoge1110sam3
        Region                       : ap-northeast-1
        Confirm changeset            : True
        Disable rollback             : False
        Deployment s3 bucket         : aws-sam-cli-managed-default-samclisourcebucket-b2ke18r5t3j
        Capabilities                 : ["CAPABILITY_IAM"]
        Parameter overrides          : {}
        Signing Profiles             : {}

Initiating deployment
=====================

        Uploading to 94b454e8d7e3c40d36e485ed6fd5a317.template  1184 / 1184  (100.00%)

Waiting for changeset to be created..

CloudFormation stack changeset
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Operation                                     LogicalResourceId                             ResourceType                                  Replacement                                 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ Add                                         HelloWorldFunctionHelloWorldPermissionProd    AWS::Lambda::Permission                       N/A                                         
+ Add                                         HelloWorldFunctionRole                        AWS::IAM::Role                                N/A                                         
+ Add                                         HelloWorldFunction                            AWS::Lambda::Function                         N/A                                         
+ Add                                         ServerlessRestApiDeployment47fc2d5f9d         AWS::ApiGateway::Deployment                   N/A                                         
+ Add                                         ServerlessRestApiProdStage                    AWS::ApiGateway::Stage                        N/A                                         
+ Add                                         ServerlessRestApi                             AWS::ApiGateway::RestApi                      N/A                                         
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Changeset created successfully. arn:aws:cloudformation:ap-northeast-1:123456789012:changeSet/samcli-deploy1762720806/5acc96c8-3dbb-4ed2-96ea-f48393ca8e4f

Previewing CloudFormation changeset before deployment
======================================================
Deploy this changeset? [y/N]: y

2025-11-10 05:40:15 - Waiting for stack create/update to complete

CloudFormation events from stack operations (refresh every 5.0 seconds)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ResourceStatus                                ResourceType                                  LogicalResourceId                             ResourceStatusReason                        
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE_IN_PROGRESS                            AWS::CloudFormation::Stack                    hoge1110sam3                                  User Initiated                              
CREATE_IN_PROGRESS                            AWS::IAM::Role                                HelloWorldFunctionRole                        -                                           
CREATE_IN_PROGRESS                            AWS::IAM::Role                                HelloWorldFunctionRole                        Resource creation Initiated                 
CREATE_COMPLETE                               AWS::IAM::Role                                HelloWorldFunctionRole                        -                                           
CREATE_IN_PROGRESS                            AWS::Lambda::Function                         HelloWorldFunction                            -                                           
CREATE_IN_PROGRESS                            AWS::Lambda::Function                         HelloWorldFunction                            Resource creation Initiated                 
CREATE_IN_PROGRESS - CONFIGURATION_COMPLETE   AWS::Lambda::Function                         HelloWorldFunction                            Eventual consistency check initiated        
CREATE_IN_PROGRESS                            AWS::ApiGateway::RestApi                      ServerlessRestApi                             -                                           
CREATE_IN_PROGRESS                            AWS::ApiGateway::RestApi                      ServerlessRestApi                             Resource creation Initiated                 
CREATE_COMPLETE                               AWS::ApiGateway::RestApi                      ServerlessRestApi                             -                                           
CREATE_IN_PROGRESS                            AWS::ApiGateway::Deployment                   ServerlessRestApiDeployment47fc2d5f9d         -                                           
CREATE_IN_PROGRESS                            AWS::Lambda::Permission                       HelloWorldFunctionHelloWorldPermissionProd    -                                           
CREATE_COMPLETE                               AWS::Lambda::Function                         HelloWorldFunction                            -                                           
CREATE_IN_PROGRESS                            AWS::Lambda::Permission                       HelloWorldFunctionHelloWorldPermissionProd    Resource creation Initiated                 
CREATE_IN_PROGRESS                            AWS::ApiGateway::Deployment                   ServerlessRestApiDeployment47fc2d5f9d         Resource creation Initiated                 
CREATE_COMPLETE                               AWS::Lambda::Permission                       HelloWorldFunctionHelloWorldPermissionProd    -                                           
CREATE_COMPLETE                               AWS::ApiGateway::Deployment                   ServerlessRestApiDeployment47fc2d5f9d         -                                           
CREATE_IN_PROGRESS                            AWS::ApiGateway::Stage                        ServerlessRestApiProdStage                    -                                           
CREATE_IN_PROGRESS                            AWS::ApiGateway::Stage                        ServerlessRestApiProdStage                    Resource creation Initiated                 
CREATE_COMPLETE                               AWS::ApiGateway::Stage                        ServerlessRestApiProdStage                    -                                           
CREATE_COMPLETE                               AWS::CloudFormation::Stack                    hoge1110sam3                                  -                                           
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CloudFormation outputs from deployed stack
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Outputs                                                                                                                                                                               
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key                 HelloWorldFunctionIamRole                                                                                                                                         
Description         Implicit IAM Role created for Hello World function                                                                                                                
Value               arn:aws:iam::123456789012:role/hoge1110sam3-HelloWorldFunctionRole-R1v8bAjduRQu                                                                                   

Key                 HelloWorldApi                                                                                                                                                     
Description         API Gateway endpoint URL for Prod stage for Hello World function                                                                                                  
Value               https://plvhb0312i.execute-api.ap-northeast-1.amazonaws.com/Prod/hello/                                                                                           

Key                 HelloWorldFunction                                                                                                                                                
Description         Hello World Lambda Function ARN                                                                                                                                   
Value               arn:aws:lambda:ap-northeast-1:123456789012:function:hoge1110sam3-HelloWorldFunction-jHt1uWi5euLP                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Successfully created/updated stack - hoge1110sam3 in ap-northeast-1

おお、普通にデプロイできましたね。
マネジメントコンソール上はどのように表示されるのだろう。

9621F242-FE24-49A0-AAF6-C265344A8278.png

Python 3.14 と表示されています!実行も問題なく出来ました。普通にサポートされている感じですね。

image.png

ただし、ランタイム設定の編集画面を見てみるとまだ Python 3.14 を選択することは出来ません。最新は 3.13 になっています。

FAEFD249-AEA1-4C0D-955B-18F943ED85CA.png

AWS CLI や SAM CLI であればランタイムバージョンの変更も出来そうですね。

さいごに

本日は SAM CLI 最新版を使って Python 3.14 の Lambda 関数を作成できるか確認してみました。

マネジメントコンソール上ではまだ操作できないのですが、AWS CLI や SAM CLI のリリースノートのとおりで AWS Lambda としてはもうデプロイして実行まで出来るみたいです。
おそらく数日でマネジメントコンソール上も選択できるようになるはずですが、Java や Node.js、Python と最新バージョンが一気に使えるようになりそうですね。

この記事をシェアする

FacebookHatena blogX

関連記事