Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
API pengujian beban terdistribusi
Solusi pengujian beban ini membantu Anda mengekspos data hasil pengujian dengan cara yang aman. API bertindak sebagai “pintu depan” untuk akses ke data pengujian yang disimpan di Amazon DynamoDB. Anda juga dapat menggunakan APIs untuk mengakses fungsionalitas tambahan apa pun yang Anda buat ke dalam solusi.
Solusi ini menggunakan kumpulan pengguna Amazon Cognito yang terintegrasi dengan Amazon API Gateway untuk identifikasi dan otorisasi. Ketika kumpulan pengguna digunakan dengan API, klien hanya diperbolehkan memanggil metode yang diaktifkan kumpulan pengguna setelah mereka memberikan token identitas yang valid.
Untuk informasi selengkapnya tentang menjalankan pengujian secara langsung melalui API, lihat Permintaan Penandatanganan di dokumentasi Referensi API REST API Amazon API Gateway.
Operasi berikut tersedia di API solusi.
catatan
Untuk informasi lebih lanjut tentang testScenario dan parameter lainnya, lihat skenario
Info Tumpukan
Skenario
Uji Berjalan
Baseline
Tugas
Daerah
DAPATKAN /tumpukan-info
Deskripsi
GET /stack-infoOperasi mengambil informasi tentang tumpukan yang digunakan termasuk waktu pembuatan, wilayah, dan versi. Endpoint ini digunakan oleh front-end.
Respons
200 - Sukses
| Nama | Deskripsi |
|---|---|
|
|
Stempel waktu ISO 8601 saat tumpukan dibuat (misalnya,) |
|
|
Wilayah AWS tempat tumpukan digunakan (misalnya, |
|
|
Versi solusi yang diterapkan (misalnya, |
Tanggapan Kesalahan
-
403- Terlarang: Izin tidak cukup untuk mengakses informasi tumpukan -
404- Tidak ditemukan: Informasi tumpukan tidak tersedia -
500- Kesalahan server internal
DAPATKAN /skenario
Deskripsi
GET /scenariosOperasi ini memungkinkan Anda untuk mengambil daftar skenario pengujian.
Respons
| Nama | Deskripsi |
|---|---|
|
|
Daftar skenario termasuk ID, nama, deskripsi, status, waktu berjalan, tag, total run, dan run terakhir untuk setiap pengujian |
POST/skenario
Deskripsi
POST /scenariosOperasi ini memungkinkan Anda untuk membuat atau menjadwalkan skenario pengujian.
Isi permintaan
| Nama | Deskripsi |
|---|---|
|
|
Nama tes |
|
|
Deskripsi tes |
|
|
Objek yang menentukan |
|
|
Definisi tes termasuk konkurensi, waktu pengujian, host, dan metode untuk pengujian |
|
|
Jenis tes (misalnya, |
|
|
Jenis file upload (misalnya, |
|
|
Sebuah array string untuk mengkategorikan tes. Bidang opsional dengan panjang maksimum 5 (misalnya, |
|
|
Tanggal untuk menjalankan tes. Hanya disediakan jika menjadwalkan tes (misalnya, |
|
|
Waktu untuk menjalankan tes. Hanya disediakan jika menjadwalkan tes (misalnya, |
|
|
Langkah dalam proses jadwal. Hanya disediakan jika menjadwalkan tes berulang. (Langkah-langkah yang tersedia termasuk |
|
|
Nilai cron untuk menyesuaikan penjadwalan berulang. Jika digunakan, hilangkan scheduleDate dan ScheduleTime. |
|
|
Tanggal yang diperlukan sehingga cron kedaluwarsa dan tidak berjalan tanpa batas waktu. |
|
|
Terulangnya tes terjadwal. Hanya disediakan jika menjadwalkan tes berulang (misalnya,,, |
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID unik dari tes |
|
|
Nama tes |
|
|
Status tes |
PILIHAN/skenario
Deskripsi
OPTIONS /scenariosOperasi ini memberikan respons untuk permintaan dengan header respons CORS yang benar.
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID unik dari tes |
|
|
Nama tes |
|
|
Status tes |
DAPATKAN /scenarios/ {teSid}
Deskripsi
GET /scenarios/{testId}Operasi ini memungkinkan Anda untuk mengambil rincian skenario pengujian tertentu.
Permintaan parameter
-
testId -
-
ID unik dari tes
Tipe: String
Diperlukan: Ya
-
-
latest -
-
Parameter kueri untuk mengembalikan hanya uji coba terbaru. Default adalah
trueTipe: Boolean
Wajib: Tidak
-
-
history -
-
Parameter kueri untuk menyertakan riwayat uji coba dalam respons. Default-nya adalah
true. Setelfalseuntuk mengecualikan riwayatTipe: Boolean
Wajib: Tidak
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID unik dari tes |
|
|
Nama tes |
|
|
Deskripsi tes |
|
|
Jenis pengujian yang dijalankan (misalnya, |
|
|
Jenis file yang diunggah (misalnya,, |
|
|
Array string untuk mengkategorikan tes |
|
|
Status tes |
|
|
Waktu dan tanggal ketika tes terakhir dimulai |
|
|
Waktu dan tanggal ketika tes terakhir berakhir |
|
|
Definisi tes termasuk konkurensi, waktu pengujian, host, dan metode untuk pengujian |
|
|
Jumlah tugas yang dibutuhkan untuk menjalankan tes |
|
|
Daftar tugas IDs untuk menjalankan tes |
|
|
Hasil akhir dari tes |
|
|
Daftar hasil akhir dari tes sebelumnya (dikecualikan saat |
|
|
Jumlah total uji coba untuk skenario ini |
|
|
Stempel waktu dari uji coba terakhir |
|
|
Pesan galat yang dihasilkan saat terjadi kesalahan |
|
|
Jalankan terjadwal berikutnya (misalnya, |
|
|
Pengulangan tes (misalnya,, |
POSTING /scenarios/ {TESid}
Deskripsi
POST /scenarios/{testId}Operasi ini memungkinkan Anda untuk membatalkan skenario pengujian tertentu.
Parameter permintaan
-
testId -
-
ID unik dari tes
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Status tes |
HAPUS /scenarios/ {TESid}
Deskripsi
DELETE /scenarios/{testId}Operasi ini memungkinkan Anda untuk menghapus semua data yang terkait dengan skenario pengujian tertentu.
Parameter permintaan
-
testId -
-
ID unik dari tes
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Status tes |
PILIHAN /scenarios/ {TESid}
Deskripsi
OPTIONS /scenarios/{testId}Operasi ini memberikan respons untuk permintaan dengan header respons CORS yang benar.
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID unik dari tes |
|
|
Nama tes |
|
|
Deskripsi tes |
|
|
Jenis pengujian yang dijalankan (misalnya, |
|
|
Jenis file yang diunggah (misalnya,, |
|
|
Status tes |
|
|
Waktu dan tanggal ketika tes terakhir dimulai |
|
|
Waktu dan tanggal ketika tes terakhir berakhir |
|
|
Definisi tes termasuk konkurensi, waktu pengujian, host, dan metode untuk pengujian |
|
|
Jumlah tugas yang dibutuhkan untuk menjalankan tes |
|
|
Daftar tugas IDs untuk menjalankan tes |
|
|
Hasil akhir dari tes |
|
|
Daftar hasil akhir dari tes sebelumnya |
|
|
Pesan galat yang dihasilkan saat terjadi kesalahan |
DAPATKAN /scenarios/ {teSTid} /testruns
Deskripsi
GET /scenarios/{testId}/testrunsOperasi mengambil uji coba IDs untuk skenario pengujian tertentu, secara opsional difilter berdasarkan rentang waktu. Kapanlatest=true, hanya mengembalikan satu uji coba terbaru.
Permintaan parameter
-
testId -
-
ID skenario pengujian
Tipe: String
Diperlukan: Ya
-
-
latest -
-
Kembalikan hanya ID uji coba terbaru
Jenis: Boolean
Default:
falseWajib: Tidak
-
-
start_timestamp -
-
Stempel waktu ISO 8601 untuk memfilter pengujian berjalan dari (inklusif). Sebagai contoh,
2024-01-01T00:00:00Z.Jenis: String (format tanggal-waktu)
Wajib: Tidak
-
-
end_timestamp -
-
Stempel waktu ISO 8601 untuk memfilter pengujian berjalan hingga (inklusif). Sebagai contoh,
2024-12-31T23:59:59Z.Jenis: String (format tanggal-waktu)
Wajib: Tidak
-
-
limit -
-
Jumlah maksimum uji coba yang akan dikembalikan (diabaikan saat
latest=true)Jenis: Integer (minimum: 1, maksimum: 100)
Default:
20Wajib: Tidak
-
-
next_token -
-
Token pagination dari respon sebelumnya untuk mendapatkan halaman berikutnya
Tipe: String
Wajib: Tidak
-
Respons
200 - Sukses
| Nama | Deskripsi |
|---|---|
|
|
Array objek uji coba, masing-masing berisi |
|
|
Objek yang mengandung |
Tanggapan Kesalahan
-
400- Format atau parameter stempel waktu tidak valid -
404- Skenario uji tidak ditemukan -
500- Kesalahan server internal
Contoh penggunaan
-
Uji coba terbaru saja:
GET /scenarios/test123/testruns?latest=true -
Terbaru dalam rentang waktu:
GET /scenarios/test123/testruns?latest=true&start_timestamp=2024-01-01T00:00:00Z -
Permintaan halaman berikutnya:
GET /scenarios/test123/testruns?limit=20&next_token=eyJ0ZXN0SWQiOiJzZVFVeTEyTEtMIiwic3RhcnRUaW1lIjoiMjAyNC0wMS0xM1QxNjo0NTowMFoifQ==
DAPATKAN /scenarios/ {teSid} /testruns/ {} testRunId
Deskripsi
GET /scenarios/{testId}/testruns/{testRunId}Operasi mengambil hasil dan metrik lengkap untuk uji coba tertentu. Secara opsional hilangkan hasil riwayat dengan history=false respons yang lebih cepat.
Permintaan parameter
-
testId -
-
ID skenario pengujian
Tipe: String
Diperlukan: Ya
-
-
testRunId -
-
ID uji coba khusus
Tipe: String
Diperlukan: Ya
-
-
history -
-
Sertakan array riwayat sebagai tanggapan. Setel
falseuntuk menghilangkan riwayat untuk respons yang lebih cepatJenis: Boolean
Default:
trueWajib: Tidak
-
Respons
200 - Sukses
| Nama | Deskripsi |
|---|---|
|
|
ID unik pengujian (misalnya, |
|
|
ID uji coba khusus (misalnya, |
|
|
Deskripsi uji beban |
|
|
Jenis tes (misalnya, |
|
|
Status uji coba: |
|
|
Waktu dan tanggal ketika tes dimulai (misalnya, |
|
|
Waktu dan tanggal ketika tes berakhir (misalnya, |
|
|
Persentase keberhasilan (misalnya, |
|
|
Array objek konfigurasi tugas yang berisi |
|
|
Wilayah pemetaan objek untuk jumlah tugas yang diselesaikan |
|
|
Objek yang berisi metrik terperinci termasuk |
|
|
Objek yang berisi konfigurasi uji dengan |
|
|
Array hasil tes historis (dikecualikan saat |
Tanggapan Kesalahan
-
400- TeStid tidak valid atau testRunId -
404- Uji coba tidak ditemukan -
500- Kesalahan server internal
HAPUS /scenarios/ {teSTid} /testruns/ {} testRunId
Deskripsi
DELETE /scenarios/{testId}/testruns/{testRunId}Operasi menghapus semua data dan artefak yang terkait dengan uji coba tertentu. Data uji coba dihapus dari DynamoDB, sedangkan data pengujian aktual di S3 tetap tidak berubah.
Permintaan parameter
-
testId -
-
ID skenario pengujian
Tipe: String
Diperlukan: Ya
-
-
testRunId -
-
ID uji coba khusus yang akan dihapus
Tipe: String
Diperlukan: Ya
-
Respons
204 - Sukses
Uji coba berhasil dihapus (tidak ada konten yang dikembalikan)
Tanggapan Kesalahan
-
400- TeStid tidak valid atau testRunId -
403- Terlarang: Izin tidak cukup untuk menghapus uji coba -
404- Uji coba tidak ditemukan -
409- Konflik: Uji coba sedang berjalan dan tidak dapat dihapus -
500- Kesalahan server internal
DAPATKAN /scenarios/ {teSid} /baseline
Deskripsi
GET /scenarios/{testId}/baselineOperasi mengambil hasil tes dasar yang ditunjuk untuk sebuah skenario. Mengembalikan baik tes dasar menjalankan ID atau hasil dasar penuh tergantung pada parameter. data
Permintaan parameter
-
testId -
-
ID skenario pengujian
Tipe: String
Diperlukan: Ya
-
-
data -
-
Kembalikan data uji dasar penuh jika
true, jika tidak, hanya testRunIdJenis: Boolean
Default:
falseWajib: Tidak
-
Respons
200 - Sukses
Kapan data=false (default):
| Nama | Deskripsi |
|---|---|
|
|
ID skenario pengujian (misalnya, |
|
|
ID uji coba dasar (misalnya,) |
Kapandata=true:
| Nama | Deskripsi |
|---|---|
|
|
ID skenario pengujian (misalnya, |
|
|
ID uji coba dasar (misalnya,) |
|
|
Objek hasil uji coba lengkap (struktur yang sama dengan |
Tanggapan Kesalahan
-
400- Parameter TeSid tidak valid -
404- Skenario uji tidak ditemukan atau tidak ada set dasar -
500- Kesalahan server internal
PUT /scenarios/ {teSid} /baseline
Deskripsi
PUT /scenarios/{testId}/baselineOperasi ini menetapkan uji coba tertentu sebagai dasar untuk perbandingan kinerja. Hanya satu baseline yang dapat ditetapkan per skenario.
Permintaan parameter
-
testId -
-
ID skenario pengujian
Tipe: String
Diperlukan: Ya
-
Isi permintaan
| Nama | Deskripsi |
|---|---|
|
|
ID test run untuk ditetapkan sebagai baseline (misalnya,) |
Respons
200 - Sukses
| Nama | Deskripsi |
|---|---|
|
|
Pesan konfirmasi (misalnya, |
|
|
ID skenario pengujian (misalnya, |
|
|
ID uji coba dasar yang ditetapkan (misalnya,) |
Tanggapan Kesalahan
-
400- TeStid tidak valid atau testRunId -
404- Skenario uji atau uji coba tidak ditemukan -
409- Konflik: Uji coba tidak dapat ditetapkan sebagai baseline (misalnya, pengujian gagal) -
500- Kesalahan server internal
HAPUS /scenarios/ {teSid} /baseline
Deskripsi
DELETE /scenarios/{testId}/baselineOperasi menghapus nilai dasar untuk skenario dengan menyetelnya ke string kosong.
Permintaan parameter
-
testId -
-
ID skenario pengujian
Tipe: String
Diperlukan: Ya
-
Respons
204 - Sukses
Baseline berhasil dihapus (tidak ada konten yang dikembalikan)
Tanggapan Kesalahan
-
400- TeSid Tidak Valid -
500- Kesalahan server internal
DAPATKAN /tugas
Deskripsi
GET /tasksOperasi ini memungkinkan Anda mengambil daftar tugas Amazon Elastic Container Service (Amazon ECS) yang sedang berjalan.
Respons
| Nama | Deskripsi |
|---|---|
|
|
Daftar tugas IDs untuk menjalankan tes |
PILIHAN/tugas
Deskripsi
Operasi OPTIONS /tasks tugas memberikan respons untuk permintaan dengan header respons CORS yang benar.
Respons
| Nama | Deskripsi |
|---|---|
|
|
Daftar tugas IDs untuk menjalankan tes |
DAPATKAN /wilayah
Deskripsi
GET /regionsOperasi ini memungkinkan Anda untuk mengambil informasi sumber daya regional yang diperlukan untuk menjalankan tes di Wilayah tersebut.
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID Wilayah |
|
|
Nama grup CloudWatch log Amazon untuk tugas Amazon Fargate di Wilayah |
|
|
Wilayah di mana sumber daya dalam tabel ada |
|
|
ID salah satu subnet di Wilayah |
|
|
ID salah satu subnet di Wilayah |
|
|
Nama klaster AWS Fargate di Wilayah |
|
|
ARN definisi tugas di Wilayah |
|
|
Nama gambar tugas di Wilayah |
|
|
ID grup keamanan di Wilayah |
PILIHAN/wilayah
Deskripsi
OPTIONS /regionsOperasi ini memberikan respons untuk permintaan dengan header respons CORS yang benar.
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID Wilayah |
|
|
Nama grup CloudWatch log Amazon untuk tugas Amazon Fargate di Wilayah |
|
|
Wilayah di mana sumber daya dalam tabel ada |
|
|
ID salah satu subnet di Wilayah |
|
|
ID salah satu subnet di Wilayah |
|
|
Nama klaster AWS Fargate di Wilayah |
|
|
ARN definisi tugas di Wilayah |
|
|
Nama gambar tugas di Wilayah |
|
|
ID grup keamanan di Wilayah |