

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

# FunctionCode
<a name="sam-property-function-functioncode"></a>

Lambda 函數的[部署套裝](https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html)服務。

## 語法
<a name="sam-property-function-functioncode-syntax"></a>

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

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

```
  [Bucket](#sam-function-functioncode-bucket): {{String}}
  [Key](#sam-function-functioncode-key): {{String}}
  [StorageMode](#sam-function-functioncode-storagemode): {{String}}
  [Version](#sam-function-functioncode-version): {{String}}
```

## Properties
<a name="sam-property-function-functioncode-properties"></a>

 `Bucket`   <a name="sam-function-functioncode-bucket"></a>
與函數位於相同 AWS 區域中的 Amazon S3 儲存貯體。  
*類型：*字串  
*必要*：是  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::Function` `Code` 資料類型的 `[S3Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3bucket)` 屬性。

 `Key`   <a name="sam-function-functioncode-key"></a>
部署套件的 Amazon S3 金鑰。  
*類型：*字串  
*必要*：是  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::Function` `Code` 資料類型的 `[S3Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3key)` 屬性。

 `StorageMode`   <a name="sam-function-functioncode-storagemode"></a>
控制 Lambda 如何存放部署套件。  
+ `COPY` – Lambda 會將部署套件的副本上傳至 Lambda 受管儲存。您可以在 Lambda 建立函數後刪除 Amazon S3 物件。
+ `REFERENCE` – Lambda 會參考來自 Amazon S3 儲存貯體的部署套件，而不會儲存複本。物件必須保留在原處，Lambda 必須在函數的生命週期內保留其存取權。
若要使用 `REFERENCE`，請在 Amazon S3 儲存貯體上啟用版本控制，並授予 Lambda 服務主體存取物件的權限。如需詳細資訊，請參閱[《 開發人員指南》中的自我管理 Amazon S3 程式碼儲存](https://docs.aws.amazon.com/lambda/latest/dg/configuration-self-managed-storage.html)。 *AWS Lambda *  
*類型：*字串  
*有效值*：`COPY` \| `REFERENCE`  
*必要*：否  
*預設*：`COPY`  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::Function` `Code` 資料類型的 `[S3ObjectStorageMode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3objectstoragemode)` 屬性。

 `Version`   <a name="sam-function-functioncode-version"></a>
對於版本控制的物件，要使用的部署套件物件版本。  
*類型：*字串  
*必要*：否  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::Lambda::Function` `Code` 資料類型的 `[S3ObjectVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3objectversion)` 屬性。

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

### FunctionCode
<a name="sam-property-function-functioncode--examples--functioncode"></a>

`CodeUri`：函數程式碼範例

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

```
CodeUri:
  Bucket: sam-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

### 自我管理的 Amazon S3 程式碼儲存
<a name="sam-property-function-functioncode--examples--storagemode"></a>

以下`CodeUri`參考來自您自己的 Amazon S3 儲存貯體的部署套件，而不是將其複製到 Lambda 受管儲存體。

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

```
CodeUri:
  Bucket: amzn-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
  StorageMode: REFERENCE
```