Struktur data untuk AWS Transform untuk pengguna mainframe - AWS Modernisasi Mainframe

AWS Layanan Modernisasi Mainframe (Managed Runtime Environment experience) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan Layanan Modernisasi AWS Mainframe (pengalaman Lingkungan Runtime Terkelola), jelajahi Layanan Modernisasi AWS Mainframe (Pengalaman yang Dikelola Sendiri). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat Perubahan AWS ketersediaan Modernisasi Mainframe.

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

Struktur data untuk AWS Transform untuk pengguna mainframe

Anda dapat mempelajari tentang berbagai struktur data untuk AWS Transform untuk mesin mainframe di bagian berikut.

Struktur pesan detail eksekusi Job

Setiap detail pelaksanaan pekerjaan akan memiliki bidang berikut:

ScriptID

pengenal dari skrip yang disebut.

pemanggil

I.P. alamat penelepon.

pengenal

pengidentifikasi eksekusi pekerjaan yang unik.

startTime

tanggal dan waktu di mana pelaksanaan pekerjaan dimulai.

endTime

tanggal dan waktu di mana eksekusi pekerjaan berakhir.

status

status untuk pelaksanaan pekerjaan. Satu nilai yang mungkin di antara:

  • DONE: eksekusi pekerjaan berakhir secara normal.

  • TRIGGERED: eksekusi pekerjaan dipicu tetapi belum diluncurkan.

  • RUNNING: eksekusi pekerjaan sedang berjalan.

  • KILLED: eksekusi pekerjaan telah terbunuh.

  • FAILED: eksekusi pekerjaan telah gagal.

Hasil Eksekusi

pesan untuk meringkas hasil eksekusi pekerjaan. Pesan ini dapat berupa pesan sederhana jika eksekusi pekerjaan belum selesai atau struktur JSON dengan bidang berikut:

  • ExitCode: kode keluar numerik; nilai negatif menunjukkan situasi kegagalan.

  • program: program terbaru yang diluncurkan oleh pekerjaan.

  • status: satu nilai yang mungkin di antara:

    • Error: ketika ExitCode = -1; ini sesuai dengan kesalahan (teknis) yang terjadi selama eksekusi pekerjaan.

    • Failed: ketika exitcode = -2; Ini sesuai dengan kegagalan yang terjadi selama eksekusi program layanan (seperti situasi ABEND).

    • Succeeded: ketika ExitCode >= 0;

  • StepName: nama langkah terbaru yang dijalankan dalam pekerjaan.

ExecutionMode

baik SYNCHRONOUS atau ASYNCHRONOUS, tergantung pada cara pekerjaan diluncurkan.

Contoh output:

{ "scriptId": "INTCALC", "caller": "127.0.0.1", "identifier": "97d410be-efa7-4bd3-b7b9-d080e5769771", "startTime": "06-09-2023 11:42:41", "endTime": "06-09-2023 11:42:42", "status": "DONE", "executionResult": "{ \"exitCode\": -1, \"stepName\": \"STEP15\", \"program\": \"CBACT04C\", \"status\": \"Error\" }", "executionMode": "ASYNCHRONOUS" }

Struktur hasil peluncuran transaksi

Struktur mungkin berisi bidang-bidang berikut:

Outcome

string yang mewakili hasil eksekusi transaksi. Kemungkinan nilainya adalah:

  • Success: eksekusi transaksi berjalan sampai akhir dengan benar.

  • Failure: eksekusi transaksi gagal berakhir dengan benar, beberapa masalah ditemui.

commarea

string yang mewakili nilai akhir COMMAREA, sebagai array byte yang dikodekan byte64. Mungkin string kosong.

ContainerRecord

(Opsional) string yang mewakili konten rekaman CONTAINER sebagai array byte yang dikodekan byte64.

Deskripsi Server

Mungkin berisi informasi tentang server yang melayani permintaan (untuk tujuan debugging). Mungkin string kosong.

AbendCode

