

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

# DeploymentPreference
<a name="sam-property-function-deploymentpreference"></a>

段階的な Lambda デプロイを有効にする設定を指定します。段階的な Lambda デプロイの設定の詳細については、「[を使用してサーバーレスアプリケーションを徐々にデプロイする AWS SAM](automating-updates-to-serverless-apps.md)」を参照してください。

**注記**  
`DeploymentPreference` オブジェクトを使用するには、[AWS::Serverless::Function](sam-resource-function.md) で `AutoPublishAlias` を指定する必要があります。指定しない場合は、エラーが発生します。

## 構文
<a name="sam-property-function-deploymentpreference-syntax"></a>

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

### YAML
<a name="sam-property-function-deploymentpreference-syntax.yaml"></a>

```
  [Alarms](#sam-function-deploymentpreference-alarms): List
  [Enabled](#sam-function-deploymentpreference-enabled): Boolean
  [Hooks](#sam-function-deploymentpreference-hooks): Hooks
  [PassthroughCondition](#sam-function-deploymentpreference-passthroughcondition): Boolean
  [Role](#sam-function-deploymentpreference-role): String
  [TriggerConfigurations](#sam-function-deploymentpreference-triggerconfigurations): List
  [Type](#sam-function-deploymentpreference-type): String
```

## プロパティ
<a name="sam-property-function-deploymentpreference-properties"></a>

 `Alarms`   <a name="sam-function-deploymentpreference-alarms"></a>
デプロイによって発生したエラーによってトリガーされる CloudWatch アラームのリストです。  
このプロパティは、`Fn::If` 組み込み関数を受け入れます。`Fn::If` を使用するテンプレートの例については、このトピックの下部にある「例」セクションを参照してください。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Enabled`   <a name="sam-function-deploymentpreference-enabled"></a>
このデプロイプリファレンスが有効になっているかどうかです。  
型: ブール  
*必須:* いいえ  
*デフォルト*: True  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Hooks`   <a name="sam-function-deploymentpreference-hooks"></a>
トラフィックシフトの前後に実行される検証 Lambda 関数です。  
*タイプ*: [Hooks](sam-property-function-hooks.md)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `PassthroughCondition`   <a name="sam-function-deploymentpreference-passthroughcondition"></a>
True の場合、このデプロイメントプリファレンスが有効な場合、関数の条件が、生成された CodeDeploy リソースに渡されます。通常、これを True に設定する必要があります。そうしないと、関数の条件が False に解決された場合でも、CodeDeploy リソースが作成されます。  
型: ブール  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Role`   <a name="sam-function-deploymentpreference-role"></a>
CodeDeploy がトラフィックの移行に使用する IAM ロール ARN です。これが提供されている場合、IAM ロールは作成されません。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `TriggerConfigurations`   <a name="sam-function-deploymentpreference-triggerconfigurations"></a>
デプロイグループに関連付けるトリガー設定のリストです。ライフサイクルイベントについて SNS トピックに通知するために使用されます。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::CodeDeploy::DeploymentGroup`リソースの `[TriggerConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-triggerconfigurations)`プロパティに直接渡されます。

 `Type`   <a name="sam-function-deploymentpreference-type"></a>
現在、デプロイタイプには Linear と Canary の 2 つのカテゴリがあります。使用可能なデプロイタイプの詳細については、「[を使用してサーバーレスアプリケーションを徐々にデプロイする AWS SAM](automating-updates-to-serverless-apps.md)」を参照してください。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

## 例
<a name="sam-property-function-deploymentpreference--examples"></a>

### pre-traffic hook と post-traffic hook を使用する DeploymentPreference です。
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks."></a>

pre-traffic hook と post-traffic hook が含まれるデプロイプリファレンスの例です。

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks.--yaml"></a>

```
DeploymentPreference:
  Enabled: true
  Type: Canary10Percent10Minutes 
  Alarms:
    - !Ref: AliasErrorMetricGreaterThanZeroAlarm
    - !Ref: LatestVersionErrorMetricGreaterThanZeroAlarm
  Hooks:
    PreTraffic:
      !Ref: PreTrafficLambdaFunction
    PostTraffic:
      !Ref: PostTrafficLambdaFunction
```

### Fn::If 組み込み関数を使用する DeploymentPreference
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function"></a>

アラームの設定に `Fn::If` を使用するデプロイプリファレンスの例です。この例では、`MyCondition` が `true` の場合は `Alarm1` が設定され、`MyCondition` が `false` の場合は `Alarm2` と `Alarm5` が設定されます。

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function--yaml"></a>

```
DeploymentPreference:
  Enabled: true
  Type: Canary10Percent10Minutes 
  Alarms:
    Fn::If:
      - MyCondition
      - - Alarm1
      - - Alarm2
        - Alarm5
```

# Hooks
<a name="sam-property-function-hooks"></a>

トラフィックシフトの前後に実行される検証 Lambda 関数です。

**注記**  
このプロパティで参照される Lambda 関数は、生成される [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html) リソースの `CodeDeployLambdaAliasUpdate` オブジェクトを設定します。詳細については、*AWS CloudFormation ユーザーガイド*の「[CodeDeployLambdaAliasUpdate Policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-codedeploylambdaaliasupdate)」を参照してください。

## 構文
<a name="sam-property-function-hooks-syntax"></a>

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

### YAML
<a name="sam-property-function-hooks-syntax.yaml"></a>

```
  [PostTraffic](#sam-function-hooks-posttraffic): String
  [PreTraffic](#sam-function-hooks-pretraffic): String
```

## プロパティ
<a name="sam-property-function-hooks-properties"></a>

 `PostTraffic`   <a name="sam-function-hooks-posttraffic"></a>
トラフィックの移行後に実行される Lambda 関数です。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のプロパティはありません。

 `PreTraffic`   <a name="sam-function-hooks-pretraffic"></a>
トラフィックの移行前に実行される Lambda 関数 です。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

## 例
<a name="sam-property-function-hooks--examples"></a>

### フック
<a name="sam-property-function-hooks--examples--hooks"></a>

フック関数の例

#### YAML
<a name="sam-property-function-hooks--examples--hooks--yaml"></a>

```
Hooks:
  PreTraffic:
    Ref: PreTrafficLambdaFunction
  PostTraffic:
    Ref: PostTrafficLambdaFunction
```