Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Details und Beispiele für Komponenten- CloudFormation IaC-Dateiparameter

Fokusmodus
Details und Beispiele für Komponenten- CloudFormation IaC-Dateiparameter - AWS Proton

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Sie können Parameter in Ihrer Komponenteninfrastruktur als Codedateien (IaC) definieren und referenzieren. Eine detaillierte Beschreibung der AWS Proton Parameter, Parametertypen, des Parameter-Namespace und der Verwendung von Parametern in Ihren IaC-Dateien finden Sie unter AWS Proton -Parameter. Weitere Informationen zu -Komponenten finden Sie unter AWS Proton-Komponenten.

Definieren von Komponentenausgabeparametern

Sie können Ausgabeparameter in Ihren IaC-Komponentendateien definieren. Sie können dann in Service-IaC-Dateien auf diese Ausgaben verweisen.

Anmerkung

Sie können keine Eingaben für Komponenten-IaC-Dateien definieren. Angefügte Komponenten können Eingaben von der Service-Instance abrufen, an die sie angehängt sind. Trennte Komponenten haben keine Eingaben.

Lesen von Parameterwerten in Komponenten-IaC-Dateien

Sie können Parameter im Zusammenhang mit der Komponente und anderen Ressourcen in Komponenten-IaC-Dateien lesen. Sie lesen einen Parameterwert, indem Sie im AWS Proton Parameter-Namespace auf den Namen des Parameters verweisen.

  • Eingabeparameter – Lesen Sie einen angehängten Service-Instance-Eingabewert, indem Sie auf verweisenservice_instance.inputs.input-name.

  • Ressourcenparameter – Lesen Sie AWS Proton Ressourcenparameter, indem Sie auf Namen wie component.name, service.nameservice_instance.name, und verweisenenvironment.name.

  • Ausgabeparameter – Lesen Sie Umgebungsausgaben, indem Sie auf verweisenenvironment.outputs.output-name.

Beispiel für Komponenten- und ServiceIaC-Dateien mit Parametern

Das folgende Beispiel zeigt eine Komponente, die einen Amazon Simple Storage Service (Amazon S3)-Bucket und eine zugehörige Zugriffsrichtlinie bereitstellt und die Amazon-Ressourcennamen (ARNs) beider Ressourcen als Komponentenausgaben bereitstellt. Eine ServiceIaC-Vorlage fügt die Komponentenausgaben als Containerumgebungsvariablen einer Amazon Elastic Container Service (Amazon ECS)-Aufgabe hinzu, um die Ausgaben für Code verfügbar zu machen, der im Container ausgeführt wird, und fügt die Bucket-Zugriffsrichtlinie zur Rolle der Aufgabe hinzu. Der Bucket-Name basiert auf den Namen der Umgebung, des Services, der Service-Instance und der Komponente, was bedeutet, dass der Bucket mit einer bestimmten Instance der Komponentenvorlage gekoppelt ist, die eine bestimmte Service-Instance erweitert. Entwickler können mehrere benutzerdefinierte Komponenten basierend auf dieser Komponentenvorlage erstellen, um Amazon S3-Buckets für verschiedene Service-Instances und funktionale Anforderungen bereitzustellen.

Das Beispiel zeigt, wie Sie die Jinja{{ ... }}-Syntax verwenden, um auf Komponenten- und andere Ressourcenparameter in Ihrer IaC-Datei zu verweisen. Sie können -{% if ... %}Anweisungen verwenden, um Blöcke von Anweisungen nur hinzuzufügen, wenn eine Komponente an die Service-Instance angefügt ist. Die proton_cfn_* Schlüsselwörter sind Filter, mit denen Sie Ausgabeparameterwerte bereinigen und formatieren können. Weitere Informationen zu Filtern finden Sie unter Parameterfilter für CloudFormation IaC-Dateien.

Als Administrator erstellen Sie die IaC-Vorlagendatei.

Beispiel -Service CloudFormation IaC-Datei mit einer Komponente
# service/instance_infrastructure/cloudformation.yaml Resources: TaskDefinition: Type: AWS::ECS::TaskDefinition Properties: TaskRoleArn: !Ref TaskRole ContainerDefinitions: - Name: '{{service_instance.name}}' # ... {% if service_instance.components.default.outputs | length > 0 %} Environment: {{ service_instance.components.default.outputs | proton_cfn_ecs_task_definition_formatted_env_vars }} {% endif %} # ... TaskRole: Type: AWS::IAM::Role Properties: # ... ManagedPolicyArns: - !Ref BaseTaskRoleManagedPolicy {{ service_instance.components.default.outputs | proton_cfn_iam_policy_arns }} # Basic permissions for the task BaseTaskRoleManagedPolicy: Type: AWS::IAM::ManagedPolicy Properties: # ...

Als Entwickler erstellen Sie die IaC-Vorlagendatei der Komponente.

Beispiel CloudFormation IaC-Komponentendatei
# cloudformation.yaml # A component that defines an S3 bucket and a policy for accessing the bucket. Resources: S3Bucket: Type: 'AWS::S3::Bucket' Properties: BucketName: '{{environment.name}}-{{service.name}}-{{service_instance.name}}-{{component.name}}' S3BucketAccessPolicy: Type: AWS::IAM::ManagedPolicy Properties: PolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Action: - 's3:Get*' - 's3:List*' - 's3:PutObject' Resource: !GetAtt S3Bucket.Arn Outputs: BucketName: Description: "Bucket to access" Value: !GetAtt S3Bucket.Arn BucketAccessPolicyArn: Value: !Ref S3BucketAccessPolicy

Wenn eine - AWS CloudFormation Vorlage für Ihre Service-Instance AWS Proton wiedergibt und alle Parameter durch tatsächliche Werte ersetzt, könnte die Vorlage wie die folgende Datei aussehen.

Beispiel -Service-Instance CloudFormation gerenderte IaC-Datei
Resources: TaskDefinition: Type: AWS::ECS::TaskDefinition Properties: TaskRoleArn: !Ref TaskRole ContainerDefinitions: - Name: '{{service_instance.name}}' # ... Environment: - Name: BucketName Value: arn:aws:s3:us-east-1:123456789012:environment_name-service_name-service_instance_name-component_name - Name: BucketAccessPolicyArn Value: arn:aws:iam::123456789012:policy/cfn-generated-policy-name # ... TaskRole: Type: AWS::IAM::Role Properties: # ... ManagedPolicyArns: - !Ref BaseTaskRoleManagedPolicy - arn:aws:iam::123456789012:policy/cfn-generated-policy-name # Basic permissions for the task BaseTaskRoleManagedPolicy: Type: AWS::IAM::ManagedPolicy Properties: # ...
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.