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

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

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

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

定義服務參數

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

  • 輸入參數— 定義服務實例輸入參數結構描述檔案

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

    • 連接埠

    • 任務大小

    • 映像

    • 所需計數

    • 泊塢文件

    • 單元測試命令

    當您提供輸入參數的值建立服務

    • 使用控制台填寫基於模式的表單AWS Proton提供。

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

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

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

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

  • 輸入參數— 通過引用讀取服務實例輸入值service_instance.inputs.input-name

  • 資源參數— 閱讀AWS Proton通過引用名稱來參考資源參數,例如service.nameservice_instance.name,以及environment.name

  • 輸出參數— 通過引用讀取其他資源的輸出environment.outputs.output-name或者service_instance.components.default.outputs.output-name

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

以下範例是來自服務的程式碼片段 CloudFormation 合家歡的文件。所以此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