Exportar (0) Imprimir
Expandir todo

Realizar una transferencia a petición

Actualizado: diciembre de 2014

Puede utilizar las clases de Microsoft.WindowsAzure.Diagnostics.Management para realizar una transferencia a petición de datos de diagnóstico. Una transferencia a petición se puede completar desde código que se ejecuta dentro de un rol, desde otra aplicación que se ejecuta en Azure o desde una aplicación fuera de Azure. Antes de completar los pasos de esta sección, deberá inicializar el monitor de diagnóstico y especificar la cuenta de almacenamiento que se va a utilizar. Para ello, vea Habilitar diagnósticos en Windows Azure.

Si está realizando una transferencia a petición desde código que se ejecuta fuera de Azure, debe obtener el identificador de implementación, el nombre de rol y el nombre de la instancia de rol para la aplicación grabándolos manualmente desde el portal.

  1. Inicie sesión en el portal.

  2. Haga clic en Servicios de proceso y, a continuación, expanda el nodo para la aplicación.

  3. Haga clic en la implementación de la aplicación.

  4. Anote el valor de Id. en el panel Propiedades. Este es el identificador de implementación del servicio hospedado.

  5. Expanda el nodo de implementación y, a continuación, haga clic en el nodo del rol desde el que desea recopilar datos de diagnóstico.

  6. Anote el valor de Nombre en el panel Propiedades. Este es el nombre del rol.

  7. Expanda el nodo de rol y, a continuación, haga clic en el nodo de la instancia de rol.

  8. Anote el valor de Nombre en el panel Propiedades. Este es el identificador de la instancia de rol.

Si desea realizar una transferencia a petición desde un rol en ejecución, puede utilizar las propiedades de la clase RoleInstanceDiagnosticManager.

noteNota
Esto se aplica a Azure SDK 2.4 y anteriores.

  1. Abra el archivo de origen del programa que utiliza para realizar la transferencia.

  2. Asegúrese de que el proyecto haga referencia al archivo Microsoft.WindowsAzure.Diagnostics.dll y de agregar las instrucciones "using" siguientes al archivo:

    
    using Microsoft.WindowsAzure.Diagnostics; 
    using Microsoft.WindowsAzure.Diagnostics.Management;
    
    
  3. Obtenga las credenciales de almacenamiento de la configuración. En el ejemplo de código siguiente se muestra cómo utilizar el método Parse para obtener las credenciales:

    var storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=<AccountKey>");
    

    Para obtener más información acerca del uso de las cadenas de conexión, vea Configurar las cadenas de conexión de Azure.

  4. Cree una instancia de la clase DeploymentDiagnosticManager. En el ejemplo de código siguiente se muestra cómo crear una nueva instancia utilizando el objeto de cuenta de almacenamiento y el identificador de implementación:

    
    var diagManager = new DeploymentDiagnosticManager(storageAccount, "<DeploymentID>"); 
    
    

    Donde <DeploymentID> es el valor obtenido en el procedimiento anterior.

  5. Cree un administrador de diagnóstico de instancia de rol. En el ejemplo de código siguiente se muestra cómo crear este administrador de diagnóstico:

    var roleInstDiagMgr = diagManager.GetRoleInstanceDiagnosticManager("<RoleName>", "<RoleInstanceID>");
    

    Donde <RoleName> y <RoleInstanceID> son los valores obtenidos en el procedimiento anterior.

  6. Especifique los registros que desea transferir. En el ejemplo de código siguiente se muestra cómo transferir los registros de Azure:

    DataBufferName dataBuffersToTransfer = DataBufferName.Logs;
    

    Para obtener información acerca de los búferes de datos que se pueden agregar, vea DataBufferName.

  7. Especifique las opciones de transferencia. En el ejemplo de código siguiente se muestra cómo transferir las entradas realizadas desde hace tres horas hasta ahora:

    
    OnDemandTransferOptions transferOptions = new OnDemandTransferOptions();
    transferOptions.NotificationQueueName = "wad-on-demand-transfers";
    var timeInterval = new TimeSpan(3, 0, 0);
    transferOptions.From = DateTime.UtcNow.Subtract(timeInterval);
    transferOptions.To = DateTime.UtcNow;
    
    

    Para obtener más información acerca de las opciones de transferencia, vea OnDemandTransferOptions.

  8. Solicite la transferencia de los datos. En el ejemplo de código siguiente se muestra cómo iniciar la transferencia utilizando los búferes de datos y las opciones de transferencia definidas:

    Guid requestID = roleInstDiagMgr.BeginOnDemandTransfer(dataBuffersToTransfer, transferOptions);
    

Vea también

Mostrar:
© 2015 Microsoft