View a markdown version of this page

Contoh Amazon SWF menggunakan AWS CLI - AWS Command Line Interface

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

Contoh Amazon SWF menggunakan AWS CLI

Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan AWS Command Line Interface dengan Amazon SWF.

Tindakan merupakan kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakancount-closed-workflow-executions.

AWS CLI

Menghitung Eksekusi Alur Kerja Tertutup

Anda dapat menggunakan swf count-closed-workflow-executions untuk mengambil jumlah eksekusi alur kerja tertutup untuk domain tertentu. Anda dapat menentukan filter untuk menghitung kelas eksekusi tertentu.

--start-time-filterArgum en --domain dan --close-time-filter salah satu atau diperlukan. Semua argumen lainnya bersifat opsional.

aws swf count-closed-workflow-executions \ --domain DataFrobtzz \ --close-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"

Output:

{ "count": 2, "truncated": false }

Jika “terpotong”true, maka “count” mewakili jumlah maksimum yang dapat dikembalikan oleh Amazon SWF. Hasil lebih lanjut terpotong.

Untuk mengurangi jumlah hasil yang dikembalikan, Anda dapat:

memodifikasi --start-time-filter nilai --close-time-filter atau untuk mempersempit rentang waktu yang dicari. Masing-masing ini saling eksklusif: Anda hanya dapat menentukan salah satu dari ini dalam permintaan. Gunakan --type-filter argumen, --close-status-filter--execution-filter, --tag-filter atau untuk memfilter hasil lebih lanjut. Namun, argumen ini juga saling eksklusif.

Lihat Juga CountClosedWorkflowExecutions di Referensi API Layanan Alur Kerja Sederhana Amazon

Contoh kode berikut menunjukkan cara menggunakancount-open-workflow-executions.

AWS CLI

Menghitung Eksekusi Alur Kerja Terbuka

Anda dapat menggunakan swf count-open-workflow-executions untuk mengambil jumlah eksekusi alur kerja terbuka untuk domain tertentu. Anda dapat menentukan filter untuk menghitung kelas eksekusi tertentu.

--start-time-filterArgumen --domain dan diperlukan. Semua argumen lainnya bersifat opsional.

aws swf count-open-workflow-executions \ --domain DataFrobtzz \ --start-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"

Output:

{ "count": 4, "truncated": false }

Jika “terpotong”true, maka “count” mewakili jumlah maksimum yang dapat dikembalikan oleh Amazon SWF. Hasil lebih lanjut terpotong.

Untuk mengurangi jumlah hasil yang dikembalikan, Anda dapat:

memodifikasi --start-time-filter nilai untuk mempersempit rentang waktu yang dicari. Gunakan --type-filter argumen--close-status-filter,--execution-filter, --tag-filter atau untuk memfilter hasil lebih lanjut. Masing-masing saling eksklusif: Anda hanya dapat menentukan salah satunya dalam permintaan.

Untuk informasi selengkapnya, lihat Refer CountOpenWorkflowExecutions ensi API Layanan Alur Kerja Sederhana Amazon

Contoh kode berikut menunjukkan cara menggunakandeprecate-domain.

AWS CLI

Menghentikan Domain

Untuk menghentikan domain (Anda masih dapat melihatnya, tetapi tidak dapat membuat eksekusi alur kerja baru atau mendaftarkan tipe di dalamnya), gunakan. swf deprecate-domain Ini memiliki satu-satunya parameter yang diperlukan,--name, yang mengambil nama domain untuk tidak digunakan lagi.

aws swf deprecate-domain \ --name MyNeatNewDomain ""

Seperti halnyaregister-domain, tidak ada output yang dikembalikan. Namun, jika Anda menggunakan list-domains untuk melihat domain terdaftar, Anda akan melihat bahwa domain telah usang dan tidak lagi muncul dalam data yang dikembalikan.

