Utilizzo di applicazioni annidate - AWS Serverless Application Model

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à.

Utilizzo di applicazioni annidate

Un'applicazione serverless può includere una o più applicazioni annidate. È possibile distribuire un'applicazione nidificata come elemento autonomo o come componente di un'applicazione più grande.

Con la crescita delle architetture serverless, emergono modelli comuni in cui gli stessi componenti sono definiti in più modelli di applicazione. Ora è possibile separare i pattern comuni come applicazioni dedicate e quindi inserirli in modelli di applicazione nuovi o esistenti. Con le applicazioni annidate, puoi concentrarti maggiormente sulla logica di business che è unica per la tua applicazione.

Per definire un'applicazione nidificata nella tua applicazione serverless, utilizza il AWS::Serverless::Application tipo di risorsa.

È possibile definire applicazioni nidificate dalle seguenti due fonti:

  • Un'AWS Serverless Application Repositoryapplicazione: è possibile definire applicazioni nidificate utilizzando le applicazioni disponibili per il proprio account in. AWS Serverless Application Repository Queste possono essere applicazioni private nel tuo account, applicazioni condivise privatamente con il tuo account o applicazioni condivise pubblicamente in. AWS Serverless Application Repository Per ulteriori informazioni sui diversi livelli di autorizzazioni di distribuzione, consulta Autorizzazioni di distribuzione delle applicazioni e applicazioni di pubblicazione nella Guida per gli AWS Serverless Application Repository sviluppatori.

  • Un'applicazione locale: è possibile definire applicazioni annidate utilizzando applicazioni archiviate nel file system locale.

Consultate le sezioni seguenti per i dettagli su come AWS SAM definire entrambi questi tipi di applicazioni annidate nell'applicazione serverless.

Nota

Il numero massimo di applicazioni che possono essere annidate in un'applicazione serverless è 200.

Il numero massimo di parametri che un'applicazione annidata può avere è 60.

Definizione di un'applicazione nidificata da AWS Serverless Application Repository

È possibile definire applicazioni nidificate utilizzando le applicazioni disponibili in. AWS Serverless Application Repository È inoltre possibile archiviare e distribuire applicazioni che contengono applicazioni nidificate utilizzando. AWS Serverless Application Repository Per esaminare i dettagli di un'applicazione annidata inAWS Serverless Application Repository, puoi utilizzare l'AWSSDK, la o la console AWS CLI Lambda.

Per definire un'applicazione ospitata nel AWS SAM modello dell'applicazione serverless, utilizza il pulsante Copia come risorsa SAM nella pagina dei dettagli di ogni applicazione. AWS Serverless Application Repository AWS Serverless Application Repository A tale scopo, seguire queste fasi:

  1. Assicurati di aver effettuato l'accesso a. AWS Management Console

  2. Trova l'applicazione in cui desideri annidare AWS Serverless Application Repository utilizzando i passaggi indicati nella sezione Navigazione, ricerca e distribuzione delle applicazioni della Guida per gli AWS Serverless Application Repository sviluppatori.

  3. Scegli il pulsante Copia come risorsa SAM. La sezione dei modelli SAM per l'applicazione che stai visualizzando è ora negli appunti.

  4. Incolla la sezione del modello SAM nella Resources: sezione del file modello SAM per l'applicazione che desideri annidare in questa applicazione.

Di seguito è riportato un esempio di sezione modello SAM per un'applicazione nidificata ospitata in: AWS Serverless Application Repository

Transform: AWS::Serverless-2016-10-31 Resources: applicationaliasname: Type: AWS::Serverless::Application Properties: Location: ApplicationId: arn:aws:serverlessrepo:us-east-1:123456789012:applications/application-alias-name SemanticVersion: 1.0.0 Parameters: # Optional parameter that can have default value overridden # ParameterName1: 15 # Uncomment to override default value # Required parameter that needs value to be provided ParameterName2: YOUR_VALUE

Se non sono presenti impostazioni dei parametri obbligatorie, è possibile omettere la Parameters: sezione del modello.

Importante

Le applicazioni che contengono applicazioni nidificate ospitate in AWS Serverless Application Repository ereditano le restrizioni di condivisione delle applicazioni nidificate.

Ad esempio, supponiamo che un'applicazione sia condivisa pubblicamente, ma contenga un'applicazione nidificata condivisa privatamente solo con l'account che ha creato l'applicazione principale. AWS In questo caso, se il tuo AWS account non dispone dell'autorizzazione per distribuire l'applicazione nidificata, non puoi distribuire l'applicazione principale. Per ulteriori informazioni sulle autorizzazioni per la distribuzione delle applicazioni, consulta Application Deployment Permissions and Publishing Applications nella Developer Guide. AWS Serverless Application Repository

Definizione di un'applicazione annidata dal file system locale

È possibile definire applicazioni nidificate utilizzando applicazioni archiviate nel file system locale. A tale scopo, è necessario specificare il percorso del file AWS SAM modello archiviato nel file system locale.

Di seguito è riportato un esempio di sezione modello SAM per un'applicazione locale annidata:

Transform: AWS::Serverless-2016-10-31 Resources: applicationaliasname: Type: AWS::Serverless::Application Properties: Location: ../my-other-app/template.yaml Parameters: # Optional parameter that can have default value overridden # ParameterName1: 15 # Uncomment to override default value # Required parameter that needs value to be provided ParameterName2: YOUR_VALUE

Se non sono presenti impostazioni dei parametri, è possibile omettere la Parameters: sezione del modello.

Distribuzione di applicazioni annidate

È possibile distribuire l'applicazione annidata utilizzando il comando. AWS SAM CLI sam deploy Per ulteriori dettagli, consulta Implementazione di applicazioni serverless.

Nota

Quando si distribuisce un'applicazione che contiene applicazioni annidate, è necessario riconoscerlo. A tale scopo, passate CAPABILITY_AUTO_EXPAND all'API o utilizzando il comando. CreateCloudFormationChangeSet aws serverlessrepo create-cloud-formation-change-setAWS CLI

Per ulteriori informazioni sul riconoscimento delle applicazioni annidate, consulta Riconoscimento dei ruoli IAM, delle politiche delle risorse e delle applicazioni annidate durante la distribuzione delle applicazioni nella Guida per gli sviluppatori. AWS Serverless Application Repository