Pubblicazione delle applicazioni - AWS Serverless Application Repository

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

Pubblicazione delle applicazioni

In questa sezione vengono fornite le procedure per la pubblicazione dell'applicazione serverless in AWS Serverless Application Repository tramite l'interfaccia a riga di comando AWS SAM o la AWS Management Console. Viene inoltre illustrato come condividere l'applicazione per consentire ad altri di distribuirla ed eliminare l'applicazione da AWS Serverless Application Repository.

Importante

Le informazioni immesse durante la pubblicazione di un'applicazione non sono crittografate. Queste informazioni includono dati come il nome dell'autore. Se si dispone di informazioni personali che non si desidera archiviare o rendere pubbliche, ti consigliamo di non inserire queste informazioni durante la pubblicazione dell'applicazione.

Pubblicazione di un'applicazione (AWS CLI)

Il modo più semplice per pubblicare un'applicazione con AWS Serverless Application Repository è utilizzare un set di comandi dell'interfaccia a riga di comando AWS SAM. Per ulteriori informazioni, consulta Pubblicazione di un'applicazione utilizzando l'interfaccia a riga di comando AWS SAM nella Guida per gli sviluppatori di AWS Serverless Application Model (AWS SAM).

Pubblicazione di una nuova applicazione (console)

In questa sezione viene illustrato come utilizzare la AWS Management Console per pubblicare una nuova applicazione in AWS Serverless Application Repository. Per istruzioni sulla pubblicazione di una nuova versione di un'applicazione esistente, consulta Pubblicazione di una nuova versione di un'applicazione esistente.

Prerequisiti

Prima di pubblicare un'applicazione in AWS Serverless Application Repository, devi disporre di quanto segue:

  • Una validaAWSconto.

  • Una validaAWS Serverless Application Model(AWS SAM) modello che definisce ilAWSrisorse utilizzate. Per ulteriori informazioni sui modelli AWS SAM, consulta Nozioni di base dei modelli AWS SAM.

  • Un pacchetto per l'applicazione creato utilizzando il comando AWS CloudFormation package per l'AWS CLI. Tale comando crea un pacchetto per gli artefatti locali (percorsi locali) a cui fa riferimento il modello AWS SAM. Per ulteriori dettagli, consulta pacchetti nella documentazione AWS CloudFormation.

  • Un URL che punti al codice sorgente dell'applicazione, qualora intendi rendere pubblica la tua applicazione.

  • Un file readme.txt file. Questo file dovrebbe descrivere in che modo i clienti possono utilizzare l'applicazione e come configurarla prima di distribuirla in modo indipendente.AWSconti.

  • Un file license .txt o un identificatore di licenza valido dal sito Web SPDX. Una licenza è necessaria solo se desideri condividere pubblicamente l'applicazione. Per mantenere l'applicazione privata o per condividerla solo privatamente, non è necessario specificare una licenza.

  • Una policy valida per i bucket Amazon S3 che conceda al servizio le autorizzazioni di lettura degli artefatti caricati in Amazon S3 una volta creato il pacchetto dell'applicazione. Per impostare questa policy, attieniti alla seguente procedura:

    1. Apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

    2. Scegliere il bucket Amazon S3 utilizzato per il pacchetto dell'applicazione.

    3. Scegliere la scheda Permissions (Autorizzazioni).

    4. Scegliere il pulsante Bucket Policy (Policy bucket).

    5. Incollare l'istruzione di policy seguente nell'editor delle policy dei bucket. Assicurarsi di sostituire il nome del bucket inResourceelemento e il tuoAWSID account inConditionelemento. L'espressione nellaConditionGarantireAWS Serverless Application Repositoryha solo il permesso di accedere alle applicazioni da quelle specificateAWSconto. Per ulteriori informazioni sulle policy, consulta.Documentazione di riferimento degli elementi delle policy JSON IAMnellaIAM User Guide.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "serverlessrepo.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::bucketname/*", "Condition" : { "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
    6. Seleziona il pulsante Save (Salva).

Procedura

Con la seguente procedura si può creare una nuova applicazione in AWS Serverless Application Repository.

