服務 CloudFormation IaC 文件參數的詳細信息和示例 - AWS Proton

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

服務 CloudFormation IaC 文件參數的詳細信息和示例

您可以將服務和管線基礎結構中的參數定義為程式碼 (IaC) 檔案,並參考。如需參數、參數類型、 AWS Proton 參數命名空間以及如何在 IaC 檔案中使用參數的詳細說明,請參閱AWS Proton 參數

定義服務參數

您可以為服務 IaC 檔案定義輸入和輸出參數。

  • 輸入參數 — 定義結構描述檔案中的服務執行個體輸入參數。

    下列清單包含典型使用案例的服務輸入參數範例。

    • 連線埠

    • 任務大小

    • 映像

    • 所需計數

    • 泊塢文件

    • 單元測試命令

    您可以在建立服務時提供輸入參數的值:

    • 使用主控台填寫提供的結構描述式表 AWS Proton 單。

    • 使用 CLI 提供包含值的規格。

  • 輸出參數 — 在服務 IaC 檔案中定義服務執行個體輸出。然後,您可以在其他資源的 IaC 文件中引用這些輸出。

讀取服務 IaC 檔案中的參數值

您可以讀取與服務 IaC 文件中的服務和其他資源相關的參數。您可以在參數命名空間中參照參數的名稱來讀取 AWS Proton 參數值。

  • 輸入參數 — 透過參照來讀取服務執行個體輸入值service_instance.inputs.input-name

  • 資源參數 — 透過參照service.nameservice_instance.name和等名稱來讀取 AWS Proton 資源參數environment.name

  • 輸出參數 — 透過參照environment.outputs.output-name或來讀取其他資源的輸出service_instance.components.default.outputs.output-name

具有參數的示例服務 IaC 文件

下列範例是服務 CloudFormation IaC 檔案中的程式碼片段。命environment.outputs.名空間是指環境 IaC 文件的輸出。service_instance.inputs.命名空間是指服務執行個體輸入參數。該service_instance.name屬性是指資 AWS Proton 源參數。

Resources: StoreServiceInstanceInputValue: Type: AWS::SSM::Parameter Properties: Type: String Value: "{{ service.name }} {{ service_instance.name }} {{ service_instance.inputs.my_sample_service_instance_required_input }} {{ service_instance.inputs.my_sample_service_instance_optional_input }} {{ environment.outputs.MySampleInputValue }} {{ environment.outputs.MyOtherSampleInputValue }}" # resource parameter references # input parameter references # output references to an environment infrastructure as code file Outputs: MyServiceInstanceParameter: # output definition Value: !Ref StoreServiceInstanceInputValue MyServiceInstanceRequiredInputValue: # output definition Value: "{{ service_instance.inputs.my_sample_service_instance_required_input }}" # input parameter reference MyServiceInstanceOptionalInputValue: # output definition Value: "{{ service_instance.inputs.my_sample_service_instance_optional_input }}" # input parameter reference MyServiceInstancesEnvironmentSampleOutputValue: # output definition Value: "{{ environment.outputs.MySampleInputValue }}" # output reference to an environment IaC file MyServiceInstancesEnvironmentOtherSampleOutputValue: # output definition Value: "{{ environment.outputs.MyOtherSampleInputValue }}" # output reference to an environment IaC file