Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Trusted Advisor Als Webservice verwenden
Anmerkung
Trusted Advisor Operationen werden 2024 nicht von der AWS Trusted Advisor Support-API unterstützt. Bitte verwenden Sie die neue AWS Trusted Advisor API, um programmgesteuert auf bewährte Verfahren und Empfehlungen zuzugreifen.
Der AWS -Support Dienst ermöglicht es Ihnen, Anwendungen zu schreiben, die interagieren mit. AWS Trusted Advisor
Themen
Rufen Sie die Liste der verfügbaren Trusted Advisor Prüfungen ab
Der folgende Java-Codeausschnitt erstellt eine Instanz eines Support Clients, mit der Sie alle Trusted Advisor API-Operationen aufrufen können. Als Nächstes ruft der Code die Liste der Trusted Advisor Prüfungen und ihrer entsprechenden CheckId
Werte ab, indem er die DescribeTrustedAdvisorChecksAPI-Operation aufruft. Anhand dieser Informationen können Sie Benutzeroberflächen erstellen, mit denen Benutzer die Prüfung auswählen können, die sie ausführen oder aktualisieren möchten.
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()); } }
Aktualisieren Sie die Liste der verfügbaren Trusted Advisor Prüfungen
Der folgende Java-Codeausschnitt erstellt eine Instanz eines Support Clients, den Sie zum Aktualisieren Trusted Advisor von Daten verwenden können.
// 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()); }
Fragen Trusted Advisor Sie nach Statusänderungen ab
Nachdem Sie die Anfrage zur Ausführung einer Trusted Advisor Prüfung zur Generierung der neuesten Statusdaten eingereicht haben, verwenden Sie den DescribeTrustedAdvisorCheckRefreshStatusesAPI-Vorgang, um den Status der Ausführung der Prüfung und die Verfügbarkeit neuer Daten für die Prüfung abzufragen.
Der folgende Java-Codeausschnitt ruft den Status der angeforderten Prüfung in dem folgenden Abschnitt ab, indem er den Wert verwendet, welcher der CheckId
-Variable entspricht. Darüber hinaus demonstriert der Code mehrere andere Verwendungsmöglichkeiten des Trusted Advisor Dienstes:
-
Sie können
getMillisUntilNextRefreshable
aufrufen, indem Sie Objekte, die in derDescribeTrustedAdvisorCheckRefreshStatusesResult
-Instance enthalten sind, durchlaufen. Sie können den zurückgegebenen Wert verwenden, um zu testen, ob der Code mit der Aktualisierung der Prüfung fortgesetzt werden soll. -
Wenn
timeUntilRefreshable
null entspricht, können Sie eine Aktualisierung der Prüfung anfordern. -
Durch die Verwendung des zurückgegebenen Status können Sie weiterhin Statusänderungen abrufen. Der Codeausschnitt legt das Abrufintervall auf empfohlene zehn Sekunden fest. Wenn der Status entweder
enqueued
oderin_progress
ist, kehrt die Schleife zurück und fordert einen anderen Status an. Wenn der Aufrufsuccessful
zurückgibt, wird die Schleife beendet. -
Schließlich gibt der Code eine Instance eines
DescribeTrustedAdvisorCheckResultResult
-Datentyps zurück, den Sie verwenden können, um die Informationen der Prüfung zu durchlaufen.
Hinweis: Verwenden Sie eine einzelne Aktualisierungsanforderung, bevor Sie den Status der Anforderung abfragen.
// 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. }
Fordern Sie ein Trusted Advisor Prüfergebnis an
Nachdem Sie die Prüfung für die gewünschten detaillierten Ergebnisse ausgewählt haben, reichen Sie mithilfe der DescribeTrustedAdvisorCheckResult API-Operation eine Anfrage ein.
Tipp
Die Namen und Beschreibungen der Trusted Advisor Prüfungen können sich ändern. Wir empfehlen Ihnen, die Prüfungs-ID in Ihrem Code anzugeben, um eine Prüfung eindeutig zu identifizieren. Sie können die DescribeTrustedAdvisorChecksAPI-Operation verwenden, um die Scheck-ID abzurufen.
Der folgende Java-Codeausschnitt verwendet die DescribeTrustedAdvisorChecksResult
-Instance, auf welche die Variable result
verweist, die im vorhergehenden Codeausschnitt erhalten wurde. Nachdem Sie die Anforderung zum Ausführen des Ausschnitts gesendet haben, sendet der Ausschnitt, anstatt eine Prüfung interaktiv über eine Benutzeroberfläche zu definieren, eine Anforderung für die erste Prüfung in der Liste, die ausgeführt werden soll. Dabei wird in jedem result.getChecks().get(0)
-Aufruf als Indexwert 0 angegeben. Als Nächstes definiert der Code eine Instance von DescribeTrustedAdvisorCheckResultRequest
, die er an eine Instance von DescribeTrustedAdvisorCheckResultResult
mit dem Namen checkResult
weiterleitet. Sie können die Mitgliedsstrukturen dieses Datentyps verwenden, um die Ergebnisse der Prüfung anzuzeigen.
// 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(); }
Hinweis: Beim Anfordern eines Trusted Advisor Prüfergebnisses werden keine aktualisierten Ergebnisdaten generiert.
Details eines Trusted Advisor Schecks anzeigen
Der folgende Java-Codeausschnitt wiederholt die DescribeTrustedAdvisorCheckResultResult
Instanz, die im vorherigen Abschnitt zurückgegeben wurde, um eine Liste der Ressourcen zu erhalten, die durch die Prüfung gekennzeichnet wurden. 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()); }