Per creare una nuova applicazione in AWS Serverless Application Repository
  1. Aprire la console AWS Serverless Application Repository e selezionare Publish applications (Pubblica applicazioni).

  2. Nella pagina Publish an application (Pubblica un'applicazione) immettere le seguenti informazioni sull'applicazione e quindi scegliere Publish application (Pubblica applicazione):

    Proprietà Obbligatorio Descrizione
    Application name (Nome applicazione) TRUE

    Il nome dell'applicazione.

    Lunghezza minima = 1. Lunghezza massima = 140.

    Modello: "[a-zA-Z0-9\\-]+";

    Autore TRUE

    Il nome dell'autore che pubblica l'applicazione.

    Lunghezza minima = 1. Lunghezza massima = 127.

    Modello: "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

    Home page FALSE Un URL con ulteriori informazioni sull'applicazione, ad esempio la posizione del tuo GitHub repository per l'applicazione.
    Descrizione TRUE

    Descrizione dell'applicazione.

    Lunghezza minima = 1. Lunghezza massima = 256.

    Etichette FALSE

    Etichette che migliorano l'individuazione delle applicazioni nei risultati di ricerca.

    Lunghezza minima = 1. Lunghezza massima = 127. Numero massimo di etichette: 10.

    Modello: "^[a-zA-Z0-9+\\-_:\\/@]+$";

    Spdx license (Licenza Spdx) (elenco a discesa) FALSE Scegli un identificatore di licenza valido dal menu a discesa contenente le licenze disponibili sul sito Web SPDX. La scelta di una voce nell'elenco a discesa popola la casella di testo License (Licenza) sottostante. Nota: La scelta di una licenza nell'elenco a discesa sostituisce i contenuti dell'LicenzaUna casella di testo e rimuove le modifiche apportate manualmente.
    Licenza FALSE

    Carica un file di licenza .txt o scegli una licenza dal menu a discesa Spdx license (Licenza Spdx) descritto in precedenza. La scelta di una licenza dal menu a discesa Spdx license (Licenza Spdx) popola automaticamente la casella di testo License (Licenza). Puoi modificare manualmente il contenuto di questa casella di testo dopo aver caricato un file di licenza o averne scelto uno dal menu a discesa Spdx license (Licenza Spdx). Tuttavia, se un'altra licenza Spdx viene scelta dal menu a discesa, tutte le modifiche manuali che hai apportato vengono rimosse.

    Si tratta di un campo facoltativo, ma è necessario fornire una licenza per condividere l'applicazione pubblicamente.

    Readme FALSE

    Carica i contenuti del file Readme che possono essere in formato testo o markdown. Questi contenuti vengono visualizzati nella pagina dei dettagli dell'applicazione in AWS Serverless Application Repository. Puoi modificare manualmente il contenuto di questa casella di testo dopo aver caricato un file.

    Semantic version (Versione semantica) FALSE

    La versione semantica dell'applicazione. Per ulteriori informazioni, consulta il sito Web sulla versione semantica.

    È necessario fornire un valore per questa proprietà per rendere pubblica l'applicazione.

    URL codice sorgente FALSE Un collegamento a un repository pubblico per il codice sorgente dell'applicazione.
    Modello SAM TRUE

    Una validaAWS Serverless Application Model(AWS SAM) modello che definisce ilAWSrisorse utilizzate.

Condivisione di un'applicazione

Le applicazioni pubblicate possono avere autorizzazioni impostate in una delle tre seguenti categorie:

  • Privato (predefinito)— Applicazioni create con lo stesso account e non condivise con nessun altroAWSconto. Solo i consumatori che condividono il tuoAWSha l'autorizzazione per distribuire applicazioni private.

  • Condivise privatamente— Applicazioni che il publisher ha condiviso esplicitamente con un set specifico diAWSconti o conAWSconti in unAWSOrganizzazione. I consumatori hanno l'autorizzazione per distribuire le applicazioni che sono state condivise con iAWSaccount oAWSOrganizzazione. Per ulteriori informazioni su AWS Organizations, consulta la Guida per l'utente di AWS Organizations.

  • Condivise pubblicamente— Applicazioni che il publisher ha condiviso con tutti. Tutti i consumatori hanno l'autorizzazione per distribuire qualsiasi applicazione condivisa pubblicamente.

Dopo la pubblicazione di un'applicazione su AWS Serverless Application Repository, per impostazione predefinita questa è impostata come privata. Questa sezione illustra le modalità di condivisione di un'applicazione privatamente conAWSconti o unAWSOrganizzazione o condividila pubblicamente con tutti.

Condivisione di un'applicazione tramite la console

Per condividere l'applicazione con altre opzioni: 1) Condividilo con specificiAWSconti o ilAWSaccount all'interno del tuoAWSorganizzazione, o 2) Condividilo pubblicamente con tutti. Per ulteriori informazioni su AWS Organizations, consulta la Guida per l'utente di AWS Organizations.

