UpdateFunctionConfiguration - AWS Lambda

UpdateFunctionConfiguration

Lambda 関数のバージョン固有の設定を変更します。

関数を更新すると、Lambda はその関数のインスタンスとそのサポートリソースをプロビジョニングします。関数を VPC に接続する際、このプロセスには 1 分かかることがあります。この間、関数を変更することはできませんが、呼び出すことはできます。 GetFunctionConfiguration からのレスポンスのLastUpdateStatusLastUpdateStatusReasonLastUpdateStatusReasonCode フィールドは、更新が完了し、関数が新しい設定でイベントを処理していることを示します。詳細については、「関数の状態」を参照してください。

これらの設定は、関数のバージョン間で異なる可能性があり、バージョンを公開するとロックされます。公開バージョンの設定を変更することはできません。未公開バージョンのみです。

関数の同時実行を設定するには、 PutFunctionConcurrency を使用します。アカウントまたは 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" } }, "FileSystemConfigs": [ { "Arn": "string", "LocalMountPath": "string" } ], "Handler": "string", "ImageConfig": { "Command": [ "string" ], "EntryPoint": [ "string" ], "WorkingDirectory": "string" }, "KMSKeyArn": "string", "Layers": [ "string" ], "MemorySize": number, "RevisionId": "string", "Role": "string", "Runtime": "string", "Timeout": number, "TracingConfig": { "Mode": "string" }, "VpcConfig": { "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 オブジェクト

必須: いいえ

FileSystemConfigs

Amazon EFS ファイルシステムの接続設定。

タイプ: FileSystemConfig オブジェクトの配列

配列メンバー: 最大数は 1 項目です。

必須: いいえ

Handler

関数を実行するために Lambda が呼び出すコード内のメソッドの名前。形式にはファイル名を含めます。また、ランタイムに応じて名前空間や他の修飾子を含めることもできます。詳細については、「プログラミングモデル」を参照してください。

型: 文字列

長さの制限: 最大長は 128 です。

Pattern: [^\s]+

必須: いいえ

ImageConfig

コンテナイメージ Docker ファイル の値を上書きするコンテナイメージ設定値

タイプ: ImageConfig オブジェクト

必須: いいえ

KMSKeyArn

関数の環境変数の暗号化に使用される AWS キー管理サービス (AWS KMS) キーの ARN。指定されない場合、AWS Lambda はデフォルトのサービスキーを使用します。

型: 文字列

Pattern: (arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()

必須: いいえ

Layers

関数の実行環境に追加する関数レイヤーのリスト。その ARN ごとに各レイヤーを指定します (バージョンも含めます)。

タイプ: 文字列の配列

長さの制限: 最小長は 1 です。最大長は 140 です。

Pattern: arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+

必須: いいえ

MemorySize

実行時に関数で使用できるメモリの量。関数のメモリを増やすと、関数の CPU 割り当ても増えます。デフォルト値は 128 MB です。値には、1 MB の任意の倍数を指定できます。

タイプ: 整数

値の範囲: 最小値 は 128 です。最大値は 10,240 です。

必須: いいえ

RevisionId

リビジョン ID が指定された ID と一致する場合にのみ、関数を更新します。このオプションを使用して、最後に読み取りを行った後に変更された関数を変更しないようにします。

型: 文字列

必須: いいえ

Role

関数の実行ロールの Amazon リソースネーム (ARN)。

型: 文字列

Pattern: arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+

必須: いいえ

Runtime

関数のランタイムの識別子。

型: 文字列

有効な値: nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | nodejs10.x | nodejs12.x | nodejs14.x | java8 | java8.al2 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | python3.9 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | dotnetcore3.1 | nodejs4.3-edge | go1.x | ruby2.5 | ruby2.7 | provided | provided.al2

必須: いいえ

Timeout

Lambda が関数を停止するまでに関数に許可する実行時間 (秒)。デフォルト値は 3 秒です。最大許容値は 900 秒です。詳細については、「Lambda 実行環境」をご参照ください。

タイプ: 整数

値の範囲: 最小値 は 1 です。

必須: いいえ

TracingConfig

ModeActive に設定し、X-Ray で着信リクエストのサブセットをサンプリングおよびトレースします。

タイプ: TracingConfig オブジェクト

必須: いいえ

VpcConfig

VPC の AWS リソースへのネットワーク接続の場合は、VPC のセキュリティグループとサブネットのリストを指定します。関数を VPC に接続する場合は、その VPC を介してのみリソースとインターネットにアクセスできます。詳細については、「VPC 設定」を参照してください。

タイプ: VpcConfig オブジェクト

必須: いいえ

レスポンスの構文

HTTP/1.1 200 Content-type: application/json { "CodeSha256": "string", "CodeSize": number, "DeadLetterConfig": { "TargetArn": "string" }, "Description": "string", "Environment": { "Error": { "ErrorCode": "string", "Message": "string" }, "Variables": { "string" : "string" } }, "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" } ], "MasterArn": "string", "MemorySize": number, "PackageType": "string", "RevisionId": "string", "Role": "string", "Runtime": "string", "SigningJobArn": "string", "SigningProfileVersionArn": "string", "State": "string", "StateReason": "string", "StateReasonCode": "string", "Timeout": number, "TracingConfig": { "Mode": "string" }, "Version": "string", "VpcConfig": { "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ], "VpcId": "string" } }

レスポンス要素

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

サービスから以下のデータが JSON 形式で返されます。

CodeSha256

関数のデプロイパッケージの SHA256 ハッシュ。

型: 文字列

CodeSize

関数のデプロイパッケージのサイズ (バイト単位)。

Type: Long

DeadLetterConfig

関数のデッドレターキュー。

タイプ: DeadLetterConfig オブジェクト

Description

関数の説明。

型: 文字列

長さの制限: 最小長は 0 です。最大長は 256 です。

Environment

関数の環境変数

タイプ: EnvironmentResponse オブジェクト

FileSystemConfigs

Amazon EFS ファイルシステムの接続設定。

タイプ: FileSystemConfig オブジェクトの配列

配列メンバー: 最大数は 1 項目です。

FunctionArn

関数の Amazon リソースネーム (ARN)。

型: 文字列

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-_]+))?

