

# PublishVersion
<a name="API_PublishVersion"></a>

現在のコードおよび関数の設定から[バージョン](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html)を作成します。バージョンを使用して、変更されない関数のコードおよび設定のスナップショットを作成します。

 関数の設定とコードが最終バージョン以降に変更されていない場合、AWS Lambdaは、バージョンを公開しません。[UpdateFunctionCode](API_UpdateFunctionCode.md)または[UpdateFunctionConfiguration](API_UpdateFunctionConfiguration.md)を使用して、バージョンを公開する前に関数を更新します。

クライアントは、バージョンを直接呼び出すことも、エイリアスを使用して呼び出すこともできます。エイリアスを作成するには、[CreateAlias](API_CreateAlias.md) を使用します。

## リクエストの構文
<a name="API_PublishVersion_RequestSyntax"></a>

```
POST /2015-03-31/functions/FunctionName/versions HTTP/1.1
Content-type: application/json

{
   "CodeSha256": "string",
   "Description": "string",
   "RevisionId": "string"
}
```

## URI リクエストパラメータ
<a name="API_PublishVersion_RequestParameters"></a>

リクエストでは、次の URI パラメータを使用します。

 ** [FunctionName](#API_PublishVersion_RequestSyntax) **   <a name="lambda-PublishVersion-request-FunctionName"></a>
Lambda 関数の名前  

**名前の形式**
+  **関数名** - `MyFunction`。
+  **関数 ARN** - `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`。
+  **一部の ARN** - `123456789012:function:MyFunction`。
完全な 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-_]+))?`   
必須: はい

## リクエストボディ
<a name="API_PublishVersion_RequestBody"></a>

リクエストは以下の JSON 形式のデータを受け入れます。

 ** [CodeSha256](#API_PublishVersion_RequestSyntax) **   <a name="lambda-PublishVersion-request-CodeSha256"></a>
ハッシュ値が指定された値と一致した場合のみ、バージョンを発行します。このオプションを使用して、最終更新から関数コードが変更された場合にバージョンの発行を回避します。[UpdateFunctionCode](API_UpdateFunctionCode.md)の出力からアップロードしたバージョンのハッシュを取得できます。  
型: 文字列  
必須: いいえ

 ** [Description](#API_PublishVersion_RequestSyntax) **   <a name="lambda-PublishVersion-request-Description"></a>
関数設定の説明を上書きするバージョンの説明。  
型: 文字列  
長さの制限: 最小長は 0 です。最大長は 256 です。  
必須: いいえ

 ** [RevisionId](#API_PublishVersion_RequestSyntax) **   <a name="lambda-PublishVersion-request-RevisionId"></a>
リビジョン ID が指定された ID と一致する場合にのみ、関数を更新します。このオプションを使用して、最終更新から関数の設定が変更された場合に、バージョンの公開を回避します。  
型: 文字列  
必須: いいえ

## レスポンスの構文
<a name="API_PublishVersion_ResponseSyntax"></a>

```
HTTP/1.1 201
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"
   }
}
```

## レスポンス要素
<a name="API_PublishVersion_ResponseElements"></a>

アクションが成功すると、HTTP 201 レスポンスが返されます。

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

 ** [Architectures](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Architectures"></a>
関数がサポートする命令セットアーキテクチャです。アーキテクチャは、有効な値の 1 つを含む文字列配列です。デフォルトアーキテクチャ値は`x86_64`です。  
型: 文字列の配列  
配列メンバー: 定数は 1 項目です。  
有効な値: `x86_64 | arm64` 

 ** [CodeSha256](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-CodeSha256"></a>
関数のデプロイパッケージの SHA256 ハッシュ  
型: 文字列

 ** [CodeSize](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-CodeSize"></a>
関数のデプロイパッケージのサイズ (バイト単位)  
型: Long

 ** [DeadLetterConfig](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-DeadLetterConfig"></a>
関数のデッドレターキュー  
型: [DeadLetterConfig](API_DeadLetterConfig.md) オブジェクト

 ** [Description](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Description"></a>
関数の説明  
型: 文字列  
長さの制限: 最小長は 0 です。最大長は 256 です。

 ** [Environment](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Environment"></a>
関数の[環境変数](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) AWS CloudTrail ログから除外。  
型: [EnvironmentResponse](API_EnvironmentResponse.md) オブジェクト

 ** [EphemeralStorage](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-EphemeralStorage"></a>
関数の `/tmp` ディレクトリのサイズ (MB 単位) です。デフォルト値は 512 ですが、512 から 10,240 MB の範囲内で任意の整数を指定できます。詳細については、「[エフェメラルストレージの設定 (コンソール)](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-ephemeral-storage)」を参照してください。  
型: [EphemeralStorage](API_EphemeralStorage.md) オブジェクト

 ** [FileSystemConfigs](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-FileSystemConfigs"></a>
[Amazon EFS ファイルシステム](https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html)の接続設定  
型: [FileSystemConfig](API_FileSystemConfig.md) オブジェクトの配列  
配列メンバー: 最大数は 1 項目です。

 ** [FunctionArn](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-FunctionArn"></a>
関数の 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](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-FunctionName"></a>
関数の名前  
型: 文字列  
長さの制限: 最小長は 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](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Handler"></a>
Lambda が関数の実行を開始するために呼び出す関数です。  
型: 文字列  
長さの制限：最大長は 128 です。  
パターン: `[^\s]+` 

 ** [ImageConfigResponse](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-ImageConfigResponse"></a>
関数のイメージ設定値  
型: [ImageConfigResponse](API_ImageConfigResponse.md) オブジェクト

 ** [KMSKeyArn](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-KMSKeyArn"></a>
関数の[環境変数](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption)を暗号化するために使用される AWS KMS key。[Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) を有効にすると、このキーは関数のスナップショットの暗号化にも使用されます。このキーが返されるのは、カスタマーマネージドキーを設定している場合のみです。  
型: 文字列  
パターン: `(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()` 

 ** [LastModified](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-LastModified"></a>
関数が最後に更新された日付と時刻 ([ISO-8601 形式](https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD))  
型: 文字列

 ** [LastUpdateStatus](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-LastUpdateStatus"></a>
関数で最後に実行された更新のステータス これは、関数の作成完了後、最初に `Successful` に設定されます。  
型: 文字列  
有効な値: `Successful | Failed | InProgress` 

 ** [LastUpdateStatusReason](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-LastUpdateStatusReason"></a>
関数で最後に実行された更新の理由  
型: 文字列

 ** [LastUpdateStatusReasonCode](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-LastUpdateStatusReasonCode"></a>
関数で最後に実行された更新の理由コード  
型: 文字列  
有効な値: `EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError` 

 ** [Layers](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Layers"></a>
関数の[レイヤー](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)  
タイプ: [Layer](API_Layer.md) オブジェクトの配列

 ** [LoggingConfig](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-LoggingConfig"></a>
関数の Amazon CloudWatch Logs 構成の設定。  
型: [LoggingConfig](API_LoggingConfig.md) オブジェクト

 ** [MasterArn](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-MasterArn"></a>
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](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-MemorySize"></a>
ランタイム時に関数で使用できるメモリの量  
型: 整数  
値の範囲: 最小値 は 128 です。最大値は 10,240 です。

 ** [PackageType](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-PackageType"></a>
デプロイパッケージのタイプ コンテナイメージでは `Image` に設定し、.zip ファイルアーカイブでは `Zip` を設定します。  
型: 文字列  
有効な値: `Zip | Image` 

 ** [RevisionId](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-RevisionId"></a>
関数またはエイリアスの最後に更新されたリビジョン  
型: 文字列

 ** [Role](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Role"></a>
関数の実行ロール  
型: 文字列  
パターン: `arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+` 

 ** [Runtime](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Runtime"></a>
関数の[ランタイム](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)の識別子 デプロイパッケージが .zip ファイルアーカイブの場合は、ランタイムが必要です。  
以下のリストには、廃止されたランタイムが含まれています。詳細については、「[廃止されたランタイムでのポリシー](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy)」を参照してください。  
型: 文字列  
有効な値: `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](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-RuntimeVersionConfig"></a>
ランタイムの ARN と発生したエラー  
型: [RuntimeVersionConfig](API_RuntimeVersionConfig.md) オブジェクト

 ** [SigningJobArn](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-SigningJobArn"></a>
署名ジョブの ARN  
型: 文字列  
パターン: `arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)` 

 ** [SigningProfileVersionArn](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-SigningProfileVersionArn"></a>
署名プロファイルバージョンの ARN  
型: 文字列  
パターン: `arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)` 

 ** [SnapStart](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-SnapStart"></a>
`ApplyOn` を `PublishedVersions` に設定すると、関数バージョンを発行するときに、初期化された実行環境のスナップショットが作成されます。詳細については、「[Improving startup performance with Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html)」(Lambda SnapStart を使用した起動パフォーマンスの向上) を参照してください。  
型: [SnapStartResponse](API_SnapStartResponse.md) オブジェクト

 ** [State](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-State"></a>
関数の現在の状態 状態が `Inactive` の場合、関数を呼び出すことで再アクティブ化できます。  
型: 文字列  
有効な値: `Pending | Active | Inactive | Failed` 

 ** [StateReason](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-StateReason"></a>
関数の現在の状態の理由  
型: 文字列

 ** [StateReasonCode](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-StateReasonCode"></a>
関数の現在の状態の理由コード コードが `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](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Timeout"></a>
Lambda が関数を停止するまでに関数に許可する実行時間 (秒) です。  
型: 整数  
有効範囲: 最小値 は 1

 ** [TracingConfig](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-TracingConfig"></a>
関数の AWS X-Ray トレース設定  
型: [TracingConfigResponse](API_TracingConfigResponse.md) オブジェクト

 ** [Version](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Version"></a>
Lambda 関数のバージョン  
型: 文字列  
長さの制限: 最小長は 1 です。最大長は 1,024 です。  
パターン: `(\$LATEST|[0-9]+)` 

 ** [VpcConfig](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-VpcConfig"></a>
関数のネットワーク設定  
型: [VpcConfigResponse](API_VpcConfigResponse.md) オブジェクト

## エラー
<a name="API_PublishVersion_Errors"></a>

すべてのアクションに共通のエラーについては、「[共通エラー](CommonErrors.md)」を参照してください。

 ** CodeStorageExceededException **   
AWS アカウントが、最大合計コードサイズを超過しました。詳細については、「[Lambda クォータ](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html)」を参照してください。  
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 クォータ](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests)」を参照してください。  
HTTP ステータスコード: 429

## 以下の資料も参照してください。
<a name="API_PublishVersion_SeeAlso"></a>

言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、以下を参照してください。
+  「[AWS コマンドラインインターフェイス](https://docs.aws.amazon.com/goto/aws-cli/lambda-2015-03-31/PublishVersion)」 
+  「[AWS SDK for .NET](https://docs.aws.amazon.com/goto/DotNetSDKV3/lambda-2015-03-31/PublishVersion)」 
+  「[AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/lambda-2015-03-31/PublishVersion)」 
+  「[AWS SDK for Go](https://docs.aws.amazon.com/goto/SdkForGoV1/lambda-2015-03-31/PublishVersion)」 
+  「[AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/lambda-2015-03-31/PublishVersion)」 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/lambda-2015-03-31/PublishVersion) 
+  「[AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/lambda-2015-03-31/PublishVersion)」 
+  「[AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/lambda-2015-03-31/PublishVersion)」 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/lambda-2015-03-31/PublishVersion) 