Cómo publicar aplicaciones - AWS Serverless Application Repository

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo publicar aplicaciones

En esta sección se proporcionan procedimientos para publicar la aplicación sin servidor en AWS Serverless Application Repository mediante la CLI de AWS SAM o la AWS Management Console. También muestra cómo compartir la aplicación para permitir que otros usuarios la implementen y cómo eliminar la aplicación del AWS Serverless Application Repository.

importante

La información que se introduce al publicar una aplicación no está cifrada. Esta información incluye datos como el nombre del autor. Si tiene información que puede identificarle personalmente y no quiere que se almacene ni se haga pública, le recomendamos que no la especifique al publicar la aplicación.

Publicación de una aplicación (AWS CLI)

La forma más sencilla de publicar una aplicación con AWS Serverless Application Repository es utilizar un conjunto de comandos de la CLI de AWS SAM. Para obtener más información, consulte cómo publicar una aplicación mediante la CLI de AWS SAM en la guía para desarrolladores de AWS Serverless Application Model (AWS SAM).

Publicación de una nueva aplicación (consola)

En esta sección se muestra cómo usar la AWS Management Console para publicar una nueva aplicación en AWS Serverless Application Repository. Para obtener instrucciones sobre cómo publicar una nueva versión de una aplicación existente, consulte Publicación de una nueva versión de una aplicación existente.

Requisitos previos

Para publicar una aplicación en AWS Serverless Application Repository, necesita lo siguiente:

  • Un válidoAWSaccount.

  • Un válidoAWS Serverless Application Model(AWS SAM) que define laAWSrecursos de que se utilizan. Para obtener más información acerca de las plantillas de AWS SAM, consulte el tema sobre los conceptos de las plantillas de AWS SAM.

  • Un paquete para la aplicación que ha creado usando el comando package de AWS CloudFormation para la AWS CLI. Este comando empaqueta los artefactos locales (rutas locales) a los que se hace referencia en una plantilla de AWS SAM. Para obtener más detalles, consulte paquete en la documentación de AWS CloudFormation.

  • Una URL que señala al código fuente de la aplicación, por si quiere publicar la aplicación.

  • Un archivo readme (léame). En este archivo se describe cómo se utiliza la aplicación y cómo configurarla antes de implementarla en su propiaAWScuentas.

  • Un archivo license.txt o un identificador de licencia válido desde el sitio web de SPDX. Tenga en cuenta que solo se requiere una licencia si desea compartir la aplicación públicamente. Si va a mantener su aplicación privada o solo la va a compartir en privado, no necesita especificar una licencia.

  • Una política de buckets de Amazon S3 válida que garantice los permisos de lectura del servicio para artefactos que se han cargado en Amazon S3 cuando empaqueta la aplicación. Para establecer esta política, siga estos pasos:

    1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3.

    2. Elija el bucket de Amazon S3 que usó para empaquetar su aplicación.

    3. Elija la pestaña Permissions (Permisos).

    4. Elija el botón Bucket Policy (Política de bucket).

    5. Pegue la siguiente instrucción de política en el editor de políticas de buckets. Asegúrese de sustituir el nombre del bucket enResourceelemento, y tuAWSID de la cuenta enConditionelemento. La expresión de laConditionElemento garantizarAWS Serverless Application Repositorysolo tiene permiso para acceder a aplicaciones desde la especificadaAWSaccount. Para obtener más información acerca de las instrucciones de las políticas, consulteReferencia de los elementos de las políticas de JSON de IAMen laIAM 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. Seleccione el botón Save (Guardar).

Procedimiento

Cree una nueva aplicación en AWS Serverless Application Repository utilizando el siguiente procedimiento.

