Implementaciones de recursos - 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.

Implementaciones de recursos

Puede realizar implementaciones usando pilas de AWS CloudFormation. Puede crear y administrar las pilas utilizando las herramientas que proporciona Lumberyard.

Un proyecto puede definir cualquier número de implementaciones, hasta los límites que impone AWS CloudFormation (para obtener más información, consulte Límites de AWS CloudFormation). Cada implementación contiene un conjunto totalmente independiente de los recursos que requiere el juego. Por ejemplo, puede tener el desarrollo, las pruebas y las implementaciones de lanzamiento por separado, para que los equipos de desarrollo y pruebas puedan trabajar con independencia de la implementación utilizada para la versión del juego.

Un registroAWScuenta de que aloja un proyecto de Lumberyard contiene los siguientes recursos:

  • {project}— UnAWS CloudFormationpila que actúa como un contenedor para todas las implementaciones del proyecto.

  • {project}-Configuration: un depósito de S3 utilizado para almacenar los datos de configuración.

  • {project}-ProjectResourceHandler: una función Lambda que implementa el controlador de los recursos personalizados usados en las plantillas. Consulte Recursos personalizados.

  • {project}-ProjectResourceHandlerExecution— Una función de IAM que otorga los permisos que utiliza laProjectResourceHandlerFunción lambda cuando se está ejecutando.

  • {project}-PlayerAccessTokenExchange— Una función de Lambda que implementa el paso de intercambio de token en el proceso de inicio de sesión del jugador. Para obtener más información, consulte Control del acceso a los recursos de .

  • {project}-PlayerAccessTokenExchangeExecution— Una función de IAM que otorga los permisos que utiliza laPlayerAccessTokenExchangeFunción de Lambda cuando se ejecuta.

  • {project}-{despliegue}–AWS CloudFormationpilas para cada una de las implementaciones del proyecto.

  • {project}-{despliegue}Access–AWS CloudFormationpilas que controlar el acceso a cada una de las implementaciones del proyecto.

  • {project}-{despliegue}Access-PlayerAccessIdentityPool— Un grupo de identidades de Amazon Cognito utilizado para la identidad del jugador. Para obtener más información, consulte Control del acceso a los recursos de .

  • {project}-{despliegue}Access-PlayerLoginIdentityPool- Un grupo de identidades de Amazon Cognito que proporciona la identidad del jugador temporal utilizado durante el proceso de inicio de sesión del jugador. Para obtener más información, consulte Control del acceso a los recursos de .

  • {project}-{despliegue}-{resource-group}— UnAWS CloudFormationpila para cada grupo de recursos del proyecto.

  • {project}-{despliegue}-{resource-group}-{resource}: los recursos definidos por un grupo de recursos. Debido a la forma en que AWS CloudFormation funciona, partes de estos nombres tienen identificadores únicos adjuntos. Por ejemplo, para un proyecto denominado MyGame con una implementación llamada Development y una característica llamada HighScore, el nombre real de un recurso Scores es: MyGame-Development-1FLFSUKM3MC4B-HighScore-1T7DK9P46SQF8-Scores-1A1WIH6MZKPRI. Las herramientas que proporciona Lumberyard ocultan estos nombres de recursos reales en la mayoría de las circunstancias.

  • {project}-{iam-policy-or-role}: política o rol de IAM que administra los permisos de recursos e implementación. Para obtener más información, consulte Políticas y roles integrados en Cloud Canvas.

Bucket de configuración

La configuraciónBucket de Amazon S3se utilizan para almacenar datos de configuración del proyecto. El bucket se encuentra en /s3/buckets/<projectname>-configuration-<ID>/. Las herramientas proporcionadas con Cloud Canvas administran las cargas en este bucket.

Lauploadcontiene objetos que se cargan desde el{game}/AWSpor las herramientas de Cloud Canvas cuando se realizan operaciones de administración de la pila. A las cargas de cada operación se le asigna un único valor {upload-id} para evitar que operaciones simultáneas tengan efectos entre sí.

project-settings.json

El archivo project-settings.json contiene datos de configuración del proyecto.

La estructura del archivo project-settings.json es la siguiente:

{ "{key}": "{value}", "deployment": { "{deployment}": { "{key}": "{value}", "resource-group": { "{resource-group}": { "{key}": "{value}" } } } } }

Los pares {key} y {value} representan valores de configuración individuales. Los pares de la raíz se aplican al proyecto. Los pares bajo {deployment} se aplican a esa implementación. Los pares de {resource-group} se aplican a ese grupo de recursos. Uno o ambos {deployment} y {resource-group} pueden ser *, para indicar que la configuración que contienen se aplica a todas las implementaciones o grupos de recursos, respectivamente. La configuración de una entrada con nombre prevalece sobre la configuración de una entrada *.

nota

A partir de Lumberyard 1.8, laProjectStackIdse almacena en eldev\<project name>\AWS\local-project-settings.jsonfile. Para obtener más información, consulte Propiedad ProjectStackId.

Propiedad DefaultDeployment

LaDefaultDeploymentidentifica la implementación que se utilizará de forma predeterminada cuando se trabaja en Lumberyard Editor. La propiedad DefaultDeployment del archivo user-settings.json anula esta configuración. Los valores predeterminados del usuario y el proyecto puede establecerse con el comando lmbr_aws deployment default. La configuración DefaultDeployment también la utiliza el comando lmbr_aws mappings update.

Propiedad ReleaseDeployment

La propiedad ReleaseDeployment identifica la implementación que va a usarse en las compilaciones de lanzamiento del juego. La configuración ReleaseDeployment la utiliza el comando lmbr_aws mappings update.

Propiedad DeploymentStackId, PendingDeploymentStackId

La propiedad DeploymentStackId identifica la pila de AWS CloudFormation para una implementación. La propiedad PendingDeploymentStackId identifica una pila cuya implementación está pendiente. Los grupos de recursos del proyectos son elementos secundarios de estas pilas. Para obtener más información, consulte Implementaciones de recursos.

La propiedad DeploymentStackId la establece el comando deployment create. Si por alguna razón desea asociar la implementación con una implementación ya existente, puede utilizar la AWS Management Console para buscar el ARN de la pila y pegarlo en el archivo project-settings.json (vaya a AWS CloudFormation, seleccione la pila, seleccione Overview (Información general) y, a continuación, copie el valor de la propiedad Stack Id).

Propiedad DeploymentAccessStackId

La propiedad DeploymentAccessStackId identifica la pila de AWS CloudFormation para los recursos que controlan el acceso a una implementación.

La propiedad DeploymentAccessStackId la establece el comando deployment create. Si por alguna razón desea asociar la implementación con una pila ya existente, puede utilizar la AWS Management Console para buscar el ARN de la pila y pegarlo en el archivo project-settings.json (vaya a AWS CloudFormation, seleccione la pila, seleccione Overview (Información general) y, a continuación, copie el valor de la propiedad Stack Id).

Propiedad parameter

La propiedad parameter proporciona los valores de los parámetros de las plantillas de recursos. La propiedad debe tener el siguiente formato.

{ ... "parameter": { "{template-parameter-name-1}": {template-parameter-value-1}, ... "{template-parameter-name-n}": {template-parameter-value-n} } ... }