

# CreateFunction
<a name="API_CreateFunction"></a>

Lambda 関数を作成します。関数を作成するには、[デプロイパッケージ](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html)と[実行ロール](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role)が必要です。デプロイパッケージは、関数コードを含む .zip ファイルアーカイブまたはコンテナイメージです。実行ロールは、ログストリーミングのための Amazon CloudWatch Logs などの AWS のサービスと、リクエストトレーシングのための AWS X-Ray を使用する許可を関数に付与します。

デプロイパッケージが[コンテナイメージ](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html)の場合は、パッケージタイプを `Image` に設定します。コンテナイメージの場合、コードプロパティに Amazon ECR レジストリのコンテナイメージの URI を含める必要があります。ハンドラープロパティとランタイムプロパティを指定する必要はありません。

デプロイパッケージが[.zip ファイルアーカイブ](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip)の場合は、パッケージタイプを `Zip` に設定します。.zip ファイルアーカイブの場合、コードプロパティは .zip ファイルの場所を指定します。ハンドラープロパティとランタイムプロパティも指定する必要があります。デプロイパッケージのコードは、関数 (`x86-64` または `arm64`) のターゲット命令セットアーキテクチャと互換性を持たせる必要があります。アーキテクチャを指定しない場合、デフォルト値は `x86-64` になります。

関数を作成すると、Lambda はその関数のインスタンスとそのサポートリソースをプロビジョニングします。関数を VPC に接続する場合、このプロセスには 1 分ほどかかる場合があります。この間は、関数を呼び出したり変更したりすることはできません。[GetFunctionConfiguration](API_GetFunctionConfiguration.md) からのレスポンスの `State`、`StateReason`、`StateReasonCode` フィールドは、関数の呼び出し準備ができていることを示します。詳細については、「[Lambda 関数の状態](https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html)」を参照してください。

関数には未公開バージョンがあり、公開バージョンやエイリアスを持つことができます。関数のコードと設定を更新すると、未公開バージョンが変更されます。公開バージョンは、変更不可能な関数コードと設定のスナップショットです。エイリアスは、バージョンにマップする名前付きリソースです。このリソースは、別のバージョンにマップするために変更できます。`Publish` パラメータを使用して、初期設定から関数のバージョン `1` を作成します。

その他のパラメーターを使用すると、バージョン固有の関数レベルの設定を構成できます。バージョン固有の設定は、後で [UpdateFunctionConfiguration](API_UpdateFunctionConfiguration.md) により変更できます。関数レベルの設定は、関数の未公開バージョンと公開バージョンの両方に適用され、タグ ([TagResource](API_TagResource.md)) と関数ごとの同時実行制限 ([PutFunctionConcurrency](API_PutFunctionConcurrency.md)) を含みます。

デプロイパッケージが .zip ファイルアーカイブの場合は、コード署名を使用できます。この関数のコード署名を有効にするには、コード署名構成の ARN を指定します。ユーザーが [UpdateFunctionCode](API_UpdateFunctionCode.md) を使用してコードパッケージのデプロイを試みると、Lambda はそのコードパッケージに信頼できるパブリッシャーからの有効な署名があるかどうかをチェックします。code-signing 設定には、この関数の信頼できる発行元を定義する一連の署名プロファイルが含まれています。

別の AWS アカウントまたは AWS のサービスが関数を呼び出す場合は、[AddPermission](API_AddPermission.md) を使用して、リソースベースの AWS Identity and Access Management (IAM) ポリシーを作成することで許可を付与します。関数レベル、バージョン、エイリアスでアクセス許可を付与できます。

関数を直接呼び出すには、[Invoke](API_Invoke.md) を使用します。他の AWS のサービスのイベントに応答して関数を呼び出すには、イベントソースマッピング ([CreateEventSourceMapping](API_CreateEventSourceMapping.md)) を作成するか、他のサービスで関数トリガーを設定します。詳細については、「[Lambda 関数の呼び出し](https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html)」を参照してください。

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

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