aws swf list-domains \ --registration-status REGISTERED { "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "erontest" } ] }

Jika Anda menggunakan --registration-status DEPRECATED denganlist-domains, Anda akan melihat domain Anda yang tidak digunakan lagi.

aws swf list-domains \ --registration-status DEPRECATED { "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ] }

Anda masih dapat menggunakan describe-domain untuk mendapatkan informasi tentang domain yang tidak digunakan lagi.

aws swf describe-domain \ --name MyNeatNewDomain { "domainInfo": { "status": "DEPRECATED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" } }

Lihat Juga DeprecateDomain di Referensi API Layanan Alur Kerja Sederhana Amazon

Contoh kode berikut menunjukkan cara menggunakandescribe-domain.

AWS CLI

Mendapatkan Informasi Tentang Domain

Untuk mendapatkan informasi terperinci tentang domain tertentu, gunakan swf describe-domain perintah. Ada satu parameter yang diperlukan:--name, yang mengambil nama domain yang ingin Anda informasikan.

aws swf describe-domain \ --name DataFrobotz { "domainInfo": { "status": "REGISTERED", "name": "DataFrobotz" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "1" } }

Anda juga dapat menggunakan describe-domain untuk mendapatkan informasi tentang domain yang tidak digunakan lagi.

aws swf describe-domain \ --name MyNeatNewDomain { "domainInfo": { "status": "DEPRECATED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" } }

Lihat Juga DescribeDomain di Referensi API Layanan Alur Kerja Sederhana Amazon

Contoh kode berikut menunjukkan cara menggunakanlist-activity-types.

AWS CLI

Jenis Aktivitas Daftar

Untuk mendapatkan daftar jenis aktivitas untuk domain, gunakanswf list-activity-types. --registration-statusArgumen --domain dan diperlukan.

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED

Output:

{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.451, "activityType": { "version": "1", "name": "confirm-user-email" }, "description": "subscribe confirm-user-email activity" }, { "status": "REGISTERED", "creationDate": 1371454150.709, "activityType": { "version": "1", "name": "confirm-user-phone" }, "description": "subscribe confirm-user-phone activity" }, { "status": "REGISTERED", "creationDate": 1371454149.871, "activityType": { "version": "1", "name": "get-subscription-info" }, "description": "subscribe get-subscription-info activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" }, { "status": "REGISTERED", "creationDate": 1371454150.085, "activityType": { "version": "1", "name": "subscribe-user-sns" }, "description": "subscribe subscribe-user-sns activity" } ] }

Anda dapat menggunakan --name argumen untuk memilih hanya jenis aktivitas dengan nama tertentu:

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --name "send-subscription-success"

Output:

{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }

Untuk mengambil hasil di halaman, Anda dapat mengatur --maximum-page-size argumen. Jika lebih banyak hasil dikembalikan daripada yang akan muat dalam halaman hasil, “berikutnyaPageToken” akan dikembalikan dalam kumpulan hasil:

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --maximum-page-size 2

Output:

{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA1Gp1BelJq+PmHvAnDxJYbup8+0R4LVtbXLDl7QNY7C3OpHo9Sz06D/GuFz1OyC73umBQ1tOPJ/gC/aYpzDMqUIWIA1T9W0s2DryyZX4OC/6Lhk9/o5kdsuWMSBkHhgaZjgwp3WJINIFJFdaSMxY2vYAX7AtRtpcqJuBDDRE9RaRqDGYqIYUMltarkiqpSY1ZVveBasBvlvyUb/WGAaqehiDz7/JzLT/wWNNUMOd+Nhe", "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.451, "activityType": { "version": "1", "name": "confirm-user-email" }, "description": "subscribe confirm-user-email activity" }, { "status": "REGISTERED", "creationDate": 1371454150.709, "activityType": { "version": "1", "name": "confirm-user-phone" }, "description": "subscribe confirm-user-phone activity" } ] }

Anda dapat meneruskan PageToken nilai berikutnya ke panggilan berikutnya ke list-activity-types dalam --next-page-token argumen, mengambil halaman hasil berikutnya:

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --maximum-page-size 2 \ --next-page-token "AAAAKgAAAAEAAAAAAAAAA1Gp1BelJq+PmHvAnDxJYbup8+0R4LVtbXLDl7QNY7C3OpHo9Sz06D/GuFz1OyC73umBQ1tOPJ/gC/aYpzDMqUIWIA1T9W0s2DryyZX4OC/6Lhk9/o5kdsuWMSBkHhgaZjgwp3WJINIFJFdaSMxY2vYAX7AtRtpcqJuBDDRE9RaRqDGYqIYUMltarkiqpSY1ZVveBasBvlvyUb/WGAaqehiDz7/JzLT/wWNNUMOd+Nhe"

