Trusted Advisor Utilización como servicio web - AWS Support

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.

Trusted Advisor Utilización como servicio web

nota

Trusted Advisor la API AWS Trusted Advisor Support no admitirá las operaciones en 2024. Utilice la nueva AWS Trusted Advisor API para acceder mediante programación a las comprobaciones y recomendaciones de las mejores prácticas.

El AWS Support servicio le permite escribir aplicaciones con las que interactuar. AWS Trusted Advisor En este tema se muestra cómo obtener una lista de Trusted Advisor comprobaciones, actualizar una de ellas y, a continuación, obtener los resultados detallados de la comprobación. Estas tareas se han demostrado en Java. Para obtener información de soporte para otros idiomas, consulte Herramientas para Amazon Web Services

Obtenga la lista de Trusted Advisor comprobaciones disponibles

El siguiente fragmento de código Java crea una instancia de un AWS Support cliente que puedes usar para llamar a todas las operaciones de la Trusted Advisor API. A continuación, el código obtiene la lista de Trusted Advisor comprobaciones y sus CheckId valores correspondientes mediante una llamada a la operación de DescribeTrustedAdvisorChecksAPI. Puede utilizar esta información para crear interfaces de usuario que permiten a los usuarios seleccionar la comprobación que desean ejecutar o actualizar.

private static AWSSupport createClient() { return AWSSupportClientBuilder.defaultClient(); } // Get the List of Available Trusted Advisor Checks public static void getTAChecks() { // Possible language parameters: "en" (English), "ja" (Japanese), "fr" (French), "zh" (Chinese) DescribeTrustedAdvisorChecksRequest request = new DescribeTrustedAdvisorChecksRequest().withLanguage("en"); DescribeTrustedAdvisorChecksResult result = createClient().describeTrustedAdvisorChecks(request); for (TrustedAdvisorCheckDescription description : result.getChecks()) { // Do something with check description. System.out.println(description.getId()); System.out.println(description.getName()); } }

Actualiza la lista de Trusted Advisor comprobaciones disponibles

El siguiente fragmento de código Java crea una instancia de un AWS Support cliente que puede utilizar para actualizar Trusted Advisor los datos.

// Refresh a Trusted Advisor Check // Note: Some checks are refreshed automatically, and they cannot be refreshed by using this operation. // Specifying the check ID of a check that is automatically refreshed causes an InvalidParameterValue error. public static void refreshTACheck(final String checkId) { RefreshTrustedAdvisorCheckRequest request = new RefreshTrustedAdvisorCheckRequest().withCheckId(checkId); RefreshTrustedAdvisorCheckResult result = createClient().refreshTrustedAdvisorCheck(request); System.out.println("CheckId: " + result.getStatus().getCheckId()); System.out.println("Milliseconds until refreshable: " + result.getStatus().getMillisUntilNextRefreshable()); System.out.println("Refresh Status: " + result.getStatus().getStatus()); }

Realice un sondeo y Trusted Advisor compruebe si hay cambios de estado

Tras enviar la solicitud para ejecutar una Trusted Advisor comprobación a fin de generar los datos de estado más recientes, se utiliza la operación de la DescribeTrustedAdvisorCheckRefreshStatusesAPI para solicitar el progreso de la ejecución de la comprobación y cuando haya nuevos datos listos para la comprobación.

El siguiente fragmento de código Java obtiene el estado de la comprobación solicitada en la siguiente sección, utilizando el valor correspondiente en la variable CheckId. Además, el código muestra varios otros usos del Trusted Advisor servicio:

  1. Puede hacer una llamada a getMillisUntilNextRefreshable recorriendo los objetos contenidos en la instancia DescribeTrustedAdvisorCheckRefreshStatusesResult. Puede utilizar el valor devuelto para comprobar si desea que el código continúe actualizando la comprobación.

  2. Si timeUntilRefreshable equivale a cero, puede solicitar una actualización de la comprobación.

  3. Con el estado devuelto, puede seguir sondeando los cambios de estado; el fragmento de código establece el intervalo de sondeo a una recomendación de diez segundos. Si el estado es enqueued o in_progress, el bucle devuelve y solicita otro estado. Si la llamada devuelve successful, el bucle termina.

  4. Finalmente, el código devuelve una instancia de un tipo de datos DescribeTrustedAdvisorCheckResultResult que puede utilizar para recorrer la información generada con la comprobación.

Nota: utilice una única solicitud de actualización antes de sondear el estado de la solicitud.

