

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS::Serverless::WebFunction
<a name="sam-resource-webfunction"></a>

 マネージドエンドポイントを介して HTTP リクエストを処理する AWS Lambda Web 関数を作成します。呼び出しとイベントに応答して実行される Lambda イベント関数とは異なり、ウェブ関数はウェブサーバーを実行し、HTTP リクエストを直接受信します。単一の から`AWS::Serverless::WebFunction`、 は Web Function、コードと設定を含むイミュータブルなリビジョン、およびトラフィックを 1 つ以上のリビジョンにルーティングするエンドポイント AWS SAM を生成します。

**注記**  
にデプロイすると AWS CloudFormation、 は AWS SAM リソースを CloudFormation リソース AWS SAM に変換します。詳細については、「[の生成済み CloudFormation リソース AWS SAM](sam-specification-generated-resources.md)」を参照してください。

**重要**  
関数コードは、 `AWS_LAMBDA_HTTP_ENDPOINT`環境変数のホストとポートをリッスンする HTTP サーバーを実行する必要があります。ランタイムは を設定しません`PORT`。デフォルトでは、ランタイムはデプロイパッケージのルート`index.js`で実行されます。[EntryPoint](#sam-webfunction-entrypoint) を使用して別のファイルを実行します。

**重要**  
デプロイパッケージを保持する Amazon S3 バケットは、次の要件を満たしている必要があります。  
バージョニングが有効になっています。
バケットポリシーは、 `s3:GetObject`および の`s3:GetObjectVersion`アクセス許可を付与`lambda.amazonaws.com`します。ポリシーの範囲は、 など、関数のリビジョン`aws:SourceArn`に一致する `ArnLike`条件を使用することをお勧めします`arn:aws:lambda:{{us-east-1}}:{{111122223333}}:web-function/{{my-function}}/revision/*`。
オブジェクトが SSE-KMS で暗号化されている場合、キーポリシーで `lambda.amazonaws.com`の呼び出しが許可されているカスタマーマネージドキーを使用します`kms:Decrypt`。Amazon S3 (`aws/s3`) の AWS マネージドキーは、キーポリシーを変更できないため、サポートされていません。
バケットポリシーの例については、 *AWS Lambda デベロッパーガイド*の[「Lambda のバケットポリシー](https://docs.aws.amazon.com/lambda/latest/dg/web-functions-code-s3.html#web-functions-code-s3-bucket-policy)」を参照してください。  
`CodeUri` は Amazon S3 のオブジェクトを参照する必要があります。`sam build` および `sam package` コマンドは、このリソースのローカルパスをサポートしていません。

## 構文
<a name="sam-resource-webfunction-syntax"></a>

 AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。

### YAML
<a name="sam-resource-webfunction-syntax.yaml"></a>

```
Type: AWS::Serverless::WebFunction
Properties:
  [AuthType](#sam-webfunction-authtype): {{String}}
  [AutoDeploymentMode](#sam-webfunction-autodeploymentmode): {{String}}
  [CodeUri](#sam-webfunction-codeuri): {{String | CodeUri}}
  [EgressNetworkConnectorArn](#sam-webfunction-egressnetworkconnectorarn): {{String}}
  [EndpointDescription](#sam-webfunction-endpointdescription): {{String}}
  [EndpointName](#sam-webfunction-endpointname): {{String}}
  [EndpointType](#sam-webfunction-endpointtype): {{String}}
  [EntryPoint](#sam-webfunction-entrypoint): {{String}}
  [EnvironmentVariables](#sam-webfunction-environmentvariables): {{Map}}
  [ExecutionRoleArn](#sam-webfunction-executionrolearn): {{String}}
  [FunctionName](#sam-webfunction-functionname): {{String}}
  [InlineCode](#sam-webfunction-inlinecode): {{String}}
  [KmsKeyArn](#sam-webfunction-kmskeyarn): {{String}}
  [LoggingConfig](#sam-webfunction-loggingconfig): {{Map}}
  [MaxConcurrencyPerEnvironment](#sam-webfunction-maxconcurrencyperenvironment): {{Integer}}
  [ReplicaRegions](#sam-webfunction-replicaregions): {{List | ReplicaRegions}}
  [RevisionDescription](#sam-webfunction-revisiondescription): {{String}}
  [RevisionWeights](#sam-webfunction-revisionweights): {{RevisionWeights}}
  [Runtime](#sam-webfunction-runtime): {{String}}
  [ScalingConfig](#sam-webfunction-scalingconfig): {{Map}}
  [Tags](#sam-webfunction-tags): {{Map}}
  [ThrottleConfig](#sam-webfunction-throttleconfig): {{Map}}
  [Timeout](#sam-webfunction-timeout): {{Integer}}
```

## プロパティ
<a name="sam-resource-webfunction-properties"></a>

 `AuthType`   <a name="sam-webfunction-authtype"></a>
エンドポイントがリクエストを承認する方法。  
+ `IamAuth`: Lambda は、署名バージョン 4 と IAM を使用してリクエストを承認します。呼び出し元には、 関数のリソースベースのポリシーを通じて付与された アクセス`lambda:InvokeWebFunctionEndpoint`許可が必要です。
+ `ApplicationManaged`: エンドポイントはパブリックです。関数は、すべてのリクエスト自体を承認する必要があります。
*有効な値*:`IamAuth`、`ApplicationManaged`\|   
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionEndpoint`リソースの `[AuthType](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-authtype)`プロパティに直接渡されます。

 `AutoDeploymentMode`   <a name="sam-webfunction-autodeploymentmode"></a>
エンドポイントがリビジョン間でトラフィックをルーティングする方法。  
+ `LatestRevision`: このデプロイが作成するリビジョンにトラフィックの 100% を送信します。
+ `Disabled`: [RevisionWeights](#sam-webfunction-revisionweights) に従ってトラフィックをルーティングします。
使用できる値と、 `RevisionWeights` が必要かどうかは、[EndpointType](#sam-webfunction-endpointtype) によって異なります。  
+ `HomeRegion`: いずれかの値を使用します。では`Disabled`、 `RevisionWeights` が必要です。
+ `MultiRegion` または `PerRegion`: を使用します`Disabled`。を省略すると`RevisionWeights`、エンドポイントはトラフィックの 100% を同じスタックで作成されたリビジョンにルーティングするため、エンドポイントを 1 回のデプロイで作成できます。トラフィックは、後のデプロイで作成されるリビジョンには移動しません。
がテンプレートを AWS SAM 変換するとき、値は解決する必要があります。パラメータ`Ref`への がサポートされています。その他の組み込み関数はサポートされていません。  
*有効な値*:`LatestRevision`、`Disabled`\|   
*タイプ*: 文字列  
*必須:* いいえ  
*デフォルト*: `LatestRevision`  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `CodeUri`   <a name="sam-webfunction-codeuri"></a>
デプロイパッケージの Amazon S3 の場所。`Bucket`、、`Key`およびオプションの`Version`キーを使用して `s3://{{bucket}}/{{key}}` URI またはオブジェクトを指定します。バケットの要件については、このページの上部にある注記を参照してください。  
*タイプ*: 文字列 \| [CodeUri](sam-property-webfunction-codeuri.md)  
*必須:* はい  
*CloudFormation 互換性*: このプロパティは resource`AWS::Lambda::WebFunctionRevision`. AWS SAM converts an `s3://` URI into `Bucket`、`Key`、および の `[BuildConfig.CodeConfig.S3Object](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-s3object.html)`プロパティに似ています`VersionId`。

 `EgressNetworkConnectorArn`   <a name="sam-webfunction-egressnetworkconnectorarn"></a>
関数のアウトバウンドトラフィックを VPC 経由でルーティングするネットワークコネクタのバージョン修飾 ARN。ARN は、 などのバージョン番号で終わる必要があります`arn:aws:lambda:us-east-1:123456789012:network-connector:my-connector:1`。同じテンプレートで最新バージョンのコネクタを使用するには、 を指定します`!GetAtt {{MyConnector}}.LatestVersionArn`。コネクタの [ComputeTypes](sam-resource-networkconnector.md#sam-networkconnector-computetypes) は である必要があります`WebFunction`。  
リテラル文字列を指定すると、 AWS SAM はそれがバージョン認定ネットワークコネクタ ARN であることを確認します。組み込み関数は、サービスによって渡され、検証されます。この値を変更すると、新しいリビジョンが作成されます。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionRevision`リソースの `[ServiceConfig.EgressNetworkConnectorArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html)`プロパティに直接渡されます。

 `EndpointDescription`   <a name="sam-webfunction-endpointdescription"></a>
エンドポイントの説明。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionEndpoint`リソースの `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-description)`プロパティに直接渡されます。

 `EndpointName`   <a name="sam-webfunction-endpointname"></a>
エンドポイントの名前。名前を変更すると、エンドポイントが置き換えられます。を変更するとエンドポイント`EndpointType`も置き換えられるため、 `EndpointName`は同時に変更します。 CloudFormation は、新しい名前のないカスタム名前のリソースを置き換えることはできません。  
*タイプ*: 文字列  
*必須:* いいえ  
*デフォルト*: `prod`  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionEndpoint`リソースの `[EndpointName](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-endpointname)`プロパティに直接渡されます。

 `EndpointType`   <a name="sam-webfunction-endpointtype"></a>
エンドポイントがトラフィックを処理する場所。  
+ `HomeRegion`: スタックのリージョンから を提供します。
+ `MultiRegion`: は、関数を [ReplicaRegions](#sam-webfunction-replicaregions) のリージョンにレプリケートし、各リクエストを最も近いリージョンにルーティングします。
+ `PerRegion`: は、レプリカリージョンごとに個別のエンドポイントを公開します。
`MultiRegion` と には `PerRegion`が必要です`AutoDeploymentMode: Disabled`。  
有効な値: `HomeRegion`、`MultiRegion`、`PerRegion`  
*タイプ*: 文字列  
*必須:* いいえ  
*デフォルト*: `HomeRegion`  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionEndpoint`リソースの `[EndpointType](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-endpointtype)`プロパティに直接渡されます。

 `EntryPoint`   <a name="sam-webfunction-entrypoint"></a>
デプロイパッケージのルートを基準にして、ランタイムが実行するファイル。 AWS SAM はそれをリザーブド`AWS_LAMBDA_NODEJS_ENTRYPOINT`環境変数のランタイムに渡します。  
`EnvironmentVariables` が組み込み関数である場合、このプロパティを使用することはできません。  
*タイプ*: 文字列  
*必須:* いいえ  
*デフォルト*: `index.js`  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `EnvironmentVariables`   <a name="sam-webfunction-environmentvariables"></a>
リビジョンの環境変数として設定するキーと値のペア。  
+ キーは文字で始まり、文字、数字、アンダースコアのみを含める必要があります。
+ 値は空ではなく、最大 4,096 文字である必要があります。
+ AWS SAM は数値とブール値を文字列に変換します。
*タイプ*: マップ  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionRevision`リソースの `[ServiceConfig.EnvironmentVariables](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-environmentvariables)`プロパティに直接渡されます。

 `ExecutionRoleArn`   <a name="sam-webfunction-executionrolearn"></a>
関数が実行時に引き受ける IAM ロールの ARN。ロールを指定しない場合、 は`AWSLambdaBasicExecutionRole`マネージドポリシーと論理 ID が のロール AWS SAM を作成します`{{<resource-logical-id>}}Role`。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionRevision`リソースの `[ServiceConfig.ExecutionRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-executionrolearn)`プロパティに直接渡されます。

 `FunctionName`   <a name="sam-webfunction-functionname"></a>
関数の名前 関数名は、すべてのリージョンでアカウント内で一意である必要があります。名前を指定しない場合、 は論理 ID とスタック ID から 64 文字以内で AWS SAM 名前を生成します。名前を変更すると、関数、そのリビジョン、およびそのエンドポイントが置き換えられます。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、`AWS::Lambda::WebFunction`、、`AWS::Lambda::WebFunctionRevision`および `AWS::Lambda::WebFunctionEndpoint`リソースの `[FunctionName](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunction.html#cfn-lambda-webfunction-functionname)`プロパティに直接渡されます。

 `InlineCode`   <a name="sam-webfunction-inlinecode"></a>
`AWS::Serverless::WebFunction` をサポートしていません。[CodeUri](#sam-webfunction-codeuri) を使用します。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `KmsKeyArn`   <a name="sam-webfunction-kmskeyarn"></a>
リビジョンの環境変数の暗号化に使用される AWS KMS キーの ARN。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionRevision`リソースの `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionrevision.html#cfn-lambda-webfunctionrevision-kmskeyarn)`プロパティに直接渡されます。

 `LoggingConfig`   <a name="sam-webfunction-loggingconfig"></a>
ロググループやログレベルなど、リビジョンのログ記録設定。  
*タイプ*: マップ  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionRevision`リソースの `[ServiceConfig.TelemetryConfig.LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-telemetryconfig.html#cfn-lambda-webfunctionrevision-telemetryconfig-loggingconfig)`プロパティに直接渡されます。

 `MaxConcurrencyPerEnvironment`   <a name="sam-webfunction-maxconcurrencyperenvironment"></a>
各実行環境が処理する同時リクエストの最大数。  
*タイプ:* 整数  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionRevision`リソースの `[ServiceConfig.MaxConcurrencyPerEnvironment](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-maxconcurrencyperenvironment)`プロパティに直接渡されます。

 `ReplicaRegions`   <a name="sam-webfunction-replicaregions"></a>
関数をレプリケートするリージョン。このプロパティは、 `MultiRegion`および `PerRegion`エンドポイントで使用します。リージョンコードとリージョングループのリスト、または `IncludeRegions`とオプションの を持つオブジェクトを指定します`ExcludeRegions`。  
*タイプ*: List \| [ReplicaRegions](sam-property-webfunction-replicaregions.md)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは resource`AWS::Lambda::WebFunctionEndpoint`. AWS SAM expands リージョングループの `[Regions](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-regions)`プロパティに似ており、 を適用`ExcludeRegions`してリージョンリストを生成します。

 `RevisionDescription`   <a name="sam-webfunction-revisiondescription"></a>
このデプロイが作成するリビジョンの説明。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionRevision`リソースの `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionrevision.html#cfn-lambda-webfunctionrevision-description)`プロパティに直接渡されます。

 `RevisionWeights`   <a name="sam-webfunction-revisionweights"></a>
リビジョン IDsトラフィックの重みのマップ。が の場合`AutoDeploymentMode`、このプロパティを使用します`Disabled`。最大 2 つのリビジョンを指定します。各重みは 1～100 の整数で、重みの合計は最大 100 である必要があります。  
*タイプ*: [RevisionWeights](sam-property-webfunction-revisionweights.md)  
*必須:* 条件的。`AutoDeploymentMode` が `Disabled`で、 `EndpointType` が の場合に必要です`HomeRegion`。  
*CloudFormation 互換性*: このプロパティは resource. AWS SAM converts の `[RevisionWeights](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-revisionweights)`プロパティに似ています`AWS::Lambda::WebFunctionEndpoint`。マップを オブジェクト`RevisionId`と `Weight` オブジェクトのリストに変換します。

 `Runtime`   <a name="sam-webfunction-runtime"></a>
関数のランタイム。例: `nodejs24.x`。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionRevision`リソースの `[BuildConfig.RuntimeConfig.Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-runtimeconfig.html#cfn-lambda-webfunctionrevision-runtimeconfig-runtime)`プロパティに直接渡されます。

 `ScalingConfig`   <a name="sam-webfunction-scalingconfig"></a>
実行環境の最大数など、エンドポイントのスケーリング設定。  
*タイプ*: マップ  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionEndpoint`リソースの `[ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-scalingconfig)`プロパティに直接渡されます。

 `Tags`   <a name="sam-webfunction-tags"></a>
関数と が AWS SAM 生成する実行ロールに追加されたタグを指定するキーと値のペアのマップ。  
*タイプ*: マップ  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunction`リソースの `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunction.html#cfn-lambda-webfunction-tags)`プロパティに似ています。の AWS SAM `Tags`プロパティはキーと値のペアで構成されます ( CloudFormation このプロパティは`Tag`オブジェクトのリストで構成されます）。また、 は、 関数とそれに対して生成されるデフォルトのロールに`lambda:createdBy:SAM`タグ AWS SAM を自動的に追加します。

 `ThrottleConfig`   <a name="sam-webfunction-throttleconfig"></a>
最大リクエストレートなど、エンドポイントのスロットリング設定。  
*タイプ*: マップ  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionEndpoint`リソースの `[ThrottleConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-throttleconfig)`プロパティに直接渡されます。

 `Timeout`   <a name="sam-webfunction-timeout"></a>
リクエストごとに関数が実行できる最大時間を秒単位で表します。有効な値は 3～900 です。  
*タイプ:* 整数  
*必須:* いいえ  
*デフォルト*: `30`  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::WebFunctionRevision`リソースの `[ServiceConfig.TimeoutSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-timeoutseconds)`プロパティに直接渡されます。

## 戻り値
<a name="sam-resource-webfunction-return-values"></a>

### 参照番号
<a name="sam-resource-webfunction-return-values-ref"></a>

このリソースの論理 ID が`Ref`組み込み関数に提供されると、ウェブ関数の ARN が返されます。関数名が必要な場合は、`FunctionName`代わりに の値を使用します。

`Ref` 関数の使用方法の詳細については、「AWS CloudFormation ユーザーガイド」の「[`Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)」を参照してください。

### Fn::GetAtt
<a name="sam-resource-webfunction-return-values-fn--getatt"></a>

`Fn::GetAtt` は、このタイプの指定された属性の値を返します。利用可能な属性とサンプル戻り値は以下のとおりです。

`Fn::GetAtt` の使用の詳細については、「AWS CloudFormation ユーザーガイド」の「[`Fn::GetAtt`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html)」を参照してください。

`FunctionArn`  <a name="sam-webfunction-getatt-functionarn"></a>
ウェブ関数の Amazon リソースネーム (ARN)。

`State`  <a name="sam-webfunction-getatt-state"></a>
ウェブ関数の現在の状態。

`StateReason`  <a name="sam-webfunction-getatt-statereason"></a>
ウェブ関数の現在の状態の理由。

`CreatedAt`  <a name="sam-webfunction-getatt-createdat"></a>
ウェブ関数が作成された時刻。

`UpdatedAt`  <a name="sam-webfunction-getatt-updatedat"></a>
Web 関数が最後に更新された時刻。

が AWS SAM 生成するリビジョンまたはエンドポイントを参照するには、論理 IDs`{{<resource-logical-id>}}Revision`および を使用します`{{<resource-logical-id>}}Endpoint`。たとえば、 は論理 ID を持つウェブ関数のエンドポイントのドメイン名`!GetAtt MyWebFunctionEndpoint.DomainName`を返します`MyWebFunction`。詳細については、「[CloudFormation AWS::Serverless::WebFunctionが指定されているときに生成される リソース](sam-specification-generated-resources-webfunction.md)」を参照してください。

## 例
<a name="sam-resource-webfunction-examples"></a>

### 基本的なウェブ関数
<a name="sam-resource-webfunction-example-basic"></a>

次の例では、スタックの Region に IAM 認可エンドポイントを持つ Web 関数を作成します。 は実行ロール AWS SAM を生成し、エンドポイントはすべてのトラフィックをこのデプロイが作成するリビジョンにルーティングします。

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri:
        Bucket: amzn-s3-demo-bucket
        Key: webfn.zip
        Version: {{object-version-id}}
      Timeout: 30

Outputs:
  EndpointUrl:
    Value: !Sub https://${MyWebFunctionEndpoint.DomainName}
```

### 2 つのリビジョン間でトラフィックを分割する
<a name="sam-resource-webfunction-example-canary"></a>

次の例では、自動デプロイを無効にし、トラフィックの 90% を既存のリビジョンに送信し、10% を別のリビジョンに送信します。両方のリビジョンがすでに存在している必要があります。

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri: s3://amzn-s3-demo-bucket/webfn-v2.zip
      AutoDeploymentMode: Disabled
      RevisionWeights:
        rev-abc123: 90
        rev-def456: 10
```

### マルチリージョンウェブ関数
<a name="sam-resource-webfunction-example-multiregion"></a>

次の例では、 関数を を除く米国リージョンにレプリケート`us-west-1`し、各リクエストを最も近いリージョンにルーティングします。`RevisionWeights` は省略されるため、エンドポイントはすべてのトラフィックをこのスタックで作成されたリビジョンにルーティングします。

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri:
        Bucket: amzn-s3-demo-bucket
        Key: webfn.zip
        Version: {{object-version-id}}
      EndpointName: prodmr
      EndpointType: MultiRegion
      AutoDeploymentMode: Disabled
      ReplicaRegions:
        IncludeRegions:
          - US
        ExcludeRegions:
          - us-west-1
```

### VPC 出力を使用したウェブ関数
<a name="sam-resource-webfunction-example-vpc-egress"></a>

次の例では、Web Functions のネットワークコネクタを作成し、コネクタのサブネットとセキュリティグループを介して関数のアウトバウンドトラフィックをルーティングします。

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyConnector:
    Type: AWS::Serverless::NetworkConnector
    Properties:
      ComputeTypes:
        - WebFunction
      VpcConfig:
        SubnetIds:
          - subnet-0abc123def4567890
          - subnet-0def456abc7890123
        SecurityGroupIds:
          - sg-0abc1234abcde0001
        NetworkProtocol: IPv4

  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri:
        Bucket: amzn-s3-demo-bucket
        Key: webfn.zip
        Version: {{object-version-id}}
      EgressNetworkConnectorArn: !GetAtt MyConnector.LatestVersionArn
```