Configuración de roles de Azure Cloud Services (soporte extendido) con Visual Studio
Nota:
Este artículo afecta a Azure Cloud Services (soporte extendido). Cloud Services (clásico) se va a retirar a partir del 31 de agosto de 2024. Para obtener más información, consulte El modelo de implementación de Cloud Services (clásico) se retirará el 31 de agosto de 2024. Para los desarrollos nuevos, le recomendamos que use un tipo de servicio más reciente diseñado para su propósito específico, como por ejemplo, Azure App Service, Azure Functions o Azure Container Apps. Para obtener la lista más reciente de los servicios disponibles, consulte Directorio de productos de Azure.
Un proyecto de Azure Cloud Services (soporte extendido) puede tener uno o varios roles web o de trabajo. Para cada rol, debe definir cómo se configura ese rol y cómo se ejecuta.
La información para su servicio en la nube se almacena en los siguientes archivos:
- ServiceDefinition.csdef: el archivo de definición de servicio define la configuración del tiempo de ejecución de su servicio en la nube, incluidos los roles que se requieren, los puntos de conexión y el tamaño de la máquina virtual. Ninguno de los datos almacenados en
ServiceDefinition.csdef
se puede cambiar cuando se ejecuta el rol. - ServiceConfiguration.cscfg: el archivo de configuración de servicio configura el número de instancias de un rol que se ejecutan y los valores de la configuración definida para un rol. Los datos almacenados en
ServiceConfiguration.cscfg
se pueden cambiar mientras se ejecuta el rol.
Para almacenar diferentes valores de la configuración que controlan el funcionamiento de su rol, puede tener varias configuraciones del servicio. Puede usar una configuración de servicio diferente para cada entorno de implementación. Por ejemplo, puede ajustar su cadena de conexión de la cuenta de almacenamiento para usar el emulador de Azure Storage local en una configuración de servicio local y crear otra configuración del servicio para usar Azure Storage en la nube.
Al crear un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio, se crean y se agregan al proyecto de Azure dos configuraciones de servicio automáticamente:
ServiceConfiguration.Cloud.cscfg
ServiceConfiguration.Local.cscfg
Requisitos previos
- Visual Studio (consulte [Descargas de Visual Studio] (https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-cta)) con la carga de trabajo Desarrollo de Azure instalada y las plantillas de proyecto y elementos de .NET Framework de Componente individual instaladas. Vea Modificación de Visual Studio.
- Una cuenta de Azure. Si no tiene una cuenta de Azure, active las ventajas de Azure para suscriptores de Visual Studio o regístrese para obtener una evaluación gratuita.
Configurar un proyecto de Azure Cloud Services (soporte extendido)
Puede configurar un proyecto de Azure Cloud Services (soporte extendido) en el Explorador de soluciones en Visual Studio, tal como se indica en los siguientes pasos:
Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.
En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y, en el menú contextual, seleccione Propiedades.
En la página de propiedades del proyecto, seleccione la pestaña Desarrollo.
En la lista Configuración del servicio, seleccione el nombre de la configuración del servicio que desea modificar.
Cambiar el número de instancias de rol
Para mejorar el rendimiento de su servicio en la nube, puede cambiar el número de instancias de un rol que se están ejecutando, en función del número de usuarios o de la carga esperada para un rol concreto. Se crea una máquina virtual independiente para cada instancia de un rol cuando se ejecuta el servicio en la nube en Azure. Esto afecta a la facturación de la implementación de este servicio en la nube. Para más información sobre la facturación, consulte Comprender la factura de Microsoft Azure.
Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.
En el Explorador de soluciones, expanda el nodo del proyecto. En el nodo Roles, haga clic con el botón derecho en el rol que desea actualizar y, en el menú contextual, seleccione Propiedades.
Seleccione la pestaña Configuración.
En la lista Configuración del servicio, seleccione la configuración del servicio que quiera actualizar. (si desea realizar cambios en todas las configuraciones del servicio para este rol, seleccione Todas las configuraciones).
Importante
Si elige una configuración de servicio específica, algunas propiedades están deshabilitadas porque solo se pueden establecer para todas las configuraciones. Para modificar estas propiedades, debe seleccionar Todas las configuraciones.
En el cuadro de texto Recuento de instancias , escriba el número de instancias que quiere iniciar para este rol. Cada instancia se ejecuta en una máquina virtual independiente al publicar el servicio en la nube en Azure.
En la barra de herramientas de Visual Studio, seleccione Guardar.
Administrar cadenas de conexión para cuentas de almacenamiento
Puede agregar, quitar o modificar cadenas de conexión para sus configuraciones de servicio. También puede que desee configurar una configuración de servicio en la nube que use una cuenta de almacenamiento de Azure.
Advertencia
Al especificar la información de la clave de la cuenta de Azure Storage en una cadena de conexión de la cuenta de almacenamiento, esta información se almacena localmente en el archivo de configuración de servicio. Sin embargo, esta información no se almacena actualmente como texto cifrado.
Si usa un valor diferente para cada configuración de servicio, no tendrá que usar cadenas de conexión diferentes en su servicio en la nube ni modificar su código al publicar su servicio en la nube en Azure. Puede usar el mismo nombre para la cadena de conexión en el código y el valor será diferente, en función de la configuración del servicio que selecciona al crear su servicio en la nube o al publicarlo.
Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.
En el Explorador de soluciones, expanda el nodo del proyecto. En el nodo Roles, haga clic con el botón derecho en el rol que desea actualizar y, en el menú contextual, seleccione Propiedades.
Seleccione la pestaña Configuración.
En la lista Configuración del servicio, seleccione la configuración del servicio que quiera actualizar.
Para agregar una cadena de conexión, seleccione Agregar configuración.
Una vez agregada la nueva configuración a la lista, actualice la fila de la lista con la información necesaria.
- Nombre: escriba el nombre que desea utilizar para la cadena de conexión.
- Tipo: seleccione Cadena de conexión en la lista desplegable.
- Valor: puede escribir la cadena de conexión directamente en la celda Valor o seleccionar los puntos suspensivos (...) para trabajar en el cuadro de diálogo Crear cadena de conexión de almacenamiento.
En el cuadro de diálogo Crear cadena de conexión de almacenamiento, seleccione una opción en Conectar utilizando. A continuación, siga las instrucciones para la opción que seleccione:
- Emulador de Microsoft Azure Storage: si selecciona esta opción, las demás opciones del cuadro de diálogo están deshabilitadas cuando afectan solo a Azure. Seleccione Aceptar.
- Su suscripción: si selecciona esta opción, utilice la lista desplegable para seleccionar e iniciar sesión en una cuenta de Microsoft, o bien agregue una cuenta de Microsoft. Seleccione una suscripción de Azure y una cuenta de almacenamiento. Seleccione Aceptar.
- Credenciales especificadas manualmente: escriba el nombre de la cuenta de almacenamiento y la clave principal o secundaria. Seleccione una opción en Conexión (se recomienda HTTPS en la mayoría de los escenarios). Seleccione Aceptar.
Para eliminar una cadena de conexión, selecciónela y seleccione Quitar configuración.
En la barra de herramientas de Visual Studio, seleccione Guardar.
Acceso mediante programación a una cadena de conexión
En los pasos siguientes se muestra cómo acceder mediante programación a una cadena de conexión con C#.
Agregue las siguientes directivas de uso en un archivo de C# donde va a usar la configuración:
using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.ServiceRuntime;
En el código siguiente se muestra un ejemplo de cómo acceder a una cadena de conexión. Reemplace el marcador de posición <ConnectionStringName> por el valor adecuado.
// Setup the connection to Azure Storage var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("<ConnectionStringName>"));
Agregar una configuración personalizada para usarla en el proyecto de Azure Cloud Services (soporte extendido)
La configuración personalizada del archivo de configuración de servicio le permite agregar un nombre y un valor para una cadena de una configuración de servicio específico. Puede elegir usar esta configuración para definir una característica en su servicio en la nube leyendo el valor de la configuración y usando este valor para controlar la lógica de su código. Puede cambiar estos valores de configuración de servicio sin tener que volver a generar el paquete de servicio o cuando se ejecuta el servicio en la nube. Su código puede buscar las notificaciones de cuando cambia un valor. Para obtener más información, consulte RoleEnvironment.Changing Event.
Puede agregar, quitar o modificar valores personalizados para sus configuraciones de servicio. Es posible que quiera valores diferentes para estas cadenas para distintas configuraciones del servicio.
Al usar un valor diferente para cada configuración de servicio, no tendrá que usar distintas cadenas en su servicio en la nube ni modificar su código al publicar su servicio en la nube en Azure. Puede usar el mismo nombre para la cadena en el código y el valor será diferente, en función de la configuración del servicio que selecciona al crear su servicio en la nube o al publicarlo.
Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.
En el Explorador de soluciones, expanda el nodo del proyecto. En el nodo Roles, haga clic con el botón derecho en el rol que desea actualizar y, en el menú contextual, seleccione Propiedades.
Seleccione la pestaña Configuración.
En la lista Configuración del servicio, seleccione la configuración del servicio que quiera actualizar.
Para agregar una configuración personalizada, seleccione Agregar configuración.
Una vez agregada la nueva configuración a la lista, actualice la fila de la lista con la información necesaria.
- Nombre: escriba el nombre de la configuración.
- Tipo: seleccione Cadena en la lista desplegable.
- Valor: escriba el valor de la configuración. Puede especificar el valor directamente en la celda Valor o seleccionar los puntos suspensivos (...) para escribir el valor en el cuadro de diálogo Editar cadena.
Para eliminar una configuración personalizada, selecciónela y elija Quitar configuración.
En la barra de herramientas de Visual Studio, seleccione Guardar.
Acceso mediante programación al valor de una configuración personalizada
En los pasos siguientes se muestra cómo acceder mediante programación a una configuración personalizada con C#.
Agregue las siguientes directivas de uso en un archivo de C# donde va a usar la configuración:
using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.ServiceRuntime;
En el código siguiente se muestra un ejemplo de cómo acceder a una configuración personalizada. Reemplace el marcador de posición <SettingName> por el valor adecuado.
var settingValue = RoleEnvironment.GetConfigurationSettingValue("<SettingName>");
Administrar el almacenamiento local para cada instancia de rol
Puede agregar almacenamiento del sistema de archivos local para cada instancia de un rol. Otras instancias del rol para las que están almacenados los datos u otros roles no pueden acceder a los datos almacenados.
Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.
En el Explorador de soluciones, expanda el nodo del proyecto. En el nodo Roles, haga clic con el botón derecho en el rol que desea actualizar y, en el menú contextual, seleccione Propiedades.
Seleccione la pestaña Almacenamiento local.
En la lista Configuración del servicio, asegúrese de que está seleccionada la opción Todas las configuraciones, ya que la configuración de almacenamiento local afecta a todas las configuraciones del servicio. Cualquier otro valor hará que todos los campos de entrada en la página se deshabiliten.
Para agregar una entrada de almacenamiento local, seleccione Agregar almacenamiento local.
Una vez agregada la nueva entrada de almacenamiento local a la lista, actualice la fila de la lista con la información necesaria.
- Nombre: escriba el nombre que desea utilizar para el nuevo almacenamiento local.
- Tamaño (MB): especifique el tamaño en MB que necesita para el nuevo almacenamiento local.
- Limpiar al reciclar rol: seleccione esta opción para quitar los datos del almacenamiento local cuando se recicla la máquina virtual para este rol.
Para eliminar una entrada de almacenamiento local, selecciónela y active Remove Local Storage (Quitar almacenamiento local).
En la barra de herramientas de Visual Studio, seleccione Guardar.
Acceso mediante programación al almacenamiento local
En esta sección se indica cómo acceder mediante programación al almacenamiento local con C# mediante la escritura de un archivo de texto de prueba: MyLocalStorageTest.txt
.
Escritura de un archivo de texto en el almacenamiento local
En el código siguiente se muestra un ejemplo de cómo escribir un archivo de texto en el almacenamiento local. Reemplace el marcador de posición <LocalStorageName> por el valor adecuado.
// Retrieve an object that points to the local storage resource
LocalResource localResource = RoleEnvironment.GetLocalResource("<LocalStorageName>");
//Define the file name and path
string[] paths = { localResource.RootPath, "MyLocalStorageTest.txt" };
String filePath = Path.Combine(paths);
using (FileStream writeStream = File.Create(filePath))
{
Byte[] textToWrite = new UTF8Encoding(true).GetBytes("Testing Web role storage");
writeStream.Write(textToWrite, 0, textToWrite.Length);
}
Búsqueda de un archivo escrito en el almacenamiento local
Para ver el archivo creado por el código de la sección anterior, siga estos pasos:
En el área de notificación de Windows, haga clic con el botón derecho en el icono de Azure y, en el menú contextual, seleccione Show Compute Emulator UI (Mostrar la interfaz de usuario del emulador de proceso).
Seleccione el rol web.
En el menú Microsoft Azure Compute Emulator (Emulador de proceso de Microsoft Azure), seleccione Herramientas>Open local store (Abrir almacén local).
Cuando se abra la ventana Explorador de Windows, escriba "MyLocalStorageTest.txt" en el cuadro de texto Buscar y pulse Entrar para iniciar la búsqueda.
Contenido relacionado
Para obtener más información sobre los proyectos de Azure en Visual Studio, consulte Configurar un proyecto de Azure. Para obtener más información sobre el esquema del servicio en la nube, consulte Referencia de esquema.