AWS Step Functions - AWS CodePipeline

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

AWS Step Functions

SesiAWS CodePipelinetindakan yang melakukan hal berikut:

  • Mulai sebuahAWS Step Functionseksekusi mesin negara dari pipa Anda.

  • Menyediakan keadaan awal untuk mesin negara melalui salah satu properti dalam konfigurasi tindakan atau file yang terletak di artefak pipa yang akan diteruskan sebagai masukan.

  • Opsional menetapkan awalan ID eksekusi untuk mengidentifikasi eksekusi yang berasal dari tindakan.

  • MendukungStandar dan Ekspresmesin status.

catatan

Fitur ini tidak tersedia di Wilayah Asia Pacific (Hong Kong) dan Europe (Milan). Untuk referensi tindakan lain yang tersedia, lihatIntegrasi produk dan layanan dengan CodePipeline.

Tipe tindakan

  • kategori:Invoke

  • Pemilik:AWS

  • Penyedia:StepFunctions

  • Versi:1

Parameter konfigurasi

StateMachineArn

Diperlukan: Ya

Amazon Resource Name (ARN) untuk mesin status dipanggil.

ExecutionNamePrefix

Diperlukan: Tidak

Secara default, ID eksekusi tindakan digunakan sebagai nama eksekusi mesin negara. Jika awalan disediakan, itu akan ditambahkan ke ID eksekusi tindakan dengan tanda hubung dan bersama-sama digunakan sebagai nama eksekusi mesin negara.

myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791

Untuk mesin status, nama hanya boleh berisi 0-9, A-Z, a-z, - dan _.

InputType

Diperlukan: Tidak

  • Literal(default): Bila ditentukan, nilai dalamInputdilewatkan langsung ke input mesin status.

    Entri contoh untukInputbidang ketikaLiteraldipilih:

    {"action": "test"}
  • filePath: Isi file dalam artefak masukan yang ditentukan olehInputbidang digunakan sebagai input untuk eksekusi mesin status. Artefak masukan diperlukan saatInputTypediatur kefilePath.

    Entri contoh untukInputbidang ketikafilePathdipilih:

    assets/input.json
Input

Diperlukan: Bersyarat

  • Literal: SaatInputTypediatur keLiteral(default), bidang ini bersifat opsional.

    Jika disediakan,Inputbidang digunakan langsung sebagai input untuk eksekusi mesin status. Jika tidak, mesin negara dipanggil dengan objek JSON kosong{}.

  • filePath: SaatInputTypediatur kefilePath, bidang ini wajib diisi.

    Artefak masukan juga diperlukan saatInputTypediatur kefilePath.

    Isi file dalam artefak masukan yang ditentukan digunakan sebagai masukan untuk eksekusi mesin negara.

artefak

  • Jumlah artefak: 0 to 1

  • Deskripsi: JikaInputTypediatur kefilePath, artefak ini diperlukan dan digunakan untuk sumber input untuk eksekusi mesin negara.

artefak

  • Jumlah artefak: 0 to 1

  • Deskripsi:

    • Mesin Status Standar: Jika disediakan, artefak output dihuni dengan output dari mesin negara. Hal ini diperoleh darioutputproperti dariAPI Step Functionsrespon setelah eksekusi mesin status selesai dengan sukses.

    • Ekspres Mesin Status: Tidak didukung.

Variabel output

Tindakan ini menghasilkan variabel output yang dapat direferensikan oleh konfigurasi aksi aksi hilir dalam pipa.

Untuk informasi selengkapnya, lihat Variabel.

StateMachineArn

ARN mesin status.

ExecutionARN

ARN eksekusi mesin negara. Mesin negara standar saja.

Contoh konfigurasi

Contoh untuk input default

YAML
Name: ActionName ActionTypeId: Category: Invoke Owner: AWS Version: 1 Provider: StepFunctions OutputArtifacts: - Name: myOutputArtifact Configuration: StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine ExecutionNamePrefix: my-prefix
JSON
{ "Name": "ActionName", "ActionTypeId": { "Category": "Invoke", "Owner": "AWS", "Version": 1, "Provider": "StepFunctions" }, "OutputArtifacts": [ { "Name": "myOutputArtifact" } ], "Configuration": { "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine", "ExecutionNamePrefix": "my-prefix" } }

Contoh untuk input literal

YAML
Name: ActionName ActionTypeId: Category: Invoke Owner: AWS Version: 1 Provider: StepFunctions OutputArtifacts: - Name: myOutputArtifact Configuration: StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine ExecutionNamePrefix: my-prefix Input: '{"action": "test"}'
JSON
{ "Name": "ActionName", "ActionTypeId": { "Category": "Invoke", "Owner": "AWS", "Version": 1, "Provider": "StepFunctions" }, "OutputArtifacts": [ { "Name": "myOutputArtifact" } ], "Configuration": { "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine", "ExecutionNamePrefix": "my-prefix", "Input": "{\"action\": \"test\"}" } }