Output:

{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAAw+7LZ4GRZPzTqBHsp2wBxWB8m1sgLCclgCuq3J+h/m3+vOfFqtkcjLwV5cc4OjNAzTCuq/XcylPumGwkjbajtqpZpbqOcVNfjFxGoi0LB2Olbvv0krbUISBvlpFPmSWpDSZJsxg5UxCcweteSlFn1PNSZ/MoinBZo8OTkjMuzcsTuKOzH9wCaR8ITcALJ3SaqHU3pyIRS5hPmFA3OLIc8zaAepjlaujo6hntNSCruB4" "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.871, "activityType": { "version": "1", "name": "get-subscription-info" }, "description": "subscribe get-subscription-info activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }

Jika masih ada lebih banyak hasil untuk dikembalikan, “berikutnyaPageToken" akan dikembalikan dengan hasilnya. Ketika tidak ada lagi halaman hasil untuk dikembalikan, “berikutnyaPageToken” tidak akan dikembalikan dalam kumpulan hasil.

Anda dapat menggunakan --reverse-order argumen untuk membalikkan urutan hasil yang dikembalikan. Ini juga mempengaruhi hasil yang dipaging.

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --maximum-page-size 2 \ --reverse-order

Output:

{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAAwXcpu5ePSyQkrC+8WMbmSrenuZC2ZkIXQYBPB/b9xIOVkj+bMEFhGj0KmmJ4rF7iddhjf7UMYCsfGkEn7mk+yMCgVc1JxDWmB0EH46bhcmcLmYNQihMDmUWocpr7To6/R7CLu0St1gkFayxOidJXErQW0zdNfQaIWAnF/cwioBbXlkz1fQzmDeU3M5oYGMPQIrUqkPq7pMEW0q0lK5eDN97NzFYdZZ/rlcLDWPZhUjY", "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.085, "activityType": { "version": "1", "name": "subscribe-user-sns" }, "description": "subscribe subscribe-user-sns activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }

Lihat Juga ListActivityTypes di Referensi API Layanan Alur Kerja Sederhana Amazon

Contoh kode berikut menunjukkan cara menggunakanlist-domains.

AWS CLI

Contoh 1: Untuk mencantumkan domain terdaftar Anda

Contoh list-domains perintah berikut mencantumkan domain REGISTERED SWF yang telah Anda daftarkan untuk akun Anda.

aws swf list-domains \ --registration-status REGISTERED

Output:

{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "erontest" } ] }

Untuk informasi selengkapnya, lihat Refer ListDomains ensi API Layanan Alur Kerja Sederhana Amazon

Contoh 2: Untuk membuat daftar domain yang tidak digunakan lagi

Contoh list-domains perintah berikut mencantumkan domain DEPRECATED SWF yang telah Anda daftarkan untuk akun Anda. Domain yang tidak digunakan lagi adalah domain yang tidak dapat mendaftarkan alur kerja atau aktivitas baru, tetapi masih dapat ditanyakan.

aws swf list-domains \ --registration-status DEPRECATED

Output:

