

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

# 疑難排解處理過的範本
<a name="template-macros-troubleshoot-processed-template"></a>

使用巨集時，可在 CloudFormation 主控台中找到處理過的範本。

範本的階段會標示其處理狀態：
+ `Original`：使用者最初提交以建立或更新堆疊或堆疊集的範本。
+ `Processed`：由 CloudFormation 在處理任何參考的巨集後用來建立或更新堆疊或堆疊集的範本。即使原始範本是 YAML 格式，處理過的範本會變成 JSON 格式。

疑難排解時，請使用處理過的範本。如果範本未參考巨集，則原始範本和處理過的範本會相同。

如需詳細資訊，請參閱[在 CloudFormation 主控台中檢視堆疊資訊](cfn-console-view-stack-data-resources.md)。

若要使用 AWS CLI 取得已處理的範本，請使用 [get-template](service_code_examples.md#get-template-sdk)命令。

## 大小限制
<a name="template-macros-size-limitation"></a>

已處理堆疊範本直接傳遞到 `CreateStack`、`UpdateStack` 或 `ValidateTemplate` 請求時的大小上限是 51,200 位元組，當使用 Amazon S3 範本的 URL 作為 S3 物件傳遞時的大小上限是 1 MB。不過，CloudFormation 在處理期間會更新範本的臨時狀態，因為它會按順序處理範本中包含的巨集。因此，處理期間的範本大小可能暫時超過完全處理範本允許的大小。CloudFormation 允許為這些處理中範本提供一些緩衝區。不過，您在設計範本和巨集時應謹記處理堆疊範本的允許大小上限。

如果 CloudFormation 傳回 `Transformation data limit exceeded` 錯誤，同時處理您的範本，則範本超過 CloudFormation 在處理期間允許的範本大小上限。

若要解決這個問題，請考量下列解決方案：
+ 將範本重建為多個範本，以避免超過處理中範本的大小上限。例如：
  + 使用巢狀堆疊範本，來封裝部分範本。如需詳細資訊，請參閱[運用巢狀堆疊，將範本分割成可重複使用的部分](using-cfn-nested-stacks.md)。
  + 建立多個堆疊，並使用跨堆疊參考來在這些堆疊之間交換資訊。如需詳細資訊，請參閱[參考在另一個 CloudFormation 堆疊中的資源輸出](walkthrough-crossstackref.md)。
+ 減少特定巨集傳回的範本片段大小。CloudFormation 不會竄改巨集傳回的片段內容。