// Retrieves TA refresh statuses. Multiple checkId's can be submitted. public static List<TrustedAdvisorCheckRefreshStatus> getTARefreshStatus(final String... checkIds) { DescribeTrustedAdvisorCheckRefreshStatusesRequest request = new DescribeTrustedAdvisorCheckRefreshStatusesRequest().withCheckIds(checkIds); DescribeTrustedAdvisorCheckRefreshStatusesResult result = createClient().describeTrustedAdvisorCheckRefreshStatuses(request); return result.getStatuses(); } // Retrieves a TA check status, and checks to see if it has finished processing. public static boolean isTACheckStatusInTerminalState(final String checkId) { // Since we only submitted one checkId to getTARefreshStatus, just retrieve the only element in the list. TrustedAdvisorCheckRefreshStatus status = getTARefreshStatus(checkId).get(0); // Valid statuses are: // 1. "none", the check has never been refreshed before. // 2. "enqueued", the check is waiting to be processed. // 3. "processing", the check is in the midst of being processed. // 4. "success", the check has succeeded and finished processing - refresh data is available. // 5. "abandoned", the check has failed to process. return status.getStatus().equals("abandoned") || status.getStatus().equals("success"); } // Enqueues a Trusted Advisor check refresh. Periodically polls the check refresh status for completion. public static TrustedAdvisorCheckResult getFreshTACheckResult(final String checkId) throws InterruptedException { refreshTACheck(checkId); while(!isTACheckStatusInTerminalState(checkId)) { Thread.sleep(10000); } return getTACheckResult(checkId); } // Retrieves fresh TA check data whenever possible. // Note: Some checks are refreshed automatically, and they cannot be refreshed by using this operation. This method // is only functional for checks that can be refreshed using the RefreshTrustedAdvisorCheck operation. public static void pollForTACheckResultChanges(final String checkId) throws InterruptedException { String checkResultStatus = null; do { TrustedAdvisorCheckResult result = getFreshTACheckResult(checkId); if (checkResultStatus != null && !checkResultStatus.equals(result.getStatus())) { break; } checkResultStatus = result.getStatus(); // The rule refresh has completed, but due to throttling rules the checks may not be refreshed again // for a short period of time. // Since we only submitted one checkId to getTARefreshStatus, just retrieve the only element in the list. TrustedAdvisorCheckRefreshStatus refreshStatus = getTARefreshStatus(checkId).get(0); Thread.sleep(refreshStatus.getMillisUntilNextRefreshable()); } while(true); // Signal that a TA check has changed check result status here. }

Solicita el resultado de una Trusted Advisor comprobación

Tras seleccionar la comprobación de los resultados detallados que desee, envíe una solicitud mediante la operación de la API de DescribeTrustedAdvisorCheckresultados.

sugerencia

Los nombres y las descripciones de las Trusted Advisor comprobaciones están sujetos a cambios. Le recomendamos que especifique el ID de verificación en su código para identificar de forma exclusiva una verificación. Puede utilizar la operación de la DescribeTrustedAdvisorChecksAPI para obtener el ID del cheque.

El siguiente fragmento de código Java utiliza la instancia DescribeTrustedAdvisorChecksResult referida por la variable result, que se ha obtenido en el fragmento de código anterior. En lugar de definir una comprobación de forma interactiva a través de una interfaz de usuario, después de enviar la solicitud para su ejecución, el fragmento envía una solicitud de ejecución de la primera comprobación de la lista especificando un valor de índice de 0 en cada llamada result.getChecks().get(0). A continuación, el código define una instancia de DescribeTrustedAdvisorCheckResultRequest, que se pasa a una instancia de DescribeTrustedAdvisorCheckResultResult llamada checkResult. Puede utilizar las estructuras miembros de este tipo de datos para ver los resultados de la comprobación.

// Request a Trusted Advisor Check Result public static TrustedAdvisorCheckResult getTACheckResult(final String checkId) { DescribeTrustedAdvisorCheckResultRequest request = new DescribeTrustedAdvisorCheckResultRequest() // Possible language parameters: "en" (English), "ja" (Japanese), "fr" (French), "zh" (Chinese) .withLanguage("en") .withCheckId(checkId); DescribeTrustedAdvisorCheckResultResult requestResult = createClient().describeTrustedAdvisorCheckResult(request); return requestResult.getResult(); }

Nota: Al solicitar el resultado de una Trusted Advisor comprobación no se generan datos de resultados actualizados.

Muestra los detalles de una Trusted Advisor verificación

El siguiente fragmento de código Java recorre en iteración la DescribeTrustedAdvisorCheckResultResult instancia devuelta en la sección anterior para obtener una lista de los recursos marcados por la verificación. Trusted Advisor

// Show ResourceIds for flagged resources. for (TrustedAdvisorResourceDetail flaggedResource : result1.getResult().getFlaggedResources()) { System.out.println( "The resource for this ResourceID has been flagged: " + flaggedResource.getResourceId()); }