FunctionName

関数の名前。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 170 です。

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-_]+))?

Handler

Lambda が関数の実行を開始するために呼び出す関数。

型: 文字列

長さの制限: 最大長は 128 です。

Pattern: [^\s]+

ImageConfigResponse

関数のイメージ設定値。

タイプ: ImageConfigResponse オブジェクト

KMSKeyArn

関数の環境変数を暗号化するために使用される AWS KMS key。このキーは、カスタマー管理のキーを設定している場合にのみ返されます。

型: 文字列

Pattern: (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

Layers

関数のレイヤー

タイプ: Layer オブジェクトの配列

MasterArn

Lambda@Edge 関数の場合、メイン関数の ARN。

型: 文字列

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-_]+))?

MemorySize

実行時に関数で使用できるメモリの量。

タイプ: 整数

値の範囲: 最小値 は 128 です。最大値は 10,240 です。

PackageType

デプロイパッケージのタイプ。コンテナイメージでは Image に設定し、.zip ファイルアーカイブでは Zip を設定します。

型: 文字列

有効な値: Zip | Image

RevisionId

関数またはエイリアスの最新の更新リビジョン。

型: 文字列

Role

関数の実行ロール。

型: 文字列

Pattern: arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+

Runtime

Lambda 関数のランタイム環境。

型: 文字列

有効な値: nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | nodejs10.x | nodejs12.x | nodejs14.x | java8 | java8.al2 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | python3.9 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | dotnetcore3.1 | nodejs4.3-edge | go1.x | ruby2.5 | ruby2.7 | provided | provided.al2

SigningJobArn

署名ジョブの ARN。

型: 文字列

Pattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

SigningProfileVersionArn

署名プロファイルバージョンの ARN。

型: 文字列

Pattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

State

関数の現在の状態。状態が Inactive の場合、関数を呼び出すことで再アクティブ化できます。

型: 文字列

有効な値: Pending | Active | Inactive | Failed

StateReason

関数の現在の状態の理由。

型: 文字列

StateReasonCode

関数の現在の状態の理由コード。コードが Creating のときは、関数を呼び出したり変更したりすることはできません。

型: 文字列

有効な値: Idle | Creating | Restoring | EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage

Timeout

Lambda が関数を停止するまでに関数に許可する実行時間 (秒)。

タイプ: 整数

値の範囲: 最小値 は 1 です。

TracingConfig

関数の AWS X-Ray トレース設定。

タイプ: TracingConfigResponse オブジェクト

Version

Lambda 関数のバージョン。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 1024 です。

Pattern: (\$LATEST|[0-9]+)

VpcConfig

関数のネットワーク設定。

タイプ: VpcConfigResponse オブジェクト

Errors

CodeSigningConfigNotFoundException

指定されたコード署名設定が存在しません。

HTTP ステータスコード: 404

CodeVerificationFailedException

コード署名が、署名の不一致または有効期限の検証チェックの 1 つ以上に失敗し、コード署名ポリシーが ENSORCE に設定されています。Lambda はデプロイをブロックします。

HTTP ステータスコード: 400

InvalidCodeSignatureException

コード署名が整合性チェックに失敗しました。コード署名ポリシーが WARN に設定されていても、整合性チェックに失敗した場合、Lambda は常にデプロイをブロックします。

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

リクエストスループット制限を超えました。

HTTP ステータスコード: 429

以下の資料も参照してください。

言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、次を参照してください。