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:

  • DimulaiAWS 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) agar 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, namanya hanya boleh berisi 0-9, A-Z, a-z, - dan _.

InputType

Diperlukan: Tidak

  • Literal(default): Bila ditentukan, nilai dalamInputbidang diteruskan 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 keadaan standar: Jika disediakan, artefak keluaran dihuni dengan output dari mesin negara. Hal ini diperoleh darioutputpropertiStep Functions DescribeExecution APIrespon 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 dari 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 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, isiInputbidang konfigurasi tindakan digunakan sebagai input untuk mesin negara. Ketika input literal tidak disediakan, eksekusi mesin negara menggunakan objek JSON kosong{}. Untuk informasi lebih lanjut tentang cara menjalankan eksekusi mesin status tanpa input, lihatStartExecution API.

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, gagal.

Jika artefak keluaran dikonfigurasi, artefak akan berisi nilai pengembalian mesin negara. Hal ini diperoleh darioutputpropertiStep Functions DescribeExecution APIrespon 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 CodePipeline Step Functions tindakan 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.

Ekspres mesin status

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 untuk memulai eksekusi mesin negara, eksekusi tindakan gagal. Jika tidak, tindakan berhasil segera. Tindakan berhasil 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.