

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS::Serverless::CapacityProvider
<a name="sam-resource-capacityprovider"></a>

 為啟用在客戶擁有的 Amazon Elastic Compute Cloud 執行個體上執行 Lambda 受管執行個體的 AWS Lambda 函數建立容量提供者。此資源是 Lambda 受管執行個體功能的一部分，可透過使用 Amazon EC2 定價模型，為大規模 Lambda 工作負載提供成本最佳化。

 容量提供者會管理 Amazon EC2 執行個體的生命週期，並為 Lambda 函數提供必要的基礎設施，以在客戶擁有的運算資源上執行，同時維護無伺服器程式設計模型。

**注意**  
當您部署到 時 AWS CloudFormation， 會將您的 AWS SAM 資源 AWS SAM CloudFormation 轉換為 資源。如需詳細資訊，請參閱[為 產生 CloudFormation 資源 AWS SAM](sam-specification-generated-resources.md)。

## 語法
<a name="sam-resource-capacityprovider-syntax"></a>

若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體，請使用下列語法。

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

```
Type: AWS::Serverless::CapacityProvider
Properties:
  [CapacityProviderName](#sam-capacityprovider-capacityprovidername): String
  [VpcConfig](#sam-capacityprovider-vpcconfig): VpcConfig
  [OperatorRole](#sam-capacityprovider-operatorrole): String
  [Tags](#sam-capacityprovider-tags): Map
  [PropagateTags](#sam-capacityprovider-propagatetags): Boolean
  [InstanceRequirements](#sam-capacityprovider-instancerequirements): InstanceRequirements
  [ScalingConfig](#sam-capacityprovider-scalingconfig): ScalingConfig
  [KmsKeyArn](#sam-capacityprovider-kmskeyarn): String
```

## Properties
<a name="sam-resource-capacityprovider-properties"></a>

 `CapacityProviderName`   <a name="sam-capacityprovider-capacityprovidername"></a>
容量提供者的名稱。此名稱在 AWS 您的帳戶和區域中必須是唯一的。  
*類型：*字串  
*必要*：否  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::CapacityProvider` 資源的 `[CapacityProviderName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityprovidername)` 屬性。

 `VpcConfig`   <a name="sam-capacityprovider-vpcconfig"></a>
容量提供者的 VPC 組態。指定要啟動 Amazon EC2 執行個體的 VPC 子網路和安全群組。  
*類型*：[VpcConfig](sam-property-capacityprovider-vpcconfig.md)  
*必要*：是  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::CapacityProvider` 資源的 `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig)` 屬性。

 `OperatorRole`   <a name="sam-capacityprovider-operatorrole"></a>
 Lambda 運算子角色的 ARN，具有在客戶帳戶中建立和管理 Amazon EC2 執行個體和相關資源的許可。如果未提供， AWS SAM 會自動產生具有必要許可的角色。  
*類型：*字串  
*必要*：否  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::CapacityProvider` 資源`[PermissionsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-permissionsconfig)`的 `[CapacityProviderOperatorRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderpermissionsconfig.html#cfn-lambda-capacityprovider-capacityproviderpermissionsconfig-capacityprovideroperatorrolearn)` 屬性。

 `Tags`   <a name="sam-capacityprovider-tags"></a>
要套用至容量提供者及其相關聯資源的鍵/值對映射。  
*類型*：映射  
*必要*：否  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::CapacityProvider` 資源的 `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-tags)` 屬性。中的 `Tags` 屬性 AWS SAM 包含鍵值對 （而 CloudFormation 此屬性包含標籤物件清單）。此外， AWS SAM 會自動將`lambda:createdBy:SAM`標籤新增至此 Lambda 函數，以及新增至為此函數產生的預設角色。

 `PropagateTags`   <a name="sam-capacityprovider-propagatetags"></a>
 指出是否將標籤從標籤屬性傳遞至您`AWS::Serverless::CapacityProvider`產生的資源。將此設定為 `True`以在產生的資源中傳播標籤。  
*類型*：布林值  
*必要*：否  
*CloudFormation 相容性*：此屬性對 是唯一的 AWS SAM ，並且沒有 CloudFormation 同等屬性。

 `InstanceRequirements`   <a name="sam-capacityprovider-instancerequirements"></a>
 容量提供者可以使用之運算執行個體類型的規格。這包括架構需求和 `allowed`或 `excluded` 執行個體類型。  
*類型*：[InstanceRequirements](sam-property-capacityprovider-instancerequirements.md)  
*必要*：否  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::CapacityProvider` 資源的 `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` 屬性。

 `ScalingConfig`   <a name="sam-capacityprovider-scalingconfig"></a>
 容量提供者的擴展組態。定義容量提供者如何根據需求擴展 Amazon EC2 執行個體。  
*類型*：[ScalingConfig](sam-property-capacityprovider-scalingconfig.md)  
*必要*：否  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::CapacityProvider` 資源的 `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)` 屬性。

 `KmsKeyArn`   <a name="sam-capacityprovider-kmskeyarn"></a>
用於加密容量提供者靜態和傳輸中資料的 AWS KMS 金鑰 ARN。  
*類型：*字串  
*必要*：否  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::CapacityProvider` 資源的 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-kmskeyarn)` 屬性。

## 傳回值
<a name="sam-resource-capacityprovider-return-values"></a>

### Ref
<a name="sam-resource-capacityprovider-return-values-ref"></a>

當將此資源的邏輯 ID 提供給`Ref`內部 函數時，它會傳回容量提供者的名稱。

如需使用 `Ref`函數的詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)》中的 。

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

`Fn::GetAtt` 會傳回此類型之指定屬性的值。以下為可用屬性及傳回值的範例。

如需使用 的詳細資訊`Fn::GetAtt`，請參閱*AWS CloudFormation 《 使用者指南*[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html)》中的 。

`Arn`  <a name="Arn-fn::getatt"></a>
容量提供者的 ARN。

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

### 基本容量提供者
<a name="sam-resource-capacityprovider-examples-basic"></a>

下列範例會使用 VPC 組態建立基本容量提供者。

```
MyCapacityProvider:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    CapacityProviderName: my-capacity-provider
    VpcConfig:
      SubnetIds:
        - subnet-12345678
        - subnet-87654321
      SecurityGroupIds:
        - sg-12345678
    Tags:
      Environment: Production
      Team: ServerlessTeam
```

### 具有擴展功能的進階容量提供者
<a name="sam-resource-capacityprovider-examples-advanced"></a>

下列範例會建立具有自訂執行個體需求和擴展組態的容量提供者。

```
AdvancedCapacityProvider:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    CapacityProviderName: advanced-capacity-provider
    VpcConfig:
      SubnetIds:
        - subnet-12345678
        - subnet-87654321
      SecurityGroupIds:
        - sg-12345678
    OperatorRole: arn:aws:iam::123456789012:role/MyCapacityProviderRole
    PropagateTags: true
    InstanceRequirements:
      Architectures:
        - x86_64
      ExcludedTypes:
        - t2.micro
    ScalingConfig:
      MaxInstanceCount: 10
      ManualScalingPolicies:
        AverageCPUUtilization: 70.0
    KmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
    Tags:
      Environment: Production
      CostCenter: Engineering
```