UpdateFunctionConfiguration
Lambda 関数のバージョン固有の設定を変更します。
関数を更新すると、Lambda はその関数のインスタンスとそのサポートリソースをプロビジョニングします。関数を VPC に接続する際、このプロセスには 1 分かかることがあります。この間、関数を変更することはできませんが、呼び出すことはできます。GetFunctionConfiguration からのレスポンスの LastUpdateStatus
、LastUpdateStatusReason
、LastUpdateStatusReasonCode
フィールドは、更新が完了し、関数が新しい設定でイベントを処理していることを示します。詳細については、「Lambda 関数の状態」を参照してください。
これらの設定は、関数のバージョン間で異なる可能性があり、バージョンを公開するとロックされます。公開バージョンの設定を変更することはできません。未公開バージョンのみです。
関数の同時実行を設定するには、PutFunctionConcurrency を使用します。AWS アカウントまたは AWS のサービスに呼び出し許可を付与するには、AddPermission を使用します。
リクエストの構文
PUT /2015-03-31/functions/FunctionName
/configuration HTTP/1.1
Content-type: application/json
{
"DeadLetterConfig": {
"TargetArn": "string
"
},
"Description": "string
",
"Environment": {
"Variables": {
"string
" : "string
"
}
},
"EphemeralStorage": {
"Size": number
},
"FileSystemConfigs": [
{
"Arn": "string
",
"LocalMountPath": "string
"
}
],
"Handler": "string
",
"ImageConfig": {
"Command": [ "string
" ],
"EntryPoint": [ "string
" ],
"WorkingDirectory": "string
"
},
"KMSKeyArn": "string
",
"Layers": [ "string
" ],
"LoggingConfig": {
"ApplicationLogLevel": "string
",
"LogFormat": "string
",
"LogGroup": "string
",
"SystemLogLevel": "string
"
},
"MemorySize": number
,
"RevisionId": "string
",
"Role": "string
",
"Runtime": "string
",
"SnapStart": {
"ApplyOn": "string
"
},
"Timeout": number
,
"TracingConfig": {
"Mode": "string
"
},
"VpcConfig": {
"Ipv6AllowedForDualStack": boolean
,
"SecurityGroupIds": [ "string
" ],
"SubnetIds": [ "string
" ]
}
}
URI リクエストパラメータ
リクエストでは、次の URI パラメータを使用します。
- FunctionName
-
Lambda 関数の名前
名前の形式
-
関数名 –
my-function
。 -
関数 ARN –
arn:aws:lambda:us-west-2:123456789012:function:my-function
。 -
部分的な ARN –
123456789012:function:my-function
。
完全な ARN にのみ適用される長さの制限 関数名のみを指定する場合、64 文字の長さに制限されます。
長さの制限: 最小長は 1 です。最大長は 140 です。
Pattern:
(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
必須: はい
-
リクエストボディ
リクエストは以下の JSON 形式のデータを受け入れます。
- DeadLetterConfig
-
処理に失敗したときに Lambda が非同期イベントを送信するキューまたはトピックを指定する、デッドレターキュー設定です。詳細については、「デッドレターキュー」を参照してください。
型: DeadLetterConfig オブジェクト
必須: いいえ
- Description
-
関数の説明
型: 文字列
長さの制限: 最小長は 0 です。最大長は 256 です。
必須: いいえ
- Environment
-
実行中に関数コードからアクセス可能な環境変数
型: Environment オブジェクト
必須: いいえ
- EphemeralStorage
-
関数の
/tmp
ディレクトリのサイズ (MB 単位) です。デフォルト値は 512 ですが、512 から 10,240 MB の範囲内で任意の整数を指定できます。詳細については、「エフェメラルストレージの設定 (コンソール)」を参照してください。型: EphemeralStorage オブジェクト
必須: いいえ
- FileSystemConfigs
-
Amazon EFS ファイルシステムの接続設定
型: FileSystemConfig オブジェクトの配列
配列メンバー: 最大数は 1 項目です。
必須: いいえ
- Handler
-
関数を実行するために Lambda が呼び出すコード内のメソッドの名前です。デプロイパッケージが .zip ファイルアーカイブの場合は、ハンドラーが必要です。形式にはファイル名を含めます。ランタイムに応じて、名前空間や他の修飾子を含めることもできます。詳細については、「Lambda プログラミングモデル」を参照してください。
型: 文字列
長さの制限:最大長は 128 です。
パターン:
[^\s]+
必須: いいえ
- ImageConfig
-
コンテナイメージ Docker ファイル の値を上書きするコンテナイメージ設定値。
型: ImageConfig オブジェクト
必須: いいえ
- KMSKeyArn
-
関数の環境変数を暗号化するために使用される、AWS Key Management Service (AWS KMS) カスタマーマネージドキーの ARN です。Lambda SnapStart を有効にすると、Lambda はこのキーを関数のスナップショットの暗号化にも使用します。コンテナイメージを使用して関数をデプロイする場合、Lambda はデプロイ時にこのキーを使用して関数を暗号化します。これは、Amazon Elastic Container Registry (Amazon ECR) でコンテナイメージを保護するために使用されるキーと同じキーではないことに注意してください。カスタマーマネージドキーを提供しない場合、Lambda はデフォルトのサービスキーを使用します。
型: 文字列
パターン:
(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()
必須: いいえ
- Layers
-
関数の実行環境に追加する関数レイヤーのリストです。その ARN ごとに各レイヤーを指定します (バージョンも含めます)。
型: 文字列の配列
長さの制限: 最小長は 1 です。最大長は 140 です。
パターン:
arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+
必須: いいえ
- LoggingConfig
-
関数の Amazon CloudWatch Logs 構成の設定。
型: LoggingConfig オブジェクト
必須: いいえ
- MemorySize
-
ランタイム時に関数で使用できるメモリの量です。関数のメモリを増やすと、関数の CPU 割り当ても増えます。デフォルト値は 128 MB です。値には、1 MB の任意の倍数を指定できます。
型: 整数
値の範囲: 最小値 は 128 です。最大値は 10,240 です。
必須: いいえ
- RevisionId
-
リビジョン ID が指定された ID と一致する場合にのみ、関数を更新します。このオプションを使用して最後に読み取りを行った後に変更した関数を、変更しないようにします。
型: 文字列
必須: いいえ
- Role
-
関数の実行ロールの Amazon リソースネーム (ARN)
型: 文字列
パターン:
arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+
必須: いいえ
- Runtime
-
関数のランタイムの識別子 デプロイパッケージが .zip ファイルアーカイブの場合は、ランタイムが必要です。
以下のリストには、廃止されたランタイムが含まれています。詳細については、「廃止されたランタイムでのポリシー」を参照してください。
型: 文字列
有効な値:
nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | nodejs10.x | nodejs12.x | nodejs14.x | nodejs16.x | java8 | java8.al2 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | python3.9 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | dotnetcore3.1 | dotnet6 | nodejs4.3-edge | go1.x | ruby2.5 | ruby2.7 | provided | provided.al2 | nodejs18.x | python3.10 | java17 | ruby3.2 | python3.11 | nodejs20.x | provided.al2023 | python3.12 | java21
必須:いいえ
- SnapStart
-
関数の SnapStart 設定です。
型: SnapStart オブジェクト
必須: いいえ
- Timeout
-
Lambda が関数を停止するまでに関数に許可する実行時間 (秒)。デフォルト値は 3 秒です。最大許容値は 900 秒です。詳細については、「Lambda 実行環境」を参照してください。
型: 整数
有効な範囲: 最小値 は 1 です。
必須: いいえ
- TracingConfig
-
Mode
をActive
に設定し、X-Ray で着信リクエストのサブセットをサンプリングおよびトレースします。型: TracingConfig オブジェクト
必須: いいえ
- VpcConfig
-
VPC の AWS リソースへのネットワーク接続の場合は、VPC のセキュリティグループとサブネットのリストを指定します。関数を VPC に接続すると、関数はその VPC 経由でしかリソースとインターネットにアクセスできません。詳細については、「VPC 内のリソースにアクセスするように Lambda 関数を設定する」を参照してください。
型: VpcConfig オブジェクト
必須: いいえ
レスポンスの構文
HTTP/1.1 200
Content-type: application/json
{
"Architectures": [ "string" ],
"CodeSha256": "string",
"CodeSize": number,
"DeadLetterConfig": {
"TargetArn": "string"
},
"Description": "string",
"Environment": {
"Error": {
"ErrorCode": "string",
"Message": "string"
},
"Variables": {
"string" : "string"
}
},
"EphemeralStorage": {
"Size": number
},
"FileSystemConfigs": [
{
"Arn": "string",
"LocalMountPath": "string"
}
],
"FunctionArn": "string",
"FunctionName": "string",
"Handler": "string",
"ImageConfigResponse": {
"Error": {
"ErrorCode": "string",
"Message": "string"
},
"ImageConfig": {
"Command": [ "string" ],
"EntryPoint": [ "string" ],
"WorkingDirectory": "string"
}
},
"KMSKeyArn": "string",
"LastModified": "string",
"LastUpdateStatus": "string",
"LastUpdateStatusReason": "string",
"LastUpdateStatusReasonCode": "string",
"Layers": [
{
"Arn": "string",
"CodeSize": number,
"SigningJobArn": "string",
"SigningProfileVersionArn": "string"
}
],
"LoggingConfig": {
"ApplicationLogLevel": "string",
"LogFormat": "string",
"LogGroup": "string",
"SystemLogLevel": "string"
},
"MasterArn": "string",
"MemorySize": number,
"PackageType": "string",
"RevisionId": "string",
"Role": "string",
"Runtime": "string",
"RuntimeVersionConfig": {
"Error": {
"ErrorCode": "string",
"Message": "string"
},
"RuntimeVersionArn": "string"
},
"SigningJobArn": "string",
"SigningProfileVersionArn": "string",
"SnapStart": {
"ApplyOn": "string",
"OptimizationStatus": "string"
},
"State": "string",
"StateReason": "string",
"StateReasonCode": "string",
"Timeout": number,
"TracingConfig": {
"Mode": "string"
},
"Version": "string",
"VpcConfig": {
"Ipv6AllowedForDualStack": boolean,
"SecurityGroupIds": [ "string" ],
"SubnetIds": [ "string" ],
"VpcId": "string"
}
}
レスポンス要素
アクションが成功すると、サービスは HTTP 200 レスポンスを返します。
サービスから以下のデータが JSON 形式で返されます。
- Architectures
-
関数がサポートする命令セットアーキテクチャです。アーキテクチャは、有効な値の 1 つを含む文字列配列です。デフォルトアーキテクチャ値は
x86_64
です。型: 文字列の配列
配列メンバー: 定数は 1 項目です。
有効な値:
x86_64 | arm64
- CodeSha256
-
関数のデプロイパッケージの SHA256 ハッシュ
型: 文字列
- CodeSize
-
関数のデプロイパッケージのサイズ (バイト単位)
型: Long
- DeadLetterConfig
-
関数のデッドレターキュー
型: DeadLetterConfig オブジェクト
- Description
-
関数の説明
型: 文字列
長さの制限: 最小長は 0 です。最大長は 256 です。
- Environment
-
関数の環境変数 AWS CloudTrail ログから除外。
型: EnvironmentResponse オブジェクト
- EphemeralStorage
-
関数の
/tmp
ディレクトリのサイズ (MB 単位) です。デフォルト値は 512 ですが、512 から 10,240 MB の範囲内で任意の整数を指定できます。詳細については、「エフェメラルストレージの設定 (コンソール)」を参照してください。型: EphemeralStorage オブジェクト
- FileSystemConfigs
-
Amazon EFS ファイルシステムの接続設定
型: FileSystemConfig オブジェクトの配列
配列メンバー: 最大数は 1 項目です。
- FunctionArn
-
関数の Amazon リソースネーム (ARN)
型: 文字列
パターン:
arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_\.]+(:(\$LATEST|[a-zA-Z0-9-_]+))?
- FunctionName
-
関数の名前
型: 文字列
長さの制限: 最小長は 1 です。最大長は 170 です。
パターン:
(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_\.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
- Handler
-
Lambda が関数の実行を開始するために呼び出す関数です。
型: 文字列
長さの制限:最大長は 128 です。
パターン:
[^\s]+
- ImageConfigResponse
-
関数のイメージ設定値
型: ImageConfigResponse オブジェクト
- KMSKeyArn
-
関数の環境変数を暗号化するために使用される AWS KMS key。Lambda SnapStart を有効にすると、このキーは関数のスナップショットの暗号化にも使用されます。このキーが返されるのは、カスタマーマネージドキーを設定している場合のみです。
型: 文字列
パターン:
(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()
- LastModified
-
関数が最後に更新された日付と時刻 (ISO-8601 形式
(YYYY-MM-DDThh:mm:ss.sTZD)) 型: 文字列
- LastUpdateStatus
-
関数で最後に実行された更新のステータス これは、関数の作成完了後、最初に
Successful
に設定されます。型: 文字列
有効な値:
Successful | Failed | InProgress
- LastUpdateStatusReason
-
関数で最後に実行された更新の理由
型: 文字列
- LastUpdateStatusReasonCode
-
関数で最後に実行された更新の理由コード
型: 文字列
有効な値:
EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError
- Layers
-
関数のレイヤー
タイプ: Layer オブジェクトの配列
- LoggingConfig
-
関数の Amazon CloudWatch Logs 構成の設定。
型: LoggingConfig オブジェクト
- MasterArn
-
Lambda@Edge 関数の場合、メイン関数の ARN。
型: 文字列
パターン:
arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))?
- MemorySize
-
ランタイム時に関数で使用できるメモリの量
型: 整数
値の範囲: 最小値 は 128 です。最大値は 10,240 です。
- PackageType
-
デプロイパッケージのタイプ コンテナイメージでは
Image
に設定し、.zip ファイルアーカイブではZip
を設定します。型: 文字列
有効な値:
Zip | Image
- RevisionId
-
関数またはエイリアスの最後に更新されたリビジョン
型: 文字列
- Role
-
関数の実行ロール
型: 文字列
パターン:
arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+
- Runtime
-
関数のランタイムの識別子 デプロイパッケージが .zip ファイルアーカイブの場合は、ランタイムが必要です。
以下のリストには、廃止されたランタイムが含まれています。詳細については、「廃止されたランタイムでのポリシー」を参照してください。
型: 文字列
有効な値:
nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | nodejs10.x | nodejs12.x | nodejs14.x | nodejs16.x | java8 | java8.al2 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | python3.9 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | dotnetcore3.1 | dotnet6 | nodejs4.3-edge | go1.x | ruby2.5 | ruby2.7 | provided | provided.al2 | nodejs18.x | python3.10 | java17 | ruby3.2 | python3.11 | nodejs20.x | provided.al2023 | python3.12 | java21
- RuntimeVersionConfig
-
ランタイムの ARN と発生したエラー
型: RuntimeVersionConfig オブジェクト
- SigningJobArn
-
署名ジョブの ARN
型: 文字列
パターン:
arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)
- SigningProfileVersionArn
-
署名プロファイルバージョンの ARN
型: 文字列
パターン:
arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)
- SnapStart
-
ApplyOn
をPublishedVersions
に設定すると、関数バージョンを発行するときに、初期化された実行環境のスナップショットが作成されます。詳細については、「Improving startup performance with Lambda SnapStart」(Lambda SnapStart を使用した起動パフォーマンスの向上) を参照してください。型: SnapStartResponse オブジェクト
- State
-
関数の現在の状態 状態が
Inactive
の場合、関数を呼び出すことで再アクティブ化できます。型: 文字列
有効な値:
Pending | Active | Inactive | Failed
- StateReason
-
関数の現在の状態の理由
型: 文字列
- StateReasonCode
-
関数の現在の状態の理由コード コードが
Creating
のときは、関数を呼び出したり変更したりすることはできません。型: 文字列
有効な値:
Idle | Creating | Restoring | EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError
- Timeout
-
Lambda が関数を停止するまでに関数に許可する実行時間 (秒) です。
型: 整数
有効範囲: 最小値 は 1
- TracingConfig
-
関数の AWS X-Ray トレース設定
型: TracingConfigResponse オブジェクト
- Version
-
Lambda 関数のバージョン
型: 文字列
長さの制限: 最小長は 1 です。最大長は 1,024 です。
パターン:
(\$LATEST|[0-9]+)
- VpcConfig
-
関数のネットワーク設定
型: VpcConfigResponse オブジェクト
エラー
すべてのアクションに共通のエラーについては、「共通エラー」を参照してください。
- CodeSigningConfigNotFoundException
-
指定されたコード署名設定が存在しません。
HTTP ステータスコード: 404
- CodeVerificationFailedException
-
コード署名が、署名の不一致または有効期限の検証チェックの 1 つ以上に失敗し、コード署名ポリシーが ENSORCE に設定されています。Lambda はデプロイをブロックします。
HTTP ステータスコード:400
- InvalidCodeSignatureException
-
コード署名が整合性チェックに失敗しました。整合性チェックに失敗すると、Lambda は、コード署名ポリシーが WARN に設定されている場合でも、デプロイをブロックします。
HTTP ステータスコード:400
- InvalidParameterValueException
-
リクエストに含まれているパラメータの 1 つが無効です。
HTTP ステータスコード:400
- PreconditionFailedException
-
指定された RevisionId が、Lambda 関数またはエイリアスの最新 RevisionId と一致しません。
GetFunction
またはGetAlias
API 操作を呼び出して、リソースの最新の RevisionId を取得します。HTTP ステータスコード: 412
- ResourceConflictException
-
リソースが既に存在しているか、別のオペレーションが進行中です。
HTTP ステータスコード: 409
- ResourceNotFoundException
-
リクエストで指定されたリソースは存在しません。
HTTP ステータスコード: 404
- ServiceException
-
AWS Lambda サービスで内部エラーが発生しました。
HTTP ステータスコード: 500
- TooManyRequestsException
-
リクエストスループット制限を超えました。詳細については、「Lambda クォータ」を参照してください。
HTTP ステータスコード: 429
以下の資料も参照してください。
言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、以下を参照してください。