(Opsional) jika program direferensikan oleh transaksi yang diluncurkan abended, nilai kode abend akan dikembalikan sebagai string di bidang ini.

Sampel tanggapan:

Berhasil

{ "outCome": "Success", "commarea": "", "serverDescription": "" }

Kegagalan

{ "outCome": "Failure", "commarea": "", "serverDescription": "", "abendCode": "AEIA" }

Struktur hasil catatan peluncuran transaksi

Struktur mungkin berisi bidang-bidang berikut:

RecordContent

string yang mewakili konten rekaman COMMAREA sebagai array byte yang dikodekan byte64.

ContainerRecord

string yang mewakili konten rekaman CONTAINER sebagai array byte yang dikodekan byte64.

Deskripsi Server

Mungkin berisi informasi tentang server yang melayani permintaan (untuk tujuan debugging). Mungkin string kosong.

Sampel tanggapan:

Berhasil

{ "recordContent": "", "serverDescription": "" }

Kemungkinan status pekerjaan dalam antrian

Pada antrian, pekerjaan dapat memiliki status berikut:

AKTIF

Pekerjaan saat ini sedang dijalankan di antrian.

EKSEKUSI_TUNGGU

Pekerjaan sedang menunggu utas tersedia.

DIJADWALKAN

Pekerjaan dijadwalkan untuk dieksekusi pada tanggal dan waktu tertentu.

TAHAN

Job sedang menunggu untuk dibebaskan sebelum dijalankan.

DISELESAIKAN

Job telah berhasil dieksekusi.

FAILED

Job Execution telah gagal.

TIDAK DIKETAHUI

Status tidak diketahui.

Kirim pekerjaan dan jadwalkan masukan pekerjaan

Masukan tugas pengiriman dan jadwal pekerjaan adalah serialisasi JSON dari suatu com.netfective.bluage.gapwalk.rt.jobqueue.SubmitJobMessage objek. Masukan sampel di bawah ini menunjukkan semua bidang untuk kacang seperti itu.

Contoh masukan untuk mengirimkan pekerjaan:

{ "messageQueueName":null, "scheduleDate":null, "scheduleTime":null, "programName":"PTA0044", "programParams": {"wmind":"B"}, "localDataAreaValue":"", "userName":"USER1", "jobName":"PTA0044", "jobNumber":9, "jobPriority":5, "executionDate":"20181231", "jobQueue":"queue1", "jobOnHold":false }

Contoh masukan untuk jadwal pekerjaan:

{ "scheduleCron": "*/2 * * * * ?", "programName":"LOGPGM", "programParams": { "cl_sbmjob_param_json": "[\"./output/schedule-job-log.txt\", \"Every 2 seconds!\"]" }, "localDataAreaValue":"", "userName":"PVO", "jobName":"LOGGERJOB", "jobPriority":5, "jobQueue":"queue1", "scheduleMisfirePolicy": 4, "startTime": "2003/05/04 07:00:00.000 GMT-06:00", "endTime": "2003/05/04 07:00:07.000 GMT-06:00" }
JobNumber

jika nomor pekerjaan adalah 0, nomor pekerjaan akan dibuat secara otomatis menggunakan nomor berikutnya dalam urutan nomor pekerjaan. Nilai itu harus diatur ke 0 (kecuali untuk tujuan pengujian).

JobPriority

Prioritas pekerjaan default AS400 adalah 5. Rentang yang valid adalah 0-9, 0 menjadi prioritas tertinggi.

jobOnHold

Jika pekerjaan ditunda, itu tidak akan langsung dieksekusi tetapi hanya ketika seseorang “melepaskannya”. Pekerjaan dapat dirilis menggunakan REST API (/release atau /release-all).

ScheduleDate dan ScheduleTime

Jika nilai-nilai ini tidak nol, pekerjaan akan dieksekusi pada tanggal dan waktu yang ditentukan.

Date

Dapat disediakan dengan format MMddyy atau dd MMyyyy (ukuran input akan menentukan format apa yang digunakan)

