Compartir a través de


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

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:

  1. Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.

  2. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y, en el menú contextual, seleccione Propiedades.

    menú contextual del proyecto del Explorador de soluciones

  3. En la página de propiedades del proyecto, seleccione la pestaña Desarrollo.

    la página de propiedades de Página de propiedades del proyecto: pestaña Desarrollo

  4. En la lista de configuración del servicio , seleccione el nombre de la configuración del servicio que desea editar.

    Captura de pantalla que muestra la lista de configuración del servicio para un proyecto de Azure Cloud Services (soporte extendido).

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.

  1. Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.

  2. 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.

    menú contextual del rol de Azure en el Explorador de Soluciones

  3. Seleccione la pestaña Configuración.

    pestaña Configuración de Pestaña Configuración

  4. 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

  5. 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.

    Actualizando el recuento de instancias

  6. 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.

  1. Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.

  2. 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.

    Menú contextual del rol de Azure en el Explorador de soluciones

  3. Seleccione la pestaña Configuración.

    pestaña de configuración

  4. En la lista de configuración del servicio , seleccione la configuración del servicio que desea actualizar.

    Configuración del servicio

  5. Para agregar una cadena de conexión, seleccione Agregar configuración.

    Agregar cadena de conexión

  6. Una vez agregada la nueva configuración a la lista, actualice la fila de la lista con la información necesaria.

    nueva cadena de conexión

    • 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.
  7. 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.
  8. Para eliminar una cadena de conexión, seleccione la cadena de conexión y, a continuación, seleccione Quitar configuración.

  9. 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#.

  1. 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;
    
  2. 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.

  1. Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.

  2. 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.

    Menú contextual del rol de Azure en el Explorador de soluciones

  3. Seleccione la pestaña Configuración.

    pestaña de Configuración

  4. En la lista Configuración del servicio, seleccione la configuración del servicio que quiera actualizar.

    lista de configuración de servicio 2

  5. Para agregar una configuración personalizada, seleccione Agregar configuración.

    Agregar configuración personalizada

  6. Una vez agregada la nueva configuración a la lista, actualice la fila de la lista con la información necesaria.

    nueva configuración personalizada

    • 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.
  7. Para eliminar una configuración personalizada, seleccione la configuración y, a continuación, seleccione Quitar configuración.

  8. 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#.

  1. 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;
    
  2. 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.

  1. Cree o abra un proyecto de Azure Cloud Services (soporte extendido) en Visual Studio.

  2. 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.

    Menú contextual del rol de Azure en el Explorador de soluciones

  3. Seleccione la pestaña Almacenamiento local.

    pestaña de almacenamiento local

  4. 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.

    Lista de Configuración de Servicios 3

  5. Para agregar una entrada de almacenamiento local, seleccione Agregar almacenamiento local.

    Añadir almacenamiento local

  6. Una vez agregada la nueva entrada de almacenamiento local a la lista, actualice la fila de la lista con la información necesaria.

    nueva entrada de almacenamiento local

    • 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.
  7. Para eliminar una entrada de almacenamiento local, seleccione la entrada y, a continuación, seleccione Quitar almacenamiento local.

  8. 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:

  1. 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.

    Mostrar el emulador de proceso de Azure

  2. Seleccione el rol web.

    emulador de cómputo de Azure

  3. 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

  4. 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.

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 .