

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

# AWS Step Functions memanggil referensi tindakan
<a name="action-reference-StepFunctions"></a>

 AWS CodePipeline Tindakan yang melakukan hal berikut:
+ Memulai eksekusi mesin AWS Step Functions status dari pipeline Anda.
+ Menyediakan status awal ke mesin status melalui properti dalam konfigurasi tindakan atau file yang terletak di artefak pipa untuk diteruskan sebagai input.
+ Secara opsional menetapkan awalan ID eksekusi untuk mengidentifikasi eksekusi yang berasal dari tindakan.
+ Mendukung mesin status [Standar dan Ekspres](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html).

**catatan**  
Tindakan Step Functions berjalan di Lambda, dan karena itu memiliki kuota ukuran artefak yang sama dengan kuota ukuran artefak untuk fungsi Lambda. Untuk informasi selengkapnya, lihat [Kuota Lambda di Panduan Pengembang](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) Lambda.

## Tipe tindakan
<a name="action-reference-StepFunctions-type"></a>
+ Kategori: `Invoke`
+ Pemilik: `AWS`
+ Penyedia: `StepFunctions`
+ Versi: `1`

## Parameter konfigurasi
<a name="action-reference-StepFunctions-config"></a>

**StateMachineArn**  
Wajib: Ya  
Nama Sumber Daya Amazon (ARN) untuk mesin status yang akan dipanggil.

**ExecutionNamePrefix**  
Wajib: Tidak  
Secara default, ID eksekusi tindakan digunakan sebagai nama eksekusi mesin negara. Jika awalan disediakan, itu 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 keadaan ekspres, nama hanya boleh berisi 0-9, A-Z, a-z, - dan \$1.

**InputType**  
Wajib: Tidak  
+ **Literal** (default): Ketika ditentukan, nilai di bidang **Input** diteruskan langsung ke input mesin status.

  Contoh entri untuk bidang **Input** saat **Literal** dipilih:

  ```
  {"action": "test"}
  ```
+ **FilePath**: Isi file dalam artefak input yang ditentukan oleh bidang **Input** digunakan sebagai input untuk eksekusi mesin negara. Artefak input diperlukan saat **InputType**diatur ke **FilePath**.

  Contoh entri untuk bidang **Input** saat **FilePath**dipilih:

  ```
  assets/input.json
  ```

**Input**  
Diperlukan: Kondisional  
+ **Literal**: Ketika **InputType**diatur ke **Literal** (default), bidang ini opsional. 

  Jika disediakan, bidang **Input** digunakan secara langsung sebagai input untuk eksekusi mesin status. Jika tidak, mesin status dipanggil dengan objek JSON kosong. `{}`
+ **FilePath**: Kapan **InputType**diatur ke **FilePath**, bidang ini diperlukan.

  Artefak input juga diperlukan saat **InputType**diatur ke **FilePath**.

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

## Artefak masukan
<a name="action-reference-StepFunctions-input"></a>
+ **Jumlah artefak:** `0 to 1`
+ **Deskripsi:** Jika **InputType**diatur ke **FilePath**, artefak ini diperlukan dan digunakan untuk sumber input untuk eksekusi mesin status.

## Artefak keluaran
<a name="action-reference-StepFunctions-output"></a>
+ **Jumlah artefak:** `0 to 1` 
+ **Deskripsi**:
  + **Mesin Negara Standar**: Jika disediakan, artefak keluaran diisi dengan output dari mesin negara. Ini diperoleh dari `output` properti respons [Step Functions DescribeExecution API](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) setelah eksekusi mesin status berhasil diselesaikan.
  + **Mesin Negara Ekspres**: Tidak didukung.

## Variabel keluaran
<a name="action-reference-StepFunctions-variables"></a>

Tindakan ini menghasilkan variabel keluaran yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline.

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

**StateMachineArn**  
ARN dari mesin negara.

**ExecutionArn**  
ARN dari eksekusi mesin negara. Hanya mesin negara standar.

## Izin peran layanan: tindakan `StepFunctions`
<a name="edit-role-stepfunctions"></a>

Untuk `StepFunctions` tindakan, berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan pemanggilan Step Functions.

```
{
    "Effect": "Allow",
    "Action": [
        "states:DescribeStateMachine",
        "states:DescribeExecution",
        "states:StartExecution"
    ],
    "Resource": "resource_ARN"
},
```

## Contoh konfigurasi tindakan
<a name="action-reference-StepFunctions-example"></a>

### Contoh untuk input default
<a name="action-reference-StepFunctions-example-default"></a>

