SAM CLI 最新版を使って Python 3.14 の Lambda 関数を作成できるか確認してみた
いわさです。
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 もサポートされているようです。
ツールのサポートから数日が経過していますが、本日時点ではどのリージョンでもマネジメントコンソール上は上記バージョンの関数を作成することが出来ません。

まぁ待つかぁと思っていたのですが先日 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
おお、普通にデプロイできましたね。
マネジメントコンソール上はどのように表示されるのだろう。

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

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

AWS CLI や SAM CLI であればランタイムバージョンの変更も出来そうですね。
さいごに
本日は SAM CLI 最新版を使って Python 3.14 の Lambda 関数を作成できるか確認してみました。
マネジメントコンソール上ではまだ操作できないのですが、AWS CLI や SAM CLI のリリースノートのとおりで AWS Lambda としてはもうデプロイして実行まで出来るみたいです。
おそらく数日でマネジメントコンソール上も選択できるようになるはずですが、Java や Node.js、Python と最新バージョンが一気に使えるようになりそうですね。