Para crear una aplicación nueva en AWS Serverless Application Repository
  1. Abra la AWS Serverless Application Repository console (consola de &SARlong;) y elija Publish applications (Publicar aplicaciones).

  2. En la página Publish an application (Publicar una aplicación) escriba la siguiente información de aplicación y, a continuación, elija Publish application (Publicar aplicación):

    Propiedad Obligatorio Descripción
    Application name (Nombre de la aplicación) TRUE

    Nombre de la aplicación.

    Longitud mínima = 1. Longitud máxima = 140.

    Patrón: "[a-zA-Z0-9\\-]+";

    Autor TRUE

    El nombre del autor que publica la aplicación.

    Longitud mínima = 1. Longitud máxima = 127.

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

    Home page (Página de inicio) FALSE Una URL con más información sobre la aplicación, por ejemplo, la ubicación de su GitHub repositorio de la aplicación.
    Descripción TRUE

    La descripción de la aplicación.

    Longitud mínima = 1. Longitud máxima = 256.

    Etiquetas FALSE

    Las etiquetas que mejoran la detección de las aplicaciones en los resultados de búsqueda.

    Longitud mínima = 1. Longitud máxima = 127. Número máximo de etiquetas: 10.

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

    Spdx license (drop-down list) (Licencia de Spdx (lista desplegable)) FALSE Elija un identificador de licencia válido en el menú desplegable que contenga las licencias disponibles en el sitio web de SPDX. Al elegir un elemento en el menú desplegable, se rellena el cuadro de texto License (Licencia) que aparece debajo. Nota: Al seleccionar una licencia en el menú desplegable, se sustituye el contenido delLicenciay descarta las modificaciones manuales que se hayan realizado.
    Licencia FALSE

    Cargue un archivo de licencia .txt o elija una licencia en el menú desplegable Spdx license (Licencia de Spdx) descrito en la fila anterior. Al elegir una licencia en el menú desplegable Spdx license (Licencia de Spdx), se rellena automáticamente el cuadro de texto License (Licencia). Puede editar manualmente el contenido de este cuadro de texto después de cargar un archivo de licencia o elegir uno en el menú desplegable Spdx license (Licencia de Spdx). Sin embargo, si se elige otra Spdx license (Licencia de Spdx) en el menú desplegable, se descartarán todas las modificaciones manuales que haya realizado.

    Este es un campo opcional, pero debe proporcionar una licencia para compartir la aplicación públicamente.

    Readme (Léame) FALSE

    Cargue el contenido del archivo Readme (Léame), que puede estar en formato de texto o de marcado. Estos contenidos se muestran en la página de detalles de la aplicación en AWS Serverless Application Repository. Puede editar manualmente el contenido de este cuadro de texto después de cargar un archivo.

    Versión semántica FALSE

    La versión semántica de la aplicación. Para obtener más información, consulte el sitio web de control de versiones semánticas.

    Debe proporcionar un valor de esta propiedad para que la aplicación sea pública.

    Source code Url (URL de código fuente) FALSE Un enlace a un repositorio público para el código fuente de la aplicación.
    SAM template (Plantilla de SAM) TRUE

    Un válidoAWS Serverless Application Model(AWS SAM) que define laAWSrecursos de que se utilizan.

Compartir una aplicación

Las aplicaciones publicadas pueden tener permisos establecidos en una de las tres categorías siguientes:

  • Privado (predeterminado)— Las aplicaciones que se han creado con la misma cuenta y no se han compartido con ninguna otraAWSaccount. Solo los consumidores que comparten tuAWStiene permiso para implementar aplicaciones privadas.

  • Compartidas privadamente— Aplicaciones que el editor ha compartido explícitamente con un conjunto específico deAWScuentas, o conAWScuentas en unAWSOrganización. Los consumidores tienen permiso para implementar aplicaciones que se han compartido con susAWScuenta oAWSOrganización. Para obtener más información acerca de AWS Organizations, consulte la Guía del usuario de AWS Organizations.

  • Compartidas públicamente— Aplicaciones que el editor ha compartido con todo el mundo. Todos los consumidores tienen permiso para implementar cualquier aplicación compartida públicamente.

Después de haber publicado una aplicación en AWS Serverless Application Repository, de forma predeterminada se establece en privada. En esta sección se muestra cómo compartir una aplicación privadamente conAWScuentas o unAWSOrganización o compártelo públicamente con todos.

Compartir aplicaciones mediante la consola

Dispone de dos opciones para compartir su aplicación con otras personas: 1) Compártelo con específicosAWScuentas o laAWScuentas dentro de tuAWSorganización, o 2) Compártelo públicamente con todos. Para obtener más información acerca de AWS Organizations, consulte la Guía del usuario de AWS Organizations.

Opción 1: Para compartir tu aplicación con específicosAWScuentas o cuentas dentro de tuAWSorganización
  1. Abra la consola de AWS Serverless Application Repository.

  2. En el panel de navegación, elija Published Applications (Aplicaciones publicadas) para mostrar la lista de las aplicaciones que ha creado.

  3. Elija la aplicación que desea compartir.

  4. Elija la pestaña Sharing (Compartir) .

  5. En la sección Application policy statements (Instrucciones de política de aplicación), elija el botón Create Statement (Crear instrucción) .

  6. En la ventana Statement Configuration (Configuración de la instrucción), rellene los campos en función de cómo desea compartir su aplicación.

    nota

    Si comparte con una organización, solo puede especificar la organización de queAWScuenta es miembro de. Si intenta especificar unAWSOrganización de la que no es miembro, se producirá un error.

    Para compartir tu aplicación con tuAWSOrganización, debe reconocer que elUnshareApplicationse agregará a su instrucción de política, en caso de que el uso compartido deba revocarse en el future.

  7. Seleccione el botón Save (Guardar).

Opción 2: Para compartir su aplicación públicamente con todo el mundo
  1. Abra la consola de AWS Serverless Application Repository.

  2. En el panel de navegación, elija Published Applications (Aplicaciones publicadas) para mostrar la lista de las aplicaciones que ha creado.

  3. Elija la aplicación que desea compartir.

  4. Elija la pestaña Sharing (Compartir) .

  5. En la sección Public Sharing (Compartir públicamente), elija el botón Edit (Editar) .

  6. En Public sharing (Compartir públicamente) elija el botón de opción Enabled (Habilitado) .

  7. En el cuadro de texto escriba el nombre de la aplicación y, a continuación, elija el botón Save (Guardar) .

