Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Infrastruttura dei componenti come file di codice
I file Component Infrastructure as code (iAc) sono simili a quelli per altreAWS Proton risorse. Scopri qui alcuni dettagli specifici dei componenti. Per informazioni complete sulla creazione di file iAc perAWS Proton, vedereCreazione di modelli e creazione di pacchetti per AWS Proton.
Utilizzo dei parametri con i componenti
Il namespaceAWS Proton dei parametri include alcuni parametri a cui un file IAC di servizio può fare riferimento per ottenere il nome e gli output di un componente associato. Il namespace include anche parametri a cui un file IAC componente può fare riferimento per ottenere input, output e valori di risorse dall'ambiente, dal servizio e dall'istanza di servizio a cui il componente è associato.
Un componente non dispone di input propri: riceve i propri input dall'istanza di servizio a cui è collegato. Un componente può anche leggere gli output dell'ambiente.
Per ulteriori informazioni sull'utilizzo dei parametri nei file iAc dei componenti e dei servizi associati, vedereDettagli ed esempi dei parametri del file CloudFormation IAc del componente. Per informazioni generali suiAWS Proton parametri e un riferimento completo allo spazio dei nomi dei parametri, vedereAWS Proton parametri.
Creazione di file iAc robusti
In qualità di amministratore, quando si crea una versione del modello di servizio, è possibile decidere se consentire alle istanze di servizio create a partire dalla versione modello di avere componenti allegati. Vedi il supportedComponentSourcesparametro dell'azione CreateServiceTemplateVersionAPI nella Guida di riferimento dell'AWS ProtonAPI. Tuttavia, per qualsiasi istanza di servizio future, la persona che crea l'istanza, decide se allegare o meno un componente ad essa e (nel caso di componenti definiti direttamente) l'autore del componente iAC è in genere una persona diversa, uno sviluppatore che utilizza il modello di servizio. Pertanto, non è possibile garantire che un componente venga collegato a un'istanza di servizio. Inoltre, non è possibile garantire l'esistenza di nomi di output di componenti specifici o la validità e la sicurezza dei valori di queste uscite.
AWS Protone la sintassi Jinja ti aiutano a risolvere questi problemi e a creare robusti modelli di servizio che vengono visualizzati senza errori nei seguenti modi:
-
AWS Protonfiltri parametrici: quando si fa riferimento alle proprietà di output dei componenti, è possibile utilizzare filtri parametrici, modificatori che convalidano, filtrano e formattano i valori dei parametri. Per maggiori informazioni ed esempi, consulta filtri parametrici per CloudFormation file IAc.
-
Proprietà singola predefinita: quando si fa riferimento a una singola risorsa o proprietà di output di un componente, è possibile garantire che il rendering del modello di servizio non fallisca utilizzando il
default
filtro, con o senza un valore predefinito. Se il componente o un parametro di output specifico a cui ti riferisci non esiste, viene invece renderizzato il valore predefinito (o una stringa vuota, se non hai specificato un valore predefinito) e il rendering ha esito positivo. Per ulteriori informazioni, consulta Fornite valori predefiniti per riferimenti inesistenti.Esempi:
-
{{ service_instance.components.default.name | default("") }}
-
{{ service_instance.components.default.outputs.
my-output
| default("17") }}
Nota
Non confondete la
.default
parte del namespace, che designa componenti definiti direttamente, con ildefault
filtro, che fornisce un valore predefinito quando la proprietà referenziata non esiste. -
-
Riferimento all'intero oggetto: quando si fa riferimento all'intero componente o alla raccolta degli output di un componente,AWS Proton restituisce un oggetto vuoto e quindi garantisce che il rendering del modello di servizio non fallirà.
{}
Non è necessario utilizzare alcun filtro. Assicurati di creare il riferimento in un contesto che possa accettare un oggetto vuoto o usa una{{ if .. }}
condizione per verificare la presenza di un oggetto vuoto.Esempi:
-
{{ service_instance.components.default }}
-
{{ service_instance.components.default.outputs }}
-