{ "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ] }

Untuk informasi selengkapnya, lihat Refer ListDomains ensi API Layanan Alur Kerja Sederhana Amazon

Contoh 3: Untuk mencantumkan halaman pertama domain terdaftar

Contoh list-domains perintah berikut mencantumkan domain REGISTERED SWF halaman pertama yang telah Anda daftarkan untuk akun Anda menggunakan --maximum-page-size opsi.

aws swf list-domains \ --registration-status REGISTERED \ --maximum-page-size 1

Output:

{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" } ], "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ==" }

Untuk informasi selengkapnya, lihat Refer ListDomains ensi API Layanan Alur Kerja Sederhana Amazon

Contoh 4: Untuk mencantumkan halaman tunggal domain terdaftar yang ditentukan

Contoh list-domains perintah berikut mencantumkan domain REGISTERED SWF halaman pertama yang telah Anda daftarkan untuk akun Anda menggunakan --maximum-page-size opsi.

Ketika Anda melakukan panggilan lagi, kali ini memberikan nilai nextPageToken dalam --next-page-token argumen, Anda akan mendapatkan halaman hasil lain.

aws swf list-domains \ --registration-status REGISTERED \ --maximum-page-size 1 \ --next-page-token "AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ=="

Output:

{ "domainInfos": [ { "status": "REGISTERED", "name": "erontest" } ] }

Ketika tidak ada halaman hasil lebih lanjut untuk diambil, tidak nextPageToken akan dikembalikan dalam hasil.

Untuk informasi selengkapnya, lihat Refer ListDomains ensi API Layanan Alur Kerja Sederhana Amazon

  • Untuk detail API, lihat ListDomains di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-workflow-types.

AWS CLI

Daftar Jenis Alur Kerja

Untuk mendapatkan daftar jenis alur kerja untuk domain, gunakanswf list-workflow-types. --registration-statusArgumen --domain dan diperlukan. Berikut adalah contoh sederhana.

aws swf list-workflow-types \ --domain DataFrobtzz \ --registration-status REGISTERED

Output:

{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.598, "description": "DataFrobtzz subscribe workflow", "workflowType": { "version": "v3", "name": "subscribe" } } ] }

Seperti halnyalist-activity-types, Anda dapat menggunakan --name argumen untuk memilih hanya jenis alur kerja dengan nama tertentu, dan menggunakan --maximum-page-size argumen dalam koordinasi --next-page-token dengan hasil halaman. Untuk membalikkan urutan di mana hasil dikembalikan, gunakan--reverse-order.

Lihat Juga ListWorkflowTypes di Referensi API Layanan Alur Kerja Sederhana Amazon

Contoh kode berikut menunjukkan cara menggunakanregister-domain.

AWS CLI

Mendaftarkan Domain

Anda dapat menggunakan AWS CLI untuk mendaftarkan domain baru. Gunakan perintah swf register-domain. Ada dua parameter yang diperlukan--name, yang mengambil nama domain, dan--workflow-execution-retention-period-in-days, yang membutuhkan bilangan bulat untuk menentukan jumlah hari untuk menyimpan data eksekusi alur kerja pada domain ini, hingga periode maksimum 90 hari (untuk informasi selengkapnya, lihat FAQ SWF < https://aws.amazon.com/swf/faqs/ #retain_limit >). Data eksekusi alur kerja tidak akan disimpan setelah jumlah hari yang ditentukan telah berlalu.

aws swf register-domain \ --name MyNeatNewDomain \ --workflow-execution-retention-period-in-days 0 ""

Ketika Anda mendaftarkan domain, tidak ada yang dikembalikan (“”), tetapi Anda dapat menggunakan swf list-domains atau swf describe-domain untuk melihat domain baru.

aws swf list-domains \ --registration-status REGISTERED { "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "MyNeatNewDomain" }, { "status": "REGISTERED", "name": "erontest" } ] }

Menggunakanswf describe-domain :

aws swf describe-domain --name MyNeatNewDomain { "domainInfo": { "status": "REGISTERED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" } }

Lihat Juga RegisterDomain di Referensi API Layanan Alur Kerja Sederhana Amazon

Contoh kode berikut menunjukkan cara menggunakanregister-workflow-type.

AWS CLI

Mendaftarkan Jenis Alur Kerja

Untuk mendaftarkan tipe Workflow dengan AWS CLI, gunakan swf register-workflow-type perintah.

aws swf register-workflow-type \ --domain DataFrobtzz \ --name "MySimpleWorkflow" \ --workflow-version "v1"

Jika berhasil, perintah tidak menghasilkan output.

Pada kesalahan (misalnya, jika Anda mencoba mendaftarkan typetwice alur kerja yang sama, atau menentukan domain yang tidak ada) Anda akan mendapatkan respons di JSON.

{ "message": "WorkflowType=[name=MySimpleWorkflow, version=v1]", "__type": "com.amazonaws.swf.base.model#TypeAlreadyExistsFault" }

Yang--domain, --name dan --workflow-version diperlukan. Anda juga dapat mengatur deskripsi alur kerja, batas waktu, dan kebijakan alur kerja anak.

Untuk informasi selengkapnya, lihat Refer RegisterWorkflowType ensi API Layanan Alur Kerja Sederhana Amazon