ShellCommandActivity - AWS Data Pipeline

AWS Data Pipeline tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada dari AWS Data Pipeline dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya

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

ShellCommandActivity

Menjalankan perintah atau script. Anda dapat menggunakan ShellCommandActivity untuk menjalankan tugas terjadwal deret waktu atau seperti cron.

Ketika stage bidang disetel ke true dan digunakan denganS3DataNode, ShellCommandActivity mendukung konsep pementasan data, yang berarti Anda dapat memindahkan data dari Amazon S3 ke lokasi panggung, seperti EC2 Amazon atau lingkungan lokal Anda, melakukan pekerjaan pada data menggunakan skrip dan, dan memindahkannya ShellCommandActivity kembali ke Amazon S3.

Dalam hal ini, ketika perintah shell Anda terhubung ke input S3DataNode, script shell anda beroperasi secara langsung pada data menggunakan ${INPUT1_STAGING_DIR}, ${INPUT2_STAGING_DIR}, dan bidang lainnya, mengacu pada bidang input ShellCommandActivity.

Demikian pula, output dari shell-perintah dapat di-staged dalam direktori output untuk secara otomatis didorong ke Amazon S3, diirujuk oleh ${OUTPUT1_STAGING_DIR}, ${OUTPUT2_STAGING_DIR}, dan sebagainya.

Ekspresi ini dapat diteruskan sebagai argumen baris perintah untuk shell-perintah bagi Anda untuk menggunakan dalam logika transformasi data.

ShellCommandActivity mengembalikan kode kesalahan bergaya Linux dan rangkaian. Jika hasil ShellCommandActivity dalam kesalahan, error yang dikembalikan adalah nilai bukan nol.

Contoh

Berikut adalah contoh dari jenis objek ini.

{ "id" : "CreateDirectory", "type" : "ShellCommandActivity", "command" : "mkdir new-directory" }

Sintaks

Bidang Invokasi Objek Deskripsi Jenis Slot
jadwal

Objek ini dipanggil dalam eksekusi dari selang waktu schedule.

Untuk menyetel perintah eksekusi dependensi untuk objek ini, tentukan referensi schedule ke objek lain.

Untuk memenuhi persyaratan ini, atur secara eksplisit schedule pada objek, misalnya, dengan menentukan "schedule": {"ref": "DefaultSchedule"}.

Dalam kebanyakan kasus, lebih baik untuk menempatkan referensi schedule pada objek alur default sehingga semua objek mewarisi jadwal itu. Jika alur memiliki pohon jadwal (jadwal dalam jadwal utama), buat objek induk yang memiliki referensi jadwal.

Untuk menyebarkan beban, AWS Data Pipeline buat objek fisik sedikit lebih cepat dari jadwal, tetapi jalankan sesuai jadwal.

Untuk informasi selengkapnya tentang konfigurasi jadwal opsional contoh, lihat https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html

Objek Referensi, misalnya “schedule”: {"ref”:” myScheduleId “}

Grup yang diperlukan (Salah satu dari berikut ini diperlukan) Deskripsi Jenis Slot
perintah Perintah yang akan dijalankan. Gunakan $ untuk referensi parameter posisi dan scriptArgument untuk menentukan parameter untuk perintah. Nilai ini dan setiap parameter terkait harus berfungsi di lingkungan dari mana Anda menjalankan Task Runner. String
scriptUri URIJalur Amazon S3 untuk file yang akan diunduh dan dijalankan sebagai perintah shell. Tentukan hanya satu scriptUri, atau bidang command. scriptUri tidak dapat menggunakan parameter, gunakan command sebagai gantinya. String

Grup yang diperlukan (Salah satu dari berikut ini diperlukan) Deskripsi Jenis Slot
runsOn Sumber daya komputasi untuk menjalankan aktivitas atau perintah, misalnya, EC2 instans Amazon atau klaster AmazonEMR. Objek Referensi, misalnya "runsOn“: {" ref”:” myResourceId “}
workerGroup Digunakan untuk tugas perutean. Jika Anda memberikan nilai runsOn dan workerGroup ada, workerGroup akan diabaikan. String

