Actualización de proyectos y Cloud Gems a la versión 1.0.0 de Cloud Gem Framework - Guía del usuario de Lumberyard

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.

Actualización de proyectos y Cloud Gems a la versión 1.0.0 de Cloud Gem Framework

Open 3D Engine (O3DE), el sucesor de Lumberyard, ya está disponible en Developer Preview. Descargar O3DEo visite elBlog de AWS Game Techpara obtener más información.

Una gema en la nube es una gema que depende de Cloud Gem Framework. A partir de Lumberyard 1.10 (y Cloud Gem Framework 1.0.0),Compatibilidad con versiones de gemasfacilita mucho el trabajo de actualizar los proyectos de gemas en la nube de Lumberyard. Sin embargo, se necesitan pasos manuales para actualizar los proyectos y gemas que crearon antes de Cloud Gem Framework versión 1.0.0.

Actualización de proyectos de Cloud Gem existentes

Para actualizar un proyecto de gema en la nube, debe actualizar el archivo gems.json del proyecto y la configuración de tiempo de ejecución.

Para actualizar un proyecto de Lumberyard existente

  1. En el archivo dev\<project-name>\gems.json del proyecto, busque la entrada de CloudGemFramework. Cambie el valor de Version a 1.0.0 y el valor de Path a Gems/CloudGemFramework/v1, como en el siguiente ejemplo.

    { "Path": "Gems/CloudGemFramework/v1", "Uuid": "6fc787a982184217a5a553ca24676cfa", "Version": "1.0.0", "_comment": "CloudGemFramework" },
  2. En una ventana de línea de comandos, ejecute el siguiente comando para actualizar la configuración de tiempo de ejecución del proyecto.

    dev\Tools\LmbrSetup\Win\lmbr.exe projects populate-appdescriptors -projects <project-name>

    Para obtener más información acerca de populate-appdescriptors, consulte Comandos de proyectos en la documentación de Administración de proyectos de juegos con Lmbr.exe.

Actualice el directorio de AWS del proyecto

Para actualizar el directorio de AWS, del proyecto, debe eliminar el proyecto, el acceso a la implementación y los archivos de plantilla de implementación. Sin embargo, antes de eliminar los archivos de plantilla, debe guardar los roles o recursos que añadió.

Para actualizar el directorio de AWS.

  1. Elimine directorio <project>\AWS\project-code. Si ha realizado cambios en este código, debe actualizar el contenido del directorio CloudGemFramework\vN\lambda-code para conservar los cambios efectuados.

  2. Si ha añadido roles u otros recursos al archivo <project>\AWS\project-template.json, cree un archivo <project>\AWS\project-template-extensions.json y copie esas definiciones de recursos al archivo project-template-extensions.json.

  3. Elimine el archivo <project>\AWS\project-template.json.

  4. Si ha añadido roles u otros recursos al archivo <project>\AWS\deployment-access-template.json, cree un archivo <project>\AWS\deployment-access-template-extensions.json y copie esas definiciones de recursos al archivo deployment-access-template-extensions.json.

  5. Elimine el archivo <project>\AWS\deployment-access-template.json.

  6. Si ha añadido recursos al archivo <project>\AWS\deployment-template.json, cree un archivo <project>\AWS\deployment-template-extensions.json y copie esas definiciones de recursos al archivo deployment-template-extensions.json.

  7. Elimine el archivo <project>\AWS\deployment-template.json.

Actualice los directorios del grupo de recursos del proyecto

Cuando no existen recursos Lambdade para un grupo de recursos, simplemente puede eliminar los directorios de código Lambdadel grupo de recursos.

Eliminar los directorios de código de Lambda de un grupo de recursos de proyecto

  1. Para cada directorio <project>\AWS\resource-group\<resource-group-name>, compruebe si su archivo resource-template.json define los recursos de la función AWS Lambda.

  2. Si el archivo deresource-template.jsonno define ningún recurso de Lambda, elimine los siguientes directorios:

    • <project>\AWS\resource-group\<resource-group-name>\lambda-function-code

    • <project>\AWS\resource-group\<resource-group-name>\<lambda-name>-lambda-code

  3. Si el archivo resource-template.json define recursos de función AWS Lambda, siga los pasos que se describen en Actualización del código de Lambda.

Actualización de Cloud Gems existentes

Para actualizar una gema en la nube, debe actualizar lagem.jsony elimine sus directorios de código Lambda o actualice su código Lambda.

Actualizar una gema en la nube existente

  1. En el archivo <gem>\gem.json, busque la entrada de CloudGemFramework. Cambie VersionConstraints al siguiente valor.

    "VersionConstraints": [ "~>1.0" ],
  2. Si el archivo <gem>\AWS\resource-template.json no existe o no define ningún recurso de función AWS Lambda, elimine el directorio <gem>\AWS\lambda-function-code y cualquier directorio <gem>\AWS\<lambda-name>-lambda-code. En caso contrario, realice los pasos indicados en Actualización del código de Lambda.

Actualización del código de Lambda

La actualización del código Lambda implica reorganizar los directorios de código Lambda existentes y crear.importArchivos según sea necesario. Para obtener más información sobre los motivos de esta reestructuración de directorios, consulte Cloud Gem Framework y control de versiones del administrador de recursos.

Para actualizar el código Lambda

  1. Para cada uno de los siguientes directorios de código Lambda, siga los pasos que aparecen a continuación.

    • <project>\AWS\resource-group\<resource-group-name>\lambda-function-code

    • <project>\AWS\resource-group\<resource-group-name>\<lambda-name>-lambda-code

    • <gem>\AWS\lambda-function-code

    • <gem>\AWS\<lambda-name>-lambda-code

  2. Si el directorio de código contiene los archivos service.py y errors.py que apoyan el envío de la API de servicio, elimínelos y añada un archivo .import con el siguiente contenido al directorio:

    CloudGemFramework.LambdaService
  3. Si el directorio de código contiene un subdirectorio CloudCanvas, elimine el subdirectorio. Si no tiene que crear un archivo .import en el paso 2, añada un archivo .import que tenga el siguiente contenido:

    CloudGemFramework.LambdaSettings

    Si ya ha creado un archivo .import en el paso 2, añada CloudGemFramework.LambdaSettings al archivo .import, como en el siguiente ejemplo:

    CloudGemFramework.LambdaService CloudGemFramework.LambdaSettings
  4. Mueva el contenido del directorio de código (junto con el nuevo archivo .import, si lo hubiera) a un directorio <parent-dir>\lambda-code\<lambda-name>. Tenga en cuenta lo siguiente:

    • Si tenías código para varias funciones de Lambda en el sencillolambda-function-code, decida qué módulos colocar en el subdirectorio dellambda-codey colócalos ahí.

    • Si dispone de código que utilizan varias funciones de Lambda, ponga ese código en un<parent-dir>\common-code\<import-name>directory. Para incluir el código con el resto del código de Lambda al cargarlo, utilice un.importfile.

Para obtener más información sobre estos cambios, consulte Cloud Gem Framework y control de versiones del administrador de recursos.