Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat pipa Menggunakan template parametrized
Anda dapat menggunakan templat parametris untuk menyesuaikan definisi alur. Hal ini memungkinkan Anda untuk membuat definisi alur yang umum tetapi memberikan parameter yang berbeda saat Anda menambahkan definisi alur ke alur baru.
Daftar Isi
Tambahkan MyVariables ke definisi pipeline
Ketika Anda membuat file definisi alur, tentukan variabel menggunakan sintaks berikut: #{myVariabel
}. Diperlukan agar variabel menggunakan prefiks my
. Misalnya, file definisi pipeline berikut,
pipeline-definition.json
, termasuk variabel berikut:, myS3 myShellCmd
, dan myS3 InputLoc
. OutputLoc
catatan
Definisi alur memiliki batas atas 50 parameter.
{ "objects": [ { "id": "ShellCommandActivityObj", "input": { "ref": "S3InputLocation" }, "name": "ShellCommandActivityObj", "runsOn": { "ref": "EC2ResourceObj" }, "command": "#{
myShellCmd
}", "output": { "ref": "S3OutputLocation" }, "type": "ShellCommandActivity", "stage": "true" }, { "id": "Default", "scheduleType": "CRON", "failureAndRerunMode": "CASCADE", "schedule": { "ref": "Schedule_15mins" }, "name": "Default", "role": "DataPipelineDefaultRole", "resourceRole": "DataPipelineDefaultResourceRole" }, { "id": "S3InputLocation", "name": "S3InputLocation", "directoryPath": "#{myS3InputLoc
}", "type": "S3DataNode" }, { "id": "S3OutputLocation", "name": "S3OutputLocation", "directoryPath": "#{myS3OutputLoc
}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}", "type": "S3DataNode" }, { "id": "Schedule_15mins", "occurrences": "4", "name": "Every 15 minutes", "startAt": "FIRST_ACTIVATION_DATE_TIME", "type": "Schedule", "period": "15 Minutes" }, { "terminateAfter": "20 Minutes", "id": "EC2ResourceObj", "name": "EC2ResourceObj", "instanceType":"t1.micro", "type": "Ec2Resource" } ] }
Tentukan objek parameter
Anda dapat membuat file terpisah dengan objek parameter yang mendefinisikan variabel dalam definisi alur Anda. Misalnya, file JSON berikut, berisi objek parameter untuk OutputLoc variabelparameters.json
, myS3
dari definisi pipeline contoh di atas.myShellCmd
InputLoc, dan myS3
{ "parameters": [ { "id": "
myShellCmd
", "description": "Shell command to run", "type": "String", "default": "grep -rc \"GET\" ${INPUT1_STAGING_DIR}/* > ${OUTPUT1_STAGING_DIR}/output.txt" }, { "id": "myS3InputLoc
", "description": "S3 input location", "type": "AWS::S3::ObjectKey", "default": "s3://us-east-1.elasticmapreduce.samples/pig-apache-logs/data" }, { "id": "myS3OutputLoc
", "description": "S3 output location", "type": "AWS::S3::ObjectKey" } ] }
catatan
Anda dapat menambahkan objek ini langsung ke file definisi alur alih-alih menggunakan file terpisah.
Tabel berikut menjelaskan atribut untuk objek parameter.
Atribut parameter | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Atribut | Tipe | Deskripsi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id |
String | Pengidentifikasi unik dari parameter. Untuk menutupi nilai saat diketik atau ditampilkan, tambahkan tanda bintang ('*') sebagai prefiks. Misalnya, *myVariable —. Perhatikan bahwa ini juga mengenkripsi nilai sebelum disimpan oleh AWS Data Pipeline. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deskripsi | String | Deskripsi parameter. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
jenis | String, Integer, Double, atau AWS::S3::ObjectKey | Jenis parameter yang menentukan rentang nilai input dan aturan validasi yang diizinkan. Default-nya adalah String. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pilihan | Boolean | Menunjukkan apakah parameter adalah opsional atau diperlukan. Defaultnya adalah false . |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
allowedValues | Daftar String | Menghitung semua nilai yang diizinkan untuk parameter. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
default | String | Nilai default untuk parameter. Jika Anda menentukan nilai untuk parameter ini menggunakan nilai parameter, nilai default akan ditimpa. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isArray | Boolean | Menunjukkan apakah parameter adalah array. |
Menentukan Nilai Parameter
Anda dapat membuat file terpisah untuk mendefinisikan variabel Anda menggunakan nilai parameter. Misalnya, file JSON berikut,file://values.json
, berisi nilai untuk OutputLoc variabel myS3
dari definisi contoh pipeline di atas.
{ "values": { "myS3OutputLoc": "
myOutputLocation
" } }
Mengirimkan definisi pipeline
Ketika Anda mengirimkan definisi alur Anda, Anda dapat menentukan parameter, objek parameter, dan nilai-nilai parameter. Misalnya, Anda dapat menggunakan put-pipeline-definitionAWS CLIperintah sebagai berikut:
$ aws datapipeline put-pipeline-definition --pipeline-id
id
--pipeline-definition file://pipeline-definition.json
\ --parameter-objects file://parameters.json
--parameter-values-uri file://values.json
catatan
Definisi alur memiliki batas atas 50 parameter. Ukuran file untuk parameter-values-uri
memiliki batas atas 15 KB.