Bidang Opsional Deskripsi Jenis Slot
attemptStatus Status yang paling baru dilaporkan dari aktivitas jarak jauh. String
attemptTimeout Timeout untuk penyelesaian pekerjaan jarak jauh. Jika disetel, maka aktivitas jarak jauh yang tidak lengkap dalam waktu mulai yang ditetapkan mungkin dicoba lagi. Periode
dependsOn Menentukan dependensi pada objek yang dapat dijalankan lainnya. Objek Referensi, misalnya "dependsOn“: {" ref”:” myActivityId “}
failureAndRerunModus Menjelaskan perilaku simpul konsumen ketika dependensi gagal atau menjalankan kembali. Pencacahan
input Lokasi data input. Objek Referensi, misalnya “input”: {"ref”:” myDataNode Id "}
lateAfterTimeout Waktu berlalu setelah alur mulai di mana objek harus menyelesaikan. Hal ini dipicu hanya ketika jenis jadwal tidak disetel ke ondemand. Periode
maxActiveInstances Jumlah maksimum instans aktif bersamaan dari suatu komponen. Re-runs tidak dihitung terhadap jumlah instans aktif. Bilangan Bulat
maximumRetries Upaya jumlah maksimum mencoba lagi pada kegagalan. Bilangan Bulat
onFail Tindakan untuk dijalankan ketika objek saat ini gagal. Objek Referensi, misalnya "onFail“: {" ref”:” myActionId “}
onLateAction Tindakan yang harus dipicu jika objek belum dijadwalkan atau tidak selesai. Objek Referensi, misalnya "onLateAction“: {" ref”:” myActionId “}
onSuccess Tindakan untuk dijalankan ketika objek saat ini berhasil. Objek Referensi, misalnya "onSuccess“: {" ref”:” myActionId “}
output Lokasi data output. Objek Referensi, misalnya “output”: {"ref”:” myDataNode Id "}
induk Induk dari objek saat ini dari mana slot akan diwariskan. Objek Referensi, misalnya “induk”: {"ref”:” myBaseObject Id "}
pipelineLogUri Amazon S3URI, seperti 's3://BucketName/Key/' untuk mengunggah log untuk pipeline. String
prasyarat Mendefinisikan prasyarat secara opsional. Node data tidak ditandai "READY" sampai semua prasyarat terpenuhi. Objek Referensi, misalnya “prasyarat”: {"ref”:” “myPreconditionId}
reportProgressTimeout Timeout untuk panggilan berturut-turut ke reportProgress oleh aktivitas jarak jauh. Jika disetel, maka kegiatan jarak jauh yang tidak melaporkan kemajuan untuk jangka waktu tertentu dapat dianggap terhenti dan jadi dicoba lagi. Periode
retryDelay Durasi timeout antara dua upaya coba lagi. Periode
scheduleType

Mengizinkan Anda untuk menentukan apakah objek dalam definisi alur Anda harus dijadwalkan pada awal interval atau pada akhir interval.

Nilainya adalah cron, ondemand, dan timeseries.

Jika disetel ke timeseries, instans dijadwalkan pada akhir setiap interval.

Jika disetel ke Cron, instans dijadwalkan pada awal setiap interval.

Jika disetel ke ondemand, Anda dapat menjalankan alur satu kali, per aktivasi. Ini berarti Anda tidak perlu meng-klon atau membuat ulang alur untuk menjalankannya lagi. Jika Anda menggunakan jadwal ondemand, tentukan itu dalam objek default sebagai satu-satunya scheduleType untuk objek dalam alur. Untuk menggunakan alur ondemand, panggil operasi ActivatePipeline untuk setiap putaran berikutnya.

Pencacahan
scriptArgument Sebuah array string JSON yang diformat untuk diteruskan ke perintah yang ditentukan oleh perintah. Misalnya, jika perintah echo $1 $2, tentukan scriptArgument sebagai "param1", "param2". Untuk beberapa argumen dan parameter, teruskan scriptArgument sebagai berikut: "scriptArgument":"arg1","scriptArgument":"param1","scriptArgument":"arg2","scriptArgument":"param2". scriptArgument hanya dapat digunakan dengan command; Menggunakannya dengan scriptUri menyebabkan kesalahan. String
stage Menentukan apakah staging diaktifkan dan mengizinkan perintah shell Anda untuk memiliki akses ke variabel data ter-staged, seperti ${INPUT1_STAGING_DIR} dan ${OUTPUT1_STAGING_DIR}. Boolean
stderr Jalur yang menerima pesan kesalahan sistem yang dialihkan dari perintah. Jika Anda menggunakan bidang runsOn, ini harus menjadi jalur Amazon S3 karena sifat sementara dari sumber daya yang menjalankan aktivitas Anda. Namun, jika Anda menentukan bidang workerGroup, jalur file lokal diizinkan. String
stdout Jalur Amazon S3 yang menerima output yang dialihkan dari perintah. Jika Anda menggunakan bidang runsOn, ini harus menjadi jalur Amazon S3 karena sifat sementara dari sumber daya yang menjalankan aktivitas Anda. Namun, jika Anda menentukan bidang workerGroup, jalur file lokal diizinkan. String

Bidang Runtime Deskripsi Jenis Slot
@activeInstances Daftar objek instans aktif terjadwal saat ini. Objek Referensi, misalnya "activeInstances“: {" ref”:” myRunnableObject Id "}
@actualEndTime Waktu ketika eksekusi objek ini selesai. DateTime
@actualStartTime Waktu ketika eksekusi objek ini dimulai. DateTime
cancellationReason cancellationReason jika objek ini dibatalkan. String
@cascadeFailedOn Deskripsi rantai dependensi yang menyebabkan kegagalan objek. Objek Referensi, misalnya "cascadeFailedOn“: {" ref”:” myRunnableObject Id "}
emrStepLog Log EMR langkah Amazon hanya tersedia pada upaya EMR aktivitas Amazon. String
errorId errorId jika objek ini gagal. String
errorMessage errorMessage jika objek ini gagal. String
errorStackTrace Jejak tumpukan kesalahan jika objek ini gagal. String
@finishedTime Waktu di mana objek menyelesaikan eksekusinya. DateTime
hadoopJobLog Log pekerjaan Hadoop tersedia pada upaya untuk aktivitas EMR berbasis Amazon. String
@healthStatus Status kondisi objek yang mencerminkan keberhasilan atau kegagalan instans objek terakhir yang mencapai keadaan dihentikan. String
@healthStatusFromInstanceId Id dari objek instans terakhir yang mencapai keadaan dihentikan. String
@ healthStatusUpdated Waktu Waktu di mana status kondisi diperbarui terakhir kali. DateTime
hostname Nama host klien yang mengambil upaya tugas. String
@lastDeactivatedTime Waktu di mana objek ini terakhir dinonaktifkan. DateTime
@ latestCompletedRun Waktu Waktu menjalankan terbaru tempat eksekusi selesai. DateTime
@latestRunTime Waktu menjalankan terbaru tempat eksekusi dijadwalkan. DateTime
@nextRunTime Waktu menjalankan yang akan dijadwalkan berikutnya. DateTime
reportProgressTime Waktu terbaru aktivitas jarak jauh melaporkan kemajuan. DateTime
@scheduledEndTime Jadwal waktu akhir untuk objek. DateTime
@scheduledStartTime Jadwal waktu mulai untuk objek. DateTime
@status Status objek. String
@version AWS Data Pipeline Versi yang digunakan untuk membuat objek. String
@waitingOn Deskripsi daftar dependensi objek ini sedang menunggu. Objek Referensi, misalnya "waitingOn“: {" ref”:” myRunnableObject Id "}

Bidang Sistem Deskripsi Jenis Slot
@error Kesalahan yang menggambarkan objek yang tidak terbentuk. String
@pipelineId Id dari alur tempat objek ini berada. String
@sphere Tempat objek dalam siklus hidup. Component Objects memunculkan Instance Objects yang mengeksekusi Attempt Objects. String

Lihat Juga