Opzione 1: Per condividere la tua applicazione con specificheAWSaccount o account all'interno del tuoAWSorganizzazione
  1. Aprire la console AWS Serverless Application Repository.

  2. Nel riquadro di navigazione, selezionare Published Applications (Applicazioni pubblicate) per visualizzare l'elenco delle applicazioni create.

  3. Scegliere l'applicazione che si intende condividere.

  4. Scegliere la scheda Sharing (Condivisione) .

  5. Nella sezione Application policy statements (Istruzioni di policy dell’applicazione) scegliere il pulsante Create Statement (Crea istruzione) .

  6. Nella finestra Statement Configuration (Configurazione istruzione) compilare i campi in base a come si desidera condividere l'applicazione.

    Nota

    Se si condivide con un'organizzazione, è possibile specificare solo l'organizzazione che siAWSaccount è membro di. Se si tenta di specificare unAWSL'organizzazione di cui non si è membri, si verificherà un errore.

    Per condividere la tua applicazione con il tuoAWSOrganizzazione, è necessario riconoscere che ilUnshareApplicationUn'azione verrà aggiunta alla dichiarazione di policy, nel caso in cui la condivisione debba essere revocata in future.

  7. Seleziona il pulsante Save (Salva).

Opzione 2: Per condividere pubblicamente l'applicazione con tutti
  1. Aprire la console AWS Serverless Application Repository.

  2. Nel riquadro di navigazione, selezionare Published Applications (Applicazioni pubblicate) per visualizzare l'elenco delle applicazioni create.

  3. Scegliere l'applicazione che si intende condividere.

  4. Scegliere la scheda Sharing (Condivisione) .

  5. Nella sezione Public Sharing (Condivisione pubblica) scegliere il pulsante Edit (Modifica) .

  6. In Public Sharing (Condivisione pubblica) scegliere il pulsante di opzione Enabled (Abilitata) .

  7. Nella casella di testo digitare il nome dell'applicazione, quindi scegliere il pulsante Save (Salva) .

Nota

Per condividere pubblicamente un'applicazione, entrambe le proprietà SemanticVersion e LicenseUrl devono essere impostate.

Condivisione di un'applicazione tramite AWS CLI

Per condividere un'applicazione tramiteAWS CLIconcedi autorizzazioni utilizzando ilput-application-policycomando per specificare ilAWSaccount con cui si desidera condividere come principals.

Per ulteriori informazioni sulla condivisione dell'applicazione tramiteAWSCLI, consulta.AWS Serverless Application RepositoryEsempi di politiche applicative.

Annullamento della condivisione di un'applicazione

Sono disponibili due opzioni per annullare la condivisione di un'applicazione daAWSOrganizzazione:

  1. L'autore dell'applicazione può rimuovere le autorizzazioni utilizzando il comando put-application-policy.

  2. Un utente delgestione dell'accountdi unAWSL'organizzazione può eseguire unannullare la condivisione applicazioneOperation su qualsiasi applicazione condivisa con l'organizzazione, anche se l'applicazione è stata pubblicata da un utente di un account diverso.

    Nota

    Quando un'applicazione non è condivisa da unAWSOrganizzazione con l'operazione «annullamento condivisione applicazione», la medesima non può essere condivisa conAWSAncora un'organizzazione.

    Per ulteriori informazioni su AWS Organizations, consulta la Guida per l'utente di AWS Organizations.