Contoh untuk file input

YAML
Name: ActionName InputArtifacts: - Name: myInputArtifact ActionTypeId: Category: Invoke Owner: AWS Version: 1 Provider: StepFunctions OutputArtifacts: - Name: myOutputArtifact Configuration: StateMachineArn: 'arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine' ExecutionNamePrefix: my-prefix InputType: FilePath Input: assets/input.json
JSON
{ "Name": "ActionName", "InputArtifacts": [ { "Name": "myInputArtifact" } ], "ActionTypeId": { "Category": "Invoke", "Owner": "AWS", "Version": 1, "Provider": "StepFunctions" }, "OutputArtifacts": [ { "Name": "myOutputArtifact" } ], "Configuration": { "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine", "ExecutionNamePrefix": "my-prefix", "InputType": "FilePath", "Input": "assets/input.json" } }

Perilaku

Selama rilis, CodePipeline mengeksekusi mesin negara dikonfigurasi menggunakan input seperti yang ditentukan dalam konfigurasi tindakan.

SaatInputTypediatur keLiteral, isi dariInputbidang konfigurasi tindakan digunakan sebagai input untuk mesin negara. Ketika input literal tidak disediakan, eksekusi mesin negara menggunakan objek JSON kosong{}. Untuk informasi lebih lanjut untuk menjalankan eksekusi mesin status tanpa input, lihatAPI Step Functions.

SaatInputTypediatur kefilePath, tindakan unzip artefak masukan dan menggunakan isi dari file yang ditentukan dalamInputbidang konfigurasi tindakan sebagai masukan untuk mesin negara. SaatfilePathditentukan,Inputbidang diperlukan dan artefak masukan harus ada; jika tidak, tindakan gagal.

Setelah eksekusi awal yang sukses, perilaku akan menyimpang untuk dua jenis mesin negara,standardanmengucapkan.

Mesin status

Jika eksekusi mesin negara standar berhasil dimulai, CodePipeline jajak pendapatDescribeExecutionAPI sampai eksekusi mencapai status terminal. Jika eksekusi berhasil selesai, tindakan berhasil; jika tidak, eksekusi akan gagal.

Jika artefak keluaran dikonfigurasi, artefak akan berisi nilai pengembalian mesin negara. Hal ini diperoleh darioutputproperti dariAPI Step Functionsrespon setelah eksekusi mesin status selesai dengan sukses. Perhatikan bahwa ada kendala panjang output yang diberlakukan pada API ini.

Penanganan kesalahan

  • Jika tindakan gagal untuk memulai eksekusi mesin negara, eksekusi tindakan gagal.

  • Jika eksekusi mesin negara gagal mencapai status terminal sebelum tindakan CodePipeline Step Functions mencapai batas waktu (default 7 hari), eksekusi tindakan gagal. Mesin negara mungkin berlanjut meskipun kegagalan ini. Untuk informasi selengkapnya tentang batas waktu eksekusi mesin status di Step Functions, lihatAlur Kerja Standar vs Ekspres.

    catatan

    Anda dapat meminta peningkatan kuota untuk batas waktu tindakan pemanggilan untuk akun dengan tindakan. Namun, peningkatan kuota berlaku untuk semua tindakan jenis ini di semua Wilayah untuk akun tersebut.

  • Jika eksekusi mesin negara mencapai status terminal FAIL, TIMED_OUT, atau ABORTED, eksekusi tindakan gagal.

Mesin keadaan

Jika eksekusi mesin state ekspres berhasil dimulai, eksekusi aksi pemanggilan selesai dengan sukses.

Pertimbangan untuk tindakan yang dikonfigurasi untuk mesin negara ekspres:

  • Anda tidak dapat menunjuk artefak keluaran.

  • Tindakan tidak menunggu eksekusi mesin negara selesai.

  • Setelah eksekusi aksi dimulai di CodePipeline, eksekusi aksi berhasil bahkan jika eksekusi mesin negara gagal.

Penanganan kesalahan

  • Jika CodePipeline gagal memulai eksekusi mesin negara, eksekusi tindakan gagal. Jika tidak, tindakan berhasil segera. Tindakan berhasil dalam CodePipeline terlepas dari berapa lama eksekusi mesin negara diperlukan untuk menyelesaikan atau hasilnya.

Sumber daya terkait berikut dapat membantu Anda saat bekerja dengan tindakan ini.