{
   "Architectures": [ "string" ],
   "Code": { 
      "ImageUri": "string",
      "S3Bucket": "string",
      "S3Key": "string",
      "S3ObjectVersion": "string",
      "ZipFile": blob
   },
   "CodeSigningConfigArn": "string",
   "DeadLetterConfig": { 
      "TargetArn": "string"
   },
   "Description": "string",
   "Environment": { 
      "Variables": { 
         "string" : "string" 
      }
   },
   "EphemeralStorage": { 
      "Size": number
   },
   "FileSystemConfigs": [ 
      { 
         "Arn": "string",
         "LocalMountPath": "string"
      }
   ],
   "FunctionName": "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,
   "PackageType": "string",
   "Publish": boolean,
   "Role": "string",
   "Runtime": "string",
   "SnapStart": { 
      "ApplyOn": "string"
   },
   "Tags": { 
      "string" : "string" 
   },
   "Timeout": number,
   "TracingConfig": { 
      "Mode": "string"
   },
   "VpcConfig": { 
      "Ipv6AllowedForDualStack": boolean,
      "SecurityGroupIds": [ "string" ],
      "SubnetIds": [ "string" ]
   }
}
```

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

リクエストでは URI パラメータを使用しません。

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

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

 ** [Architectures](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-Architectures"></a>
関数がサポートする命令セットアーキテクチャです。有効な値 (arm64 または x86\$164) の 1 つを含む文字列配列を入力します。デフォルト値は `x86_64` です。  
型: 文字列の配列  
配列メンバー: 定数は 1 項目です。  
有効な値: `x86_64 | arm64`   
必須：いいえ

 ** [Code](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-Code"></a>
関数のコード  
型: [FunctionCode](API_FunctionCode.md) オブジェクト  
必須: はい

 ** [CodeSigningConfigArn](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-CodeSigningConfigArn"></a>
この関数のコード署名を有効にするには、コード署名設定の ARN を指定します。コード署名の設定には、一連の署名プロファイルが含まれており、このプロファイルにより、関数の信頼された発行元が定義されます。  
型: 文字列  
長さの制限: 最大長は 200 です。  
パターン: `arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1}:\d{12}:code-signing-config:csc-[a-z0-9]{17}`   
必須: いいえ

 ** [DeadLetterConfig](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-DeadLetterConfig"></a>
処理に失敗したときに Lambda が非同期イベントを送信するキューまたはトピックを指定する、デッドレターキュー設定です。詳細については、「[デッドレターキュー](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq)」を参照してください。  
型: [DeadLetterConfig](API_DeadLetterConfig.md) オブジェクト  
必須: いいえ

 ** [Description](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-Description"></a>
関数の説明  
型: 文字列  
長さの制限: 最小長は 0 です。最大長は 256 です。  
必須: いいえ

 ** [Environment](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-Environment"></a>
実行中に関数コードからアクセス可能な環境変数  
型: [Environment](API_Environment.md) オブジェクト  
必須: いいえ

 ** [EphemeralStorage](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-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_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-FileSystemConfigs"></a>
Amazon EFS ファイルシステムの接続設定  
型: [FileSystemConfig](API_FileSystemConfig.md) オブジェクトの配列  
配列メンバー: 最大数は 1 項目です。  
必須: いいえ

 ** [FunctionName](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-FunctionName"></a>
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-_]+))?`   
必須: はい

 ** [Handler](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-Handler"></a>
関数を実行するために Lambda が呼び出すコード内のメソッドの名前です。デプロイパッケージが .zip ファイルアーカイブの場合は、ハンドラーが必要です。形式にはファイル名を含めます。ランタイムに応じて、名前空間や他の修飾子を含めることもできます。詳細については、「[Lambda プログラミングモデル](https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html)」を参照してください。  
型: 文字列  
長さの制限：最大長は 128 です。  
パターン: `[^\s]+`   
必須: いいえ

 ** [ImageConfig](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-ImageConfig"></a>
コンテナイメージ Dockerfile の値を上書きするコンテナイメージの[設定値](https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings)です。  
型: [ImageConfig](API_ImageConfig.md) オブジェクト  
必須: いいえ

 ** [KMSKeyArn](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-KMSKeyArn"></a>
関数の[環境変数](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption)を暗号化するために使用される、AWS Key Management Service (AWS KMS) カスタマーマネージドキーの ARN です。[Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) を有効にすると、Lambda はこのキーを関数のスナップショットの暗号化にも使用します。コンテナイメージを使用して関数をデプロイする場合、Lambda はデプロイ時にこのキーを使用して関数を暗号化します。これは、Amazon Elastic Container Registry (Amazon ECR) でコンテナイメージを保護するために使用されるキーと同じキーではないことに注意してください。カスタマーマネージドキーを提供しない場合、Lambda はデフォルトのサービスキーを使用します。  
型: 文字列  
パターン: `(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()`   
必須: いいえ

 ** [Layers](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-Layers"></a>
関数の実行環境に追加する[関数レイヤー](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)のリストです。その ARN ごとに各レイヤーを指定します (バージョンも含めます)。  
型: 文字列の配列  
長さの制限: 最小長は 1 です。最大長は 140 です。  
パターン: `arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+`   
必須: いいえ

 ** [LoggingConfig](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-LoggingConfig"></a>
関数の Amazon CloudWatch Logs 構成の設定。  
型: [LoggingConfig](API_LoggingConfig.md) オブジェクト  
必須: いいえ

 ** [MemorySize](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-MemorySize"></a>
ランタイム時に[関数で使用できるメモリ](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console)の量です。関数のメモリを増やすと、関数の CPU 割り当ても増えます。デフォルト値は 128 MB です。値には、1 MB の任意の倍数を指定できます。  
型: 整数  
値の範囲: 最小値 は 128 です。最大値は 10,240 です。  
必須: いいえ

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

 ** [Publish](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-Publish"></a>
true に設定すると、作成中に関数の最初のバージョンが公開されます。  
型: ブール値  
必須: いいえ

 ** [Role](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-Role"></a>
関数の実行ロールの Amazon リソースネーム (ARN)  
型: 文字列  
Pattern: `arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+`   
必須: はい

 ** [Runtime](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-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`   
必須：いいえ

 ** [SnapStart](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-SnapStart"></a>
関数の [SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) 設定です。  
型: [SnapStart](API_SnapStart.md) オブジェクト  
必須: いいえ

 ** [Tags](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-Tags"></a>
関数に適用する[タグ](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html)のリスト  
型: 文字列から文字列へのマッピング  
必須: いいえ

 ** [Timeout](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-Timeout"></a>
Lambda が関数を停止するまでに関数に許可する実行時間 (秒)。デフォルト値は 3 秒です。最大許容値は 900 秒です。詳細については、「[Lambda 実行環境](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html)」を参照してください。  
型: 整数  
有効な範囲: 最小値 は 1 です。  
必須: いいえ

 ** [TracingConfig](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-TracingConfig"></a>
`Mode` を `Active` に設定し、[X-Ray](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html) で着信リクエストのサブセットをサンプリングおよびトレースします。  
型: [TracingConfig](API_TracingConfig.md) オブジェクト  
必須: いいえ

 ** [VpcConfig](#API_CreateFunction_RequestSyntax) **   <a name="lambda-CreateFunction-request-VpcConfig"></a>
VPC の AWS リソースへのネットワーク接続の場合は、VPC のセキュリティグループとサブネットのリストを指定します。関数を VPC に接続すると、関数はその VPC 経由でしかリソースとインターネットにアクセスできません。詳細については、「[VPC 内のリソースにアクセスするように Lambda 関数を設定する](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html)」を参照してください。  
型: [VpcConfig](API_VpcConfig.md) オブジェクト  
必須: いいえ

## レスポンスの構文
<a name="API_CreateFunction_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_CreateFunction_ResponseElements"></a>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 ** [Runtime](#API_CreateFunction_ResponseSyntax) **   <a name="lambda-CreateFunction-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_CreateFunction_ResponseSyntax) **   <a name="lambda-CreateFunction-response-RuntimeVersionConfig"></a>
ランタイムの ARN と発生したエラー  
型: [RuntimeVersionConfig](API_RuntimeVersionConfig.md) オブジェクト

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

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

 ** [StateReasonCode](#API_CreateFunction_ResponseSyntax) **   <a name="lambda-CreateFunction-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_CreateFunction_ResponseSyntax) **   <a name="lambda-CreateFunction-response-Timeout"></a>
Lambda が関数を停止するまでに関数に許可する実行時間 (秒) です。  
型: 整数  
有効範囲: 最小値 は 1

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

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

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

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

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

 ** CodeSigningConfigNotFoundException **   
指定されたコード署名設定が存在しません。  
HTTP ステータスコード: 404

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

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

 ** InvalidCodeSignatureException **   
コード署名が整合性チェックに失敗しました。整合性チェックに失敗すると、Lambda は、コード署名ポリシーが WARN に設定されている場合でも、デプロイをブロックします。  
HTTP ステータスコード：400

 ** InvalidParameterValueException **   
リクエストに含まれているパラメータの 1 つが無効です。  
HTTP ステータスコード：400

 ** 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_CreateFunction_SeeAlso"></a>

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