Menggunakan Trusted Advisor sebagai layanan web - AWS Support

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan Trusted Advisor sebagai layanan web

catatan

Trusted Advisor operasi tidak akan didukung oleh AWS Trusted Advisor Support API pada tahun 2024. Silakan gunakan AWS Trusted Advisor API baru untuk mengakses pemeriksaan dan rekomendasi praktik terbaik secara terprogram.

AWS Support Layanan ini memungkinkan Anda untuk menulis aplikasi yang berinteraksi dengan AWS Trusted Advisor. Topik ini menunjukkan kepada Anda cara mendapatkan daftar Trusted Advisor cek, menyegarkan salah satunya, dan kemudian mendapatkan hasil terperinci dari cek. Tugas-tugas ini ditunjukkan di Java. Untuk informasi tentang dukungan untuk bahasa lainnya, lihat Tools untuk Amazon Web Services.

Dapatkan daftar Trusted Advisor cek yang tersedia

Cuplikan kode Java berikut membuat instance AWS Support klien yang dapat Anda gunakan untuk memanggil semua operasi Trusted Advisor API. Selanjutnya, kode mendapatkan daftar Trusted Advisor pemeriksaan dan CheckId nilai yang sesuai dengan memanggil operasi DescribeTrustedAdvisorChecksAPI. Anda dapat menggunakan informasi ini untuk membangun antarmuka pengguna yang memungkinkan pengguna untuk memilih pemeriksaan yang ingin mereka jalankan atau segarkan.

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()); } }

Segarkan daftar Trusted Advisor cek yang tersedia

Cuplikan kode Java berikut membuat instance AWS Support klien yang dapat Anda gunakan untuk menyegarkan Trusted Advisor data.

// 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()); }

Polling Trusted Advisor cek untuk perubahan status

Setelah mengirimkan permintaan untuk menjalankan Trusted Advisor pemeriksaan guna menghasilkan data status terbaru, Anda menggunakan operasi DescribeTrustedAdvisorCheckRefreshStatusesAPI untuk meminta kemajuan proses pemeriksaan, dan kapan data baru siap untuk diperiksa.

Potongan kode Java berikut mengambil status pemeriksaan yang diminta di bagian berikut menggunakan nilai yang sesuai di variabel CheckId. Selain itu, kode menunjukkan beberapa kegunaan lain dari Trusted Advisor layanan:

  1. Anda dapat memanggil getMillisUntilNextRefreshable dengan melintasi objek yang terkandung dalam instans DescribeTrustedAdvisorCheckRefreshStatusesResult. Anda dapat menggunakan nilai yang dikembalikan untuk menguji apakah Anda ingin kode Anda melanjutkan dengan menyegarkan pemeriksaan tersebut.

  2. Jika timeUntilRefreshable sama dengan nol, Anda dapat meminta penyegaran pemeriksaan.

  3. Dengan menggunakan status yang dikembalikan, Anda dapat terus melakukan polling untuk perubahan status; potongan kode menetapkan interval polling ke sepuluh detik yang disarankan. Jika statusnya enqueued atau in_progress, putaran kembali dan meminta status lain. Jika panggilan mengembalikan successful, putaran berakhir.

  4. Akhirnya, kode mengembalikan sebuah instans dari tipe data DescribeTrustedAdvisorCheckResultResult yang dapat Anda gunakan untuk melintasi informasi yang dihasilkan oleh pemeriksaan tersebut.

Catatan: Gunakan permintaan penyegaran tunggal sebelum polling untuk status permintaan tersebut.

// 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. }

Minta hasil Trusted Advisor cek

Setelah Anda memilih cek untuk hasil rinci yang Anda inginkan, Anda mengirimkan permintaan menggunakan operasi DescribeTrustedAdvisorCheckResult API.

Tip

Nama dan deskripsi untuk Trusted Advisor cek dapat berubah sewaktu-waktu. Kami menyarankan Anda menentukan ID pemeriksaan dalam kode Anda untuk secara unik mengidentifikasi pemeriksaan. Anda dapat menggunakan operasi DescribeTrustedAdvisorChecksAPI untuk mendapatkan ID cek.

Potongan kode Java berikut menggunakan instans DescribeTrustedAdvisorChecksResult yang direferensikan oleh variabel result yang diperoleh di potongan kode sebelumnya. Daripada mendefinisikan pemeriksaan secara interaktif melalui antarmuka pengguna, setelah Anda mengirimkan permintaan untuk menjalankan potongan kode tersebut, kirim permintaan untuk pemeriksaan pertama dalam daftar yang akan dijalankan dengan menentukan nilai indeks 0 di setiap panggilan result.getChecks().get(0). Selanjutnya, kode mendefinisikan sebuah instans dari DescribeTrustedAdvisorCheckResultRequest yang diberikan ke sebuah instans dari DescribeTrustedAdvisorCheckResultResult yang disebut checkResult. Anda dapat menggunakan struktur anggota tipe data ini untuk melihat hasil pemeriksaan.

// 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(); }

Catatan: Meminta Hasil Trusted Advisor Pemeriksaan tidak menghasilkan data hasil yang diperbarui.

Tampilkan detail Trusted Advisor cek

Cuplikan kode Java berikut berulang atas DescribeTrustedAdvisorCheckResultResult instance yang dikembalikan di bagian sebelumnya untuk mendapatkan daftar sumber daya yang ditandai oleh cek. 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()); }