nota

Para compartir una aplicación públicamente, esta debe tener las propiedades SemanticVersion y LicenseUrl establecidas.

Compartir aplicaciones mediante la AWS CLI

Para compartir una aplicación medianteAWS CLIconcede permisos mediante elput-application-policypara especificar el comandoAWScuentas con las que quiera compartir como directores.

Para obtener más información acerca de compartir su aplicación medianteAWSPara la CLI, consulteAWS Serverless Application RepositoryEjemplos de políticas de aplicación.

Dejar de compartir una aplicación

Existen dos opciones para dejar de compartir una aplicación desde unAWSOrganización:

  1. El editor de la aplicación puede eliminar los permisos mediante el comando put-application-policy.

  2. Un usuario de lacuenta de administraciónde unAWSLa organización puede realizar undejar de compartir aplicaciónen cualquier aplicación compartida con la organización, incluso si un usuario publicó la aplicación desde una cuenta diferente.

    nota

    Cuando una aplicación no se comparte desde unAWSOrganización con la operación «dejar de compartir aplicación», no se puede compartir conAWSOrganización de nuevo.

    Para obtener más información acerca de AWS Organizations, consulte la Guía del usuario de AWS Organizations.

Eliminación de los permisos por parte del editor

Eliminación de los permisos por parte del editor a través de la consola

Para dejar de compartir una aplicación a través de laAWS Management Console, elimine la instrucción de la política de que comparte con otrosAWScuentas. Para ello, siga estos pasos:

  1. Abra la consola de AWS Serverless Application Repository.

  2. Elija Available Applications (Aplicaciones disponibles) en el panel de navegación izquierdo.

  3. Elija la aplicación que desea dejar de compartir.

  4. Elija la pestaña Sharing (Compartir) .

  5. En la sección Application policy statements (Instrucciones de política de aplicación), seleccione la instrucción de política que comparte la aplicación con las cuentas que desea dejar de compartir.

  6. Elija Eliminar (Delete).

  7. Aparecerá un mensaje de confirmación. Elija Eliminar de nuevo.

Eliminación de los permisos por parte del editor a través de la AWS CLI

Para dejar de compartir una aplicación a través de laAWS CLI, el editor puede eliminar o cambiar los permisos de otro modo mediante elput-application-policypara hacer privada la aplicación o compartirla con un conjunto diferente deAWScuentas.

Para obtener más información acerca del cambio de permisos medianteAWSPara la CLI, consulteAWS Serverless Application RepositoryEjemplos de políticas de aplicación.

La cuenta de administración no comparte una aplicación

Cuenta de administración dejar de compartir una aplicación desde unAWSOrganización a través de la consola

Para dejar de compartir una aplicación desde unAWSOrganización a través delAWS Management Console, un usuario de lacuenta de administraciónpuede hacer lo siguiente:

  1. Abra la consola de AWS Serverless Application Repository.

  2. Elija Available Applications (Aplicaciones disponibles) en el panel de navegación izquierdo.

  3. En el icono de la aplicación, elija Unshare (Dejar de compartir).

  4. En el cuadro de mensaje Unshare (Dejar de compartir), confirme que desea dejar de compartir la aplicación especificando el ID de la organización y el nombre de la aplicación y, a continuación, eligiendo Save (Guardar).

Cuenta de administración dejar de compartir una aplicación desde unAWSOrganización a través delAWS CLI

Para dejar de compartir una aplicación desde unAWSOrganización, usuario de lacuenta de administraciónpuede ejecutar elaws serverlessrepo unshare-applicationcomando.

El siguiente comando anula la compartición de una aplicación de unAWSOrganización, dondeid-aplicaciónes el nombre de recurso de Amazon (ARN) de la aplicación yorganization-ides elAWSID de organización:

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

Eliminar una aplicación

Puede eliminar aplicaciones de AWS Serverless Application Repository mediante la AWS Management Console o la CLI de AWS SAM.

Eliminación de una aplicación (consola)

Para eliminar una aplicación publicada a través de la AWS Management Console, haga lo siguiente.

  1. Abra la consola de AWS Serverless Application Repository.

  2. En My Applications (Mis aplicaciones) elija la aplicación que desea eliminar.

  3. En la página de detalles de la aplicación elija Delete application (Eliminar aplicación).

  4. Elija Delete application (Eliminar aplicación) para completar la eliminación.

Eliminación de una aplicación (AWS CLI)

Para eliminar mediante la AWS CLI una aplicación publicada, ejecute el comando aws serverlessrepo delete-application.

El siguiente comando elimina una aplicación, donde application-id es el nombre de recurso de Amazon (ARN) de la aplicación:

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