Configuración de roles de Azure Cloud Services (soporte extendido) con Visual Studio
Nota
Este artículo se aplica a Azure Azure Cloud Services (soporte extendido). Cloud Services (clásico) se retira 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 va a retirar el 31 de agosto de 2024. Para el nuevo desarrollo, se recomienda usar un tipo de servicio más reciente diseñado para su propósito específico, como Azure App Service, Azure Functionso 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 también cómo se ejecuta ese rol.
La información del servicio en la nube se almacena en los archivos siguientes:
- ServiceDefinition.csdef: el archivo de definición de servicio define la configuración en tiempo de ejecución del servicio en la nube, incluidos los roles necesarios, 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 del servicio configura cuántas instancias de un rol 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 valores diferentes para la configuración que controla cómo se ejecuta un rol, puede definir varias configuraciones de servicio. Puede usar una configuración de servicio diferente para cada entorno de implementación. Por ejemplo, puede establecer la 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 de servicio para usar Azure Storage en la nube.
Al crear un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio, se crean automáticamente dos configuraciones de servicio y se agregan al proyecto de Azure:
ServiceConfiguration.Cloud.cscfg
ServiceConfiguration.Local.cscfg
Prerrequisitos
- 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 el componente individual plantillas de proyecto y elemento de .NET Framework 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.
Configuración de un proyecto de Azure Cloud Services (soporte extendido)
Puede configurar un proyecto de Azure Cloud Services (soporte extendido) desde el Explorador de soluciones en Visual Studio, como se muestra en los pasos siguientes:
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.
la página de propiedades de
En la lista de configuración del servicio , seleccione el nombre de la configuración del servicio que desea editar.
Cambio del número de instancias de rol
Para mejorar el rendimiento del servicio en la nube, puede cambiar el número de instancias de un rol que se está ejecutando, en función del número de usuarios o de la carga esperada para un rol determinado. Se crea una máquina virtual independiente para cada instancia de un rol cuando el servicio en la nube se ejecuta 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 Descripción de la factura de Microsoft Azure.
Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.
En 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.
pestaña Configuración de
En la lista de configuración del servicio , seleccione la configuración del servicio que desea actualizar. (Si desea realizar cambios en todas las configuraciones de servicio de 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 editar estas propiedades, debe seleccionar Todas las configuraciones.
Lista de configuración del servicio 1
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.
Administración de cadenas de conexión para cuentas de almacenamiento
Puede agregar, quitar o modificar cadenas de conexión para las configuraciones de servicio. También puede configurar una configuración de servicio en la nube que use una cuenta de almacenamiento en Azure.
Advertencia
Al escribir la información de la clave de la cuenta de Azure Storage para una cadena de conexión de la cuenta de almacenamiento, esta información se almacena localmente en el archivo de configuración del servicio. Sin embargo, esta información no se almacena actualmente como texto cifrado.
Mediante el uso de un valor diferente para cada configuración de servicio, no es necesario usar cadenas de conexión diferentes en el servicio en la nube ni modificar el código al publicar el servicio en la nube en Azure. Puede usar el mismo nombre para la cadena de conexión en el código y el valor es diferente, en función de la configuración del servicio que seleccione al compilar el servicio en la nube o al publicarlo.
Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.
En 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 de configuración del servicio , seleccione la configuración del servicio que desea 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 usar 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 de la opción que seleccione:
- emulador de Microsoft Azure Storage: si selecciona esta opción, la configuración restante del cuadro de diálogo se deshabilita, ya que solo se aplican a Azure. Seleccione Aceptar.
- Su suscripción: si selecciona esta opción, use la lista desplegable para seleccionar e iniciar sesión en una cuenta Microsoft o agregar una cuenta 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 segunda. 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, seleccione la cadena de conexión y, a continuación, 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 mediante 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>"));
Adición de una configuración personalizada para usarla en el proyecto de Azure Cloud Services (soporte extendido)
La configuración personalizada del archivo de configuración del servicio permite agregar un nombre y un valor para una cadena para una configuración de servicio específica. Puede optar por usar esta opción para configurar una característica en el servicio en la nube leyendo el valor de la configuración y usando este valor para controlar la lógica en el código. Puede cambiar estos valores de configuración de servicio sin tener que recompilar el paquete de servicio o cuando se ejecuta el servicio en la nube. El código puede comprobar si hay notificaciones de cuando cambia una configuración. Para obtener más información, consulte Evento RoleEnvironment.Changing.
Puede agregar, quitar o modificar ajustes personalizados de tus configuraciones de servicio. Es posible que desee valores diferentes para estas cadenas para distintas configuraciones de servicio.
Mediante el uso de un valor diferente para cada configuración de servicio, no es necesario usar cadenas diferentes en el servicio en la nube ni modificar el código al publicar el servicio en la nube en Azure. Puede usar el mismo nombre para la cadena en el código y el valor es diferente, en función de la configuración del servicio que seleccione al compilar el servicio en la nube o al publicarlo.
Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.
En 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, seleccione la configuración y, a continuación, seleccione 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 mediante 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>");
Administración del almacenamiento local para cada instancia de rol
Puede agregar almacenamiento del sistema de archivos local para cada instancia de un rol. Los datos almacenados en ese almacenamiento no son accesibles por otras instancias del rol para los que se almacenan los datos o por otros roles.
Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.
En 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 se selecciona Todas las Configuraciones, ya que la configuración de almacenamiento local se aplica a todas las configuraciones de servicio. Cualquier otro valor da como resultado que todos los campos de entrada de la página estén deshabilitados.
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 usar para el nuevo almacenamiento local.
- tamaño (MB): escriba 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, seleccione la entrada y, a continuación, seleccione 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 muestra cómo acceder mediante programación al almacenamiento local mediante C# escribiendo 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. Reemplaza el marcador de posición <LocalStorageName> con 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 en 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 Mostrar 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).
abrir elemento de menú del almacén local
Cuando se abra la ventana del Explorador de Windows, escriba "MyLocalStorageTest.txt" en el cuadro de texto Buscar y presione Enter para iniciar la búsqueda.
Contenido relacionado
Para más información sobre los proyectos de Azure en Visual Studio, lea Configuración de un proyecto de Azure. Para obtener más información sobre el esquema del servicio en la nube, lea la referencia del esquema .