Waktu

Dapat disediakan dengan format HHmm atau HHmmss (ukuran input akan menentukan format apa yang digunakan)

ProgramParams

Akan diteruskan ke program sebagai peta.

scheduleMisfirePolicy

Mendefinisikan strategi yang digunakan ketika pemicu gagal. Berikut ini adalah nilai yang mungkin:

  1. Lepaskan misfire pertama dan buang misfire lainnya.

  2. Kirimkan pekerjaan yang ditunda untuk kesalahan pertama dan buang kesalahan lainnya.

  3. Buang macet.

  4. Lepaskan semua kesalahan. Antrian pekerjaan akan menjalankan semua pekerjaan.

Daftar respon pekerjaan terjadwal

Ini adalah struktur titik akhir antrian pekerjaan daftar-pekerjaan. Pesan kirim pekerjaan yang digunakan untuk mengirimkan pekerjaan itu adalah bagian dari tanggapan. Ini dapat digunakan untuk tujuan pelacakan atau pengujian/pengiriman ulang. Ketika pekerjaan selesai, tanggal mulai dan tanggal akhir juga akan diisi.

[ { "jobName": "PTA0044", "userName": "USER1", "jobNumber": 9, "jobPriority": 5, "status": "HOLD", "jobDelay": 0, "startDate": null, "endDate": null, "jobQueue": "queue1", "message": { "messageQueueName": null, "scheduleDate": null, "scheduleTime": null, "programName": "PTA0044", "programParams": {"wmind": "B"}, "localDataAreaValue": "", "userName": "USER1", "jobName": "PTA0044", "jobNumber": 9, "jobPriority": 5, "executionDate": "20181231", "jobQueue": "queue1", "jobOnHold": true, "scheduleCron": null, "save": false, "scheduleMisfirePolicy": 4, "omitdates": null }, "executionId": 1, "jobScheduledId": 0, "jobScheduledAt": null }, { "jobName": "PTA0044", "userName": "USER1", "jobNumber": 9, "jobPriority": 5, "status": "COMPLETED", "jobDelay": 0, "startDate": "2022-10-13T22:48:34.025+00:00", "endDate": "2022-10-13T22:52:54.475+00:00", "jobQueue": "queue1", "message": { "messageQueueName": null, "scheduleDate": null, "scheduleTime": null, "programName": "PTA0044", "programParams": {"wmind": "B"}, "localDataAreaValue": "", "userName": "USER1", "jobName": "PTA0044", "jobNumber": 9, "jobPriority": 5, "executionDate": "20181231", "jobQueue": "queue1", "jobOnHold": true, "scheduleCron": "*/20 * * * * ?", "save": false, "scheduleMisfirePolicy": 4, "omitdates": null }, "executionId": 2, "jobScheduledId": 0, "jobScheduledAt": null } ]

Daftar respon pekerjaan berulang

Ini adalah struktur dari titik akhir antrian pekerjaan /schedule/list.

[ { "id": 1, "status": "ACTIVE", "jobNumber": 1, "userName": "PVO", "msg": { "messageQueueName": null, "scheduleDate": null, "scheduleTime": null, "startTime": "2024/03/07 21:12:00.000 UTC", "endTime": "2024/03/07 21:13:59.000 UTC", "programName": "LOGPGM", "programParams": {"cl_sbmjob_param_json": "[\"./output/schedule-job-log.txt\", \"Every 20 seconds!\"]"}, "localDataAreaValue": "", "userName": "PVO", "jobName": "LOGGERJOB", "jobNumber": 1, "jobScheduleId": 1, "jobPriority": 5, "executionDate": null, "jobQueue": "queue1", "jobOnHold": false, "scheduleCron": "*/20 * * * * ?", "save": false, "scheduleMisfirePolicy": 4, "omitdates": null }, "lastUpdatedAt": "2024-03-07T21:11:13.282+00:00", "lastUpdatedBy": "" } ]