Autorizzazioni di rimozione del publisher

Autorizzazioni di rimozione del publisher mediante la console

annullare la condivisione di un'applicazione tramiteAWS Management Console, si rimuove l'istruzione di policy che la condivide con altriAWSconti. A tale scopo, seguire queste fasi:

  1. Aprire la console AWS Serverless Application Repository.

  2. Scegliere Available Applications (Applicazioni disponibili) nel riquadro di navigazione sinistro.

  3. Scegliere l'applicazione per la quale si intende annullare la condivisione.

  4. Scegliere la scheda Sharing (Condivisione) .

  5. Nella sezione Application policy statements (Istruzioni di policy dell’applicazione) selezionare l'istruzione di policy che condivide l'applicazione con gli account da cui si desidera annullare la condivisione.

  6. Scegliere Delete (Elimina).

  7. Verrà visualizzato un messaggio di conferma. Scegliere Delete (Elimina) di nuovo.

Autorizzazioni di rimozione del publisher tramite l’AWS CLI

annullare la condivisione di un'applicazione tramiteAWS CLI, l'editore può rimuovere o modificare in altro modo le autorizzazioni utilizzando ilput-application-policycomando per rendere l'applicazione privata o condividerla con un diverso set diAWSconti.

Per ulteriori informazioni sulla modifica delle autorizzazioni tramiteAWSCLI, consulta.AWS Serverless Application RepositoryEsempi di politiche applicative.

Account di gestione annullamento della condivisione di un'applicazione

Account di gestione annullare la condivisione di un'applicazione da unAWSOrganizzazione tramite la console

Per annullare la condivisione di un'applicazione da unAWSOrganizzazione attraverso ilAWS Management Console, un utente delgestione dell'accountpossono eseguire le operazioni descritte di seguito.

  1. Aprire la console AWS Serverless Application Repository.

  2. Scegliere Available Applications (Applicazioni disponibili) nel riquadro di navigazione sinistro.

  3. Nel riquadro dell'applicazione, scegliere Unshare (Annulla condivisione).

  4. Nella finestra di annullamento della condivisione confermare che si desidera annullare la condivisione dell'applicazione immettendo l'ID del organizzazione e il nome dell'applicazione, quindi selezionare Save (Salva).

Account di gestione annullare la condivisione di un'applicazione da unAWSOrganizzazione attraverso ilAWS CLI

Per annullare la condivisione di un'applicazione da unAWSOrganizzazione, un utente delgestione dell'accountpuò eseguire ilaws serverlessrepo unshare-applicationcomando.

Il seguente comando non condivide un'applicazione da unAWSOrganizzazione, doveapplication-idè l'Amazon Resource Name (ARN) dell'applicazione eorganizzazione-idè ilAWSID organizzazione:

aws serverlessrepo unshare-application --application-id application-id --organization-id organization-id

Eliminazione di un'applicazione

Puoi eliminare le applicazioni da AWS Serverless Application Repository utilizzando la AWS Management Console o l'interfaccia a riga di comando AWS SAM.

Eliminazione di un'applicazione (console)

Per eliminare un'applicazione pubblicata tramite la AWS Management Console, esegui le operazioni descritte di seguito.

  1. Aprire la console AWS Serverless Application Repository.

  2. In le mie applicazioni, selezionare l'applicazione da eliminare.

  3. Nella pagina dei dettagli dell'applicazione, scegli Elimina applicazione.

  4. Scegli Elimina applicazione per completare l'eliminazione.

Eliminazione di un'applicazione (AWS CLI)

Per eliminare un'applicazione pubblicata utilizzando l'AWS CLI, esegui il comando aws serverlessrepo delete-application.

Il comando seguente elimina un'applicazione, dove application-id è l’Amazon Resource Name (ARN) dell'applicazione:

aws serverlessrepo delete-application --application-id application-id