------
#### [ 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 masukan literal
<a name="action-reference-StepFunctions-example-literal"></a>

------
#### [ 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
<a name="action-reference-StepFunctions-example-filepath"></a>

------
#### [ 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
<a name="action-reference-StepFunctions-types"></a>

Selama rilis, CodePipeline jalankan mesin status yang dikonfigurasi menggunakan input seperti yang ditentukan dalam konfigurasi tindakan.

Kapan **InputType**diatur ke **Literal**, konten bidang konfigurasi tindakan **Input** digunakan sebagai input untuk mesin status. Ketika input literal tidak disediakan, eksekusi mesin negara menggunakan objek `{}` JSON kosong. Untuk informasi selengkapnya tentang menjalankan eksekusi mesin status tanpa input, lihat [Step Functions StartExecution API](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html).

Ketika **InputType**diatur ke **FilePath**, tindakan membuka ritsleting artefak input dan menggunakan konten file yang ditentukan dalam bidang konfigurasi tindakan **Input** sebagai input untuk mesin status. Kapan **FilePath**ditentukan, bidang **Input** diperlukan dan artefak input harus ada; jika tidak, tindakan gagal.

Setelah eksekusi awal berhasil, perilaku akan menyimpang untuk dua jenis mesin status, *standar* dan *ekspres*.

### Mesin negara standar
<a name="action-reference-StepFunctions-types-standard"></a>

Jika eksekusi mesin status standar berhasil dimulai, CodePipeline polling `DescribeExecution` API hingga eksekusi mencapai status terminal. Jika eksekusi berhasil diselesaikan, tindakan berhasil; jika tidak, itu gagal.

Jika artefak keluaran dikonfigurasi, artefak akan berisi nilai pengembalian mesin status. Ini diperoleh dari `output` properti respons [Step Functions DescribeExecution API](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) setelah eksekusi mesin status berhasil diselesaikan. Perhatikan bahwa ada batasan panjang keluaran yang diberlakukan pada API ini.

#### Penanganan kesalahan
<a name="action-reference-StepFunctions-types-standard-handling"></a>
+ Jika tindakan gagal memulai eksekusi mesin negara, eksekusi tindakan gagal.
+ Jika eksekusi mesin status gagal mencapai status terminal sebelum tindakan CodePipeline Step Functions mencapai batas waktu (default 7 hari), eksekusi tindakan gagal. Mesin negara mungkin terus berlanjut meskipun kegagalan ini. Untuk informasi selengkapnya tentang batas waktu eksekusi mesin status di Step Functions, lihat Alur [Kerja Standar vs Ekspres.](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html)
**catatan**  
Anda dapat meminta peningkatan kuota untuk batas waktu tindakan pemanggilan untuk akun dengan tindakan tersebut. Namun, peningkatan kuota berlaku untuk semua tindakan jenis ini di semua Wilayah untuk akun tersebut.
+ Jika eksekusi mesin status mencapai status terminal FAILED, TIMED\$1OUT, atau ABORTED, eksekusi tindakan gagal.

### Mesin negara ekspres
<a name="action-reference-StepFunctions-types-express"></a>

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

Pertimbangan untuk tindakan yang dikonfigurasi untuk mesin keadaan ekspres:
+ Anda tidak dapat menunjuk artefak keluaran.
+ Tindakan tidak menunggu eksekusi mesin negara selesai.
+ Setelah eksekusi tindakan dimulai CodePipeline, eksekusi tindakan berhasil bahkan jika eksekusi mesin status gagal.

#### Penanganan kesalahan
<a name="action-reference-StepFunctions-types-express-handling"></a>
+ Jika CodePipeline gagal memulai eksekusi mesin status, eksekusi tindakan gagal. Kalau tidak, tindakan segera berhasil. Tindakan berhasil CodePipeline terlepas dari berapa lama eksekusi mesin negara untuk menyelesaikan atau hasilnya.

## Lihat juga
<a name="action-reference-StepFunctions-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [AWS Step Functions Panduan Pengembang](https://docs.aws.amazon.com/step-functions/latest/dg/) — Untuk informasi tentang mesin status, eksekusi, dan input untuk mesin status, lihat Panduan *AWS Step Functions Pengembang*.
+ [Tutorial: Gunakan AWS Step Functions tindakan pemanggilan dalam pipeline](tutorials-step-functions.md)— Tutorial ini membantu Anda memulai dengan contoh mesin status standar dan menunjukkan cara menggunakan konsol untuk memperbarui pipeline dengan menambahkan tindakan pemanggilan Step Functions.