

Amazon CodeCatalyst tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Lihat informasi yang lebih lengkap di [Cara bermigrasi dari CodeCatalyst](migration.md).

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

# Memanggil fungsi Lambda menggunakan alur kerja
<a name="lam-invoke-action"></a>

Bagian ini menjelaskan cara memanggil AWS Lambda fungsi menggunakan CodeCatalyst alur kerja. Untuk mencapai ini, Anda harus menambahkan tindakan **AWS Lambda pemanggilan ke alur** kerja Anda. Tindakan **AWS Lambda pemanggilan memanggil** fungsi Lambda yang Anda tentukan.

[Selain menjalankan fungsi Anda, tindakan **AWS Lambda pemanggilan** juga mengonversi setiap kunci tingkat atas dalam payload respons yang diterima dari fungsi Lambda menjadi variabel keluaran alur kerja.](workflows-working-with-variables.md) Variabel-variabel ini kemudian dapat direferensikan dalam tindakan alur kerja berikutnya. Jika Anda tidak ingin semua kunci tingkat atas dikonversi ke variabel, Anda dapat menggunakan filter untuk menentukan yang tepat. Untuk informasi selengkapnya, lihat deskripsi [ResponseFilters](lam-invoke-action-ref.md#lam.invoke.response.filters) properti di[Tindakan 'AWS Lambda memanggil' YAMAL](lam-invoke-action-ref.md). 

**Topics**
+ [Kapan menggunakan tindakan ini](#lam-invoke-action-when-to-use)
+ [Gambar runtime yang digunakan oleh tindakan 'AWS Lambda pemanggilan'](#lam-invoke-action-runtime)
+ [Contoh: Memanggil fungsi Lambda](lam-invoke-action-example-workflow.md)
+ [Menambahkan tindakan 'AWS Lambda pemanggilan'](lam-invoke-action-add.md)
+ [variabel 'AWS Lambda pemanggilan'](lam-invoke-action-variables.md)
+ [Tindakan 'AWS Lambda memanggil' YAMAL](lam-invoke-action-ref.md)

## Kapan menggunakan tindakan ini
<a name="lam-invoke-action-when-to-use"></a>

Gunakan tindakan ini jika Anda ingin menambahkan fungsionalitas ke alur kerja yang dienkapsulasi dalam, dan dilakukan oleh, fungsi Lambda.

Misalnya, Anda mungkin ingin alur kerja Anda mengirim `Build started` notifikasi ke saluran Slack sebelum memulai pembuatan aplikasi. Dalam hal ini, alur kerja Anda akan menyertakan tindakan **AWS Lambda pemanggilan** untuk memanggil Lambda untuk mengirimkan notifikasi Slack, dan tindakan build untuk [membangun](build-add-action.md) aplikasi Anda.

Sebagai contoh lain, Anda mungkin ingin alur kerja Anda melakukan pemindaian kerentanan pada aplikasi Anda sebelum diterapkan. Dalam hal ini, Anda akan menggunakan tindakan build untuk membangun aplikasi Anda, tindakan pemanggilan untuk **AWS Lambda memanggil** Lambda untuk memindai kerentanan, dan tindakan penerapan untuk menyebarkan aplikasi yang dipindai.

## Gambar runtime yang digunakan oleh tindakan 'AWS Lambda pemanggilan'
<a name="lam-invoke-action-runtime"></a>

Tindakan **AWS Lambda pemanggilan** berjalan pada [gambar November 2022](build-images.md#build.previous-image). Lihat informasi yang lebih lengkap di [Gambar aktif](build-images.md#build-curated-images).

# Contoh: Memanggil fungsi Lambda
<a name="lam-invoke-action-example-workflow"></a>

Alur kerja contoh berikut mencakup tindakan **AWS Lambda pemanggilan**, bersama dengan tindakan penerapan. Alur kerja mengirimkan pemberitahuan Slack yang menunjukkan bahwa penerapan telah dimulai, dan kemudian menyebarkan aplikasi ke dalam AWS menggunakan templat. CloudFormation Alur kerja terdiri dari blok bangunan berikut yang berjalan secara berurutan:
+ **Pemicu - Pemicu** ini memulai alur kerja yang dijalankan secara otomatis saat Anda mendorong perubahan ke repositori sumber Anda. Untuk informasi lebih lanjut tentang menggunakan pemicu, lihat [Memulai alur kerja berjalan secara otomatis menggunakan pemicu](workflows-add-trigger.md).
+ Tindakan **AWS Lambda pemanggilan** (`LambdaNotify`) — Pada pemicu, tindakan ini memanggil fungsi `Notify-Start` Lambda di AWS akun dan Region yang ditentukan (`my-aws-account`, dan). `us-west-2` Pada pemanggilan, fungsi Lambda mengirimkan pemberitahuan Slack yang menunjukkan penerapan telah dimulai.
+ Tindakan ** CloudFormation tumpukan Deploy** (`Deploy`) — Setelah menyelesaikan aksi **AWS Lambda pemanggilan,** tindakan ** CloudFormation tumpukan Deploy** menjalankan template (`cfn-template.yml`) untuk menerapkan tumpukan aplikasi Anda. Untuk informasi selengkapnya tentang tindakan **Deploy CloudFormation stack**, lihat[Menyebarkan tumpukan CloudFormation](deploy-action-cfn.md).

**catatan**  
Contoh alur kerja berikut adalah untuk tujuan ilustrasi, dan tidak akan berfungsi tanpa konfigurasi tambahan.

**catatan**  
Dalam kode YAMAL berikut, Anda dapat menghilangkan `Connections:` bagian jika Anda mau. **Jika Anda menghilangkan bagian ini, Anda harus memastikan bahwa peran yang ditentukan dalam bidang **peran IAM Default** di lingkungan Anda mencakup izin dan kebijakan kepercayaan yang diperlukan oleh tindakan pemanggilan dan **AWS Lambda Deploy stack**. CloudFormation ** Untuk informasi selengkapnya tentang menyiapkan lingkungan dengan peran IAM default, lihat[Pembuatan lingkungan](deploy-environments-creating-environment.md). Untuk informasi selengkapnya tentang izin dan kebijakan kepercayaan yang diperlukan oleh **AWS Lambda tindakan pemanggilan** **dan CloudFormation Penerapan tumpukan**, lihat deskripsi `Role` properti di dan. [Tindakan 'AWS Lambda memanggil' YAMAL](lam-invoke-action-ref.md) [Tindakan 'Menyebarkan CloudFormation tumpukan' YAMAL](deploy-action-ref-cfn.md)

```
Name: codecatalyst-lamda-invoke-workflow
SchemaVersion: 1.0

Triggers:
  - Type: PUSH
    Branches:
      - main
Actions:
  LambdaNotify:
    Identifier: aws/lambda-invoke@v1
    Environment:
      Name: my-production-environment
      Connections:
        - Name: my-aws-account
          Role: codecatalyst-lambda-invoke-role
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      Function: Notify-Start
      AWSRegion: us-west-2
        
  Deploy:
    Identifier: aws/cfn-deploy@v1
    Environment:
      Name: my-production-environment
      Connections:
        - Name: my-aws-account
          Role: codecatalyst-deploy-role
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      name: my-application-stack
      region: us-west-2
      role-arn: arn:aws:iam::111122223333:role/StackRole
      template: ./cfn-template.yml
      capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND
```

# Menambahkan tindakan 'AWS Lambda pemanggilan'
<a name="lam-invoke-action-add"></a>

 Gunakan petunjuk berikut untuk menambahkan tindakan **AWS Lambda pemanggilan ke** alur kerja Anda. 

**Prasyarat**  
Sebelum memulai, pastikan AWS Lambda fungsi Anda dan peran eksekusi Lambda terkait sudah siap dan tersedia. AWS Untuk informasi selengkapnya, lihat topik [peran eksekusi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) di Panduan *AWS Lambda Pengembang*.

------
#### [ Visual ]

**Untuk menambahkan tindakan 'AWS Lambda invoke' menggunakan editor visual**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **Visual**.

1. Di kiri atas, pilih **\$1 Tindakan** untuk membuka katalog tindakan.

1. Dari daftar drop-down, pilih **Amazon CodeCatalyst**.

1. Cari tindakan **AWS Lambda pemanggilan**, dan lakukan salah satu hal berikut:
   + Pilih tanda plus (**\$1**) untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

     Atau
   + Pilih **AWS Lambda panggil**. Kotak dialog detail tindakan muncul. Pada kotak dialog ini:
     + (Opsional) Pilih **Lihat sumber** untuk [melihat kode sumber tindakan](workflows-view-source.md#workflows-view-source.title).
     + Pilih **Tambahkan ke alur kerja** untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

1. Pada tab **Input**, **Konfigurasi**, dan **Output**, lengkapi bidang sesuai dengan kebutuhan Anda. Untuk deskripsi setiap bidang, lihat[Tindakan 'AWS Lambda memanggil' YAMAL](lam-invoke-action-ref.md). Referensi ini memberikan informasi rinci tentang setiap bidang (dan nilai properti YAMAL yang sesuai) seperti yang muncul di YAMAL dan editor visual.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------
#### [ YAML ]

**Untuk menambahkan tindakan 'AWS Lambda invoke' menggunakan editor YAMAL**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

1. Di kiri atas, pilih **\$1 Tindakan** untuk membuka katalog tindakan.

1. Dari daftar drop-down, pilih **Amazon CodeCatalyst**.

1. Cari tindakan **AWS Lambda pemanggilan**, dan lakukan salah satu hal berikut:
   + Pilih tanda plus (**\$1**) untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

     Atau
   + Pilih **AWS Lambda panggil**. Kotak dialog detail tindakan muncul. Pada kotak dialog ini:
     + (Opsional) Pilih **Lihat sumber** untuk [melihat kode sumber tindakan](workflows-view-source.md#workflows-view-source.title).
     + Pilih **Tambahkan ke alur kerja** untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

1. Ubah properti dalam kode YAMAL sesuai dengan kebutuhan Anda. Penjelasan tentang setiap properti yang tersedia disediakan di[Tindakan 'AWS Lambda memanggil' YAMAL](lam-invoke-action-ref.md).

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

# variabel 'AWS Lambda pemanggilan'
<a name="lam-invoke-action-variables"></a>

Secara default, tindakan **AWS Lambda pemanggilan** menghasilkan satu variabel per kunci tingkat atas di payload respons Lambda.

Misalnya, jika payload respons terlihat seperti ini:

```
responsePayload = {
  "name": "Saanvi",
  "location": "Seattle",
  "department": {
    "company": "Amazon",
    "team": "AWS"
  }
}
```

... maka tindakan akan menghasilkan variabel berikut.


| Key | Nilai | 
| --- | --- | 
|  name  |  Saanvi  | 
|  lokasi  |  Seattle  | 
|  departemen  |  \$1"company”: “Amazon”, “team”: "AWS“\$1  | 

**catatan**  
Anda dapat mengubah variabel mana yang dihasilkan menggunakan properti `ResponseFilters` YAMAL. Untuk informasi lebih lanjut, lihat [ResponseFilters](lam-invoke-action-ref.md#lam.invoke.response.filters) di[Tindakan 'AWS Lambda memanggil' YAMAL](lam-invoke-action-ref.md).

Variabel yang dihasilkan dan ditetapkan oleh tindakan 'AWS Lambda invoke' pada waktu berjalan dikenal sebagai variabel yang *telah* ditentukan sebelumnya.

Untuk informasi tentang mereferensikan variabel-variabel ini dalam alur kerja, lihat. [Menggunakan variabel yang telah ditentukan](workflows-using-predefined-variables.md)

# Tindakan 'AWS Lambda memanggil' YAMAL
<a name="lam-invoke-action-ref"></a>

Berikut ini adalah definisi YAMAL dari tindakan **AWS Lambda pemanggilan.** Untuk mempelajari cara menggunakan tindakan ini, lihat[Memanggil fungsi Lambda menggunakan alur kerja](lam-invoke-action.md).

Definisi tindakan ini ada sebagai bagian dalam file definisi alur kerja yang lebih luas. Untuk informasi selengkapnya tentang file ini, lihat[Alur kerja definisi YAMAL](workflow-reference.md).

**catatan**  
Sebagian besar properti YAMAL yang mengikuti memiliki elemen UI yang sesuai di editor visual. Untuk mencari elemen UI, gunakan **Ctrl\$1F**. Elemen akan terdaftar dengan properti YAMLnya yang terkait.

```
# The workflow definition starts here.
# See Properti tingkat atas for details.
        
Name: MyWorkflow
SchemaVersion: 1.0 
Actions:

# The action definition starts here.   
  LambdaInvoke\$1nn: 
    Identifier: aws/lambda-invoke@v1
    DependsOn:
      - dependent-action
    Compute:  
      Type: EC2 | Lambda
      Fleet: fleet-name
    Timeout: timeout-minutes
    Inputs:
      # Specify a source or an artifact, but not both.
      Sources:
        - source-name-1
      Artifacts:
        - request-payload
      Variables:
        - Name: variable-name-1
          Value: variable-value-1
        - Name: variable-name-2
          Value: variable-value-2
    Environment:
      Name: environment-name
      Connections:
        - Name: account-connection-name
          Role: iam-role-name
    Configuration:
      Function: my-function|function-arn
      AWSRegion: us-west-2
      # Specify RequestPayload or RequestPayloadFile, but not both.
      RequestPayload: '{"firstname": "Li", lastname: "Jean", "company": "ExampleCo", "team": "Development"}'
      RequestPayloadFile: my/request-payload.json
      ContinueOnError: true|false
      LogType: Tail|None
      ResponseFilters: '{"name": ".name", "company": ".department.company"}'
    Outputs:
      Artifacts:
        - Name: lambda_artifacts
          Files: 
            - "lambda-response.json"
```

## LambdaInvoke
<a name="lam.invoke.name"></a>

(Diperlukan)

Tentukan nama tindakan. Semua nama tindakan harus unik dalam alur kerja. Nama aksi terbatas pada karakter alfanumerik (a-z, A-Z, 0-9), tanda hubung (-), dan garis bawah (\$1). Spasi tidak diizinkan. Anda tidak dapat menggunakan tanda kutip untuk mengaktifkan karakter dan spasi khusus dalam nama tindakan.

Default: `Lambda_Invoke_Action_Workflow_nn`.

UI yang sesuai: Tab konfigurasi/Nama **tindakan**

## Identifier
<a name="lam.invoke.identifier"></a>

(*LambdaInvoke*/**Identifier**)

(Diperlukan)

Mengidentifikasi tindakan. Jangan mengubah properti ini kecuali Anda ingin mengubah versi. Untuk informasi selengkapnya, lihat [Menentukan versi tindakan yang akan digunakan](workflows-action-versions.md).

Default: `aws/lambda-invoke@v1`.

**UI yang sesuai: Diagram alur LambdaInvoke kerja/\$1nn/ aws/lambda-invoke @v1 label**

## DependsOn
<a name="lam.invoke.dependson"></a>

(*LambdaInvoke*/**DependsOn**)

(Opsional)

Tentukan tindakan, grup tindakan, atau gerbang yang harus berjalan dengan sukses agar tindakan ini berjalan.

Untuk informasi selengkapnya tentang fungsionalitas 'tergantung pada', lihat. [Tindakan pengurutan](workflows-depends-on.md)

UI yang sesuai: Tab **masukan/Tergantung pada** - opsional

## Compute
<a name="lam.invoke.computename"></a>

(*LambdaInvoke*/**Compute**)

(Opsional)

Mesin komputasi yang digunakan untuk menjalankan tindakan alur kerja Anda. Anda dapat menentukan komputasi baik di tingkat alur kerja atau di tingkat tindakan, tetapi tidak keduanya. Ketika ditentukan pada tingkat alur kerja, konfigurasi komputasi berlaku untuk semua tindakan yang ditentukan dalam alur kerja. Pada tingkat alur kerja, Anda juga dapat menjalankan beberapa tindakan pada instance yang sama. Untuk informasi selengkapnya, lihat [Berbagi komputasi di seluruh tindakan](compute-sharing.md).

UI yang sesuai: *tidak ada*

## Type
<a name="lam.invoke.computetype"></a>

(*LambdaInvoke*/Compute/**Type**)

(Diperlukan [Compute](#lam.invoke.computename) jika disertakan)

Jenis mesin komputasi. Anda dapat menggunakan salah satu nilai berikut:
+ **EC2**(editor visual) atau `EC2` (editor YAMAL)

  Dioptimalkan untuk fleksibilitas selama aksi berjalan.
+ **Lambda** (editor visual) atau `Lambda` (editor YAMAL)

  Kecepatan start-up aksi yang dioptimalkan.

Untuk informasi selengkapnya tentang jenis komputasi, lihat[Jenis komputasi](workflows-working-compute.md#compute.types).

UI yang sesuai: Tab konfigurasi/Jenis **komputasi**

## Fleet
<a name="lam.invoke.computefleet"></a>

(*LambdaInvoke*/Compute/**Fleet**)

(Opsional)

Tentukan mesin atau armada yang akan menjalankan alur kerja atau tindakan alur kerja Anda. Dengan armada sesuai permintaan, ketika suatu tindakan dimulai, alur kerja menyediakan sumber daya yang dibutuhkan, dan mesin dihancurkan ketika tindakan selesai. Contoh armada sesuai permintaan:`Linux.x86-64.Large`,. `Linux.x86-64.XLarge` Untuk informasi lebih lanjut tentang armada sesuai permintaan, lihat. [Properti armada sesuai permintaan](workflows-working-compute.md#compute.on-demand)

Dengan armada yang disediakan, Anda mengonfigurasi satu set mesin khusus untuk menjalankan tindakan alur kerja Anda. Mesin-mesin ini tetap menganggur, siap untuk memproses tindakan segera. Untuk informasi selengkapnya tentang armada yang disediakan, lihat. [Properti armada yang disediakan](workflows-working-compute.md#compute.provisioned-fleets)

Jika `Fleet` dihilangkan, defaultnya adalah. `Linux.x86-64.Large`

UI yang sesuai: Tab konfigurasi/Armada **komputasi**

## Timeout
<a name="lam.invoke.timeout"></a>

(*LambdaInvoke*/**Timeout**)

(Diperlukan)

Tentukan jumlah waktu dalam menit (editor YAMG), atau jam dan menit (editor visual), bahwa tindakan dapat berjalan sebelum CodeCatalyst mengakhiri tindakan. Minimal adalah 5 menit dan maksimum dijelaskan dalam[Kuota untuk alur kerja di CodeCatalyst](workflows-quotas.md). Batas waktu default sama dengan batas waktu maksimum.

UI yang sesuai: Tab **konfigurasi/Timeout** - opsional

## Inputs
<a name="lam.invoke.inputs"></a>

(*LambdaInvoke*/**Inputs**)

(Diperlukan)

`Inputs`Bagian ini mendefinisikan data yang dibutuhkan tindakan **AWS Lambda pemanggilan selama menjalankan** alur kerja.

**catatan**  
Hanya satu input (baik sumber atau artefak) yang diizinkan per tindakan **AWS Lambda pemanggilan.** Variabel tidak dihitung terhadap total ini.

UI yang sesuai: **Tab input**

## Sources
<a name="lam.invoke.inputs.sources"></a>

(*LambdaInvoke*/Inputs/**Sources**)

(Diperlukan jika [RequestPayloadFile](#lam.invoke.request.payload.file)disediakan)

Jika Anda ingin meneruskan file JSON payload permintaan **AWS Lambda ke tindakan pemanggilan**, dan file payload ini disimpan dalam repositori sumber, tentukan label repositori sumber tersebut. Saat ini, satu-satunya label yang didukung adalah`WorkflowSource`.

Jika file payload permintaan Anda tidak terkandung dalam repositori sumber, file tersebut harus berada dalam artefak yang dihasilkan oleh tindakan lain.

Untuk informasi selengkapnya tentang file payload, lihat[RequestPayloadFile](#lam.invoke.request.payload.file).

**catatan**  
Alih-alih menentukan file payload, Anda dapat menambahkan kode JSON payload langsung ke tindakan menggunakan properti. `RequestPayload` Untuk informasi selengkapnya, lihat [RequestPayload](#lam.invoke.request.payload). 

Untuk informasi selengkapnya tentang sumber, lihat [Menghubungkan repositori sumber ke alur kerja](workflows-sources.md).

UI yang sesuai: **Tab/Sumber** Input - opsional

## Artifacts - input
<a name="lam.invoke.inputs.artifacts"></a>

(*LambdaInvoke*/Inputs/**Artifacts**)

(Diperlukan jika [RequestPayloadFile](#lam.invoke.request.payload.file)disediakan)

Jika Anda ingin meneruskan file JSON payload permintaan **AWS Lambda ke tindakan pemanggilan**, dan file payload ini terkandung dalam [artefak keluaran dari tindakan sebelumnya, tentukan artefak](build-action-ref.md#build.outputs.artifacts) tersebut di sini.

Untuk informasi selengkapnya tentang file payload, lihat[RequestPayloadFile](#lam.invoke.request.payload.file).

**catatan**  
Alih-alih menentukan file payload, Anda dapat menambahkan kode JSON payload langsung ke tindakan menggunakan properti. `RequestPayload` Untuk informasi selengkapnya, lihat [RequestPayload](#lam.invoke.request.payload). 

Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihat[Berbagi artefak dan file antar tindakan](workflows-working-artifacts.md).

UI yang sesuai: Tab **konfigurasi/Artefak** - opsional

## Variables - input
<a name="lam.invoke.inputs.variables"></a>

(*LambdaInvoke*/Inputs/**Variables**)

(Opsional)

Tentukan urutan name/value pasangan yang menentukan variabel input yang ingin Anda sediakan untuk tindakan. Nama variabel terbatas pada karakter alfanumerik (a-z, A-Z, 0-9), tanda hubung (-), dan garis bawah (\$1). Spasi tidak diizinkan. Anda tidak dapat menggunakan tanda kutip untuk mengaktifkan karakter dan spasi khusus dalam nama variabel.

Untuk informasi selengkapnya tentang variabel, termasuk contoh, lihat[Menggunakan variabel dalam alur kerja](workflows-working-with-variables.md).

UI yang sesuai: Input **tab/Variabel** - opsional

## Environment
<a name="lam.invoke.environment"></a>

(*LambdaInvoke*/**Environment**)

(Diperlukan)

Tentukan CodeCatalyst lingkungan yang akan digunakan dengan tindakan. Tindakan terhubung ke Akun AWS dan VPC Amazon opsional yang ditentukan di lingkungan yang dipilih. Tindakan ini menggunakan peran IAM default yang ditentukan di lingkungan untuk terhubung ke Akun AWS, dan menggunakan peran IAM yang ditentukan dalam [koneksi VPC Amazon untuk terhubung ke VPC](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html) Amazon.

**catatan**  
Jika peran IAM default tidak memiliki izin yang diperlukan oleh tindakan, Anda dapat mengonfigurasi tindakan untuk menggunakan peran yang berbeda. Untuk informasi selengkapnya, lihat [Mengubah peran IAM dari suatu tindakan](deploy-environments-switch-role.md).

Untuk informasi selengkapnya tentang lingkungan, lihat [Menyebarkan ke dalam Akun AWS dan VPCs](deploy-environments.md) dan[Pembuatan lingkungan](deploy-environments-creating-environment.md).

**UI yang sesuai: Tab konfigurasi/Lingkungan**

## Name
<a name="lam.invoke.environment.name"></a>

(*LambdaInvoke*/Environment/**Name**)

(Diperlukan [Environment](#lam.invoke.environment) jika disertakan)

Tentukan nama lingkungan yang ada yang ingin Anda kaitkan dengan tindakan.

**UI yang sesuai: Tab konfigurasi/Lingkungan**

## Connections
<a name="lam.invoke.environment.connections"></a>

(*LambdaInvoke*/Environment/**Connections**)

(Opsional dalam versi tindakan yang lebih baru; diperlukan dalam versi yang lebih lama)

Tentukan koneksi akun untuk dikaitkan dengan tindakan. Anda dapat menentukan maksimum satu koneksi akun di bawah`Environment`.

Jika Anda tidak menentukan koneksi akun:
+ Tindakan menggunakan Akun AWS koneksi dan peran IAM default yang ditentukan di lingkungan di CodeCatalyst konsol. Untuk informasi tentang menambahkan koneksi akun dan peran IAM default ke lingkungan, lihat[Pembuatan lingkungan](deploy-environments-creating-environment.md).
+ Peran IAM default harus menyertakan kebijakan dan izin yang diperlukan oleh tindakan. Untuk menentukan kebijakan dan izin tersebut, lihat deskripsi properti **Peran** dalam dokumentasi definisi YAMAL tindakan.

Untuk informasi selengkapnya tentang koneksi akun, lihat[Memungkinkan akses ke AWS sumber daya yang terhubung Akun AWS](ipa-connect-account.md). Untuk informasi tentang menambahkan koneksi akun ke lingkungan, lihat[Pembuatan lingkungan](deploy-environments-creating-environment.md).

UI yang sesuai: Salah satu dari berikut ini tergantung pada versi tindakan:
+ (Versi yang lebih baru) Konfigurasi tab/Environment/What masuk? *my-environment* **/menu tiga titik/Beralih peran**
+ **(Versi lama) Tab konfigurasi/' Environment/account/role AWS '/ koneksi akun**

## Name
<a name="lam.invoke.environment.connections.name"></a>

(*LambdaInvoke*/Environment/Connections/**Name**)

(Diperlukan [Connections](#lam.invoke.environment.connections) jika disertakan)

Tentukan nama koneksi akun.

UI yang sesuai: Salah satu dari berikut ini tergantung pada versi tindakan:
+ (Versi yang lebih baru) Konfigurasi tab/Environment/What masuk? *my-environment* **/menu tiga titik/Beralih peran**
+ **(Versi lama) Tab konfigurasi/' Environment/account/role AWS '/ koneksi akun**

## Role
<a name="lam.invoke.environment.connections.role"></a>

(*LambdaInvoke*/Environment/Connections/**Role**)

(Diperlukan [Connections](#lam.invoke.environment.connections) jika disertakan)

Tentukan nama peran IAM yang digunakan tindakan **AWS Lambda pemanggilan untuk** mengakses AWS dan menjalankan fungsi Lambda Anda. Pastikan Anda telah [menambahkan peran ke CodeCatalyst ruang Anda](ipa-connect-account-addroles.md), dan peran tersebut mencakup kebijakan berikut.

Jika Anda tidak menentukan peran IAM, maka tindakan tersebut menggunakan peran IAM default yang tercantum di [lingkungan](deploy-environments.md) di CodeCatalyst konsol. Jika Anda menggunakan peran default di lingkungan, pastikan itu memiliki kebijakan berikut.
+ Kebijakan izin berikut:
**Awas**  
Batasi izin untuk yang ditampilkan dalam kebijakan berikut. Menggunakan peran dengan izin yang lebih luas dapat menimbulkan risiko keamanan.
+ Kebijakan kepercayaan khusus berikut:

**catatan**  
Anda dapat menggunakan `CodeCatalystWorkflowDevelopmentRole-spaceName` peran dengan tindakan ini, jika Anda mau. Untuk informasi selengkapnya tentang peran ini, silakan lihat [Membuat **CodeCatalystWorkflowDevelopmentRole-*spaceName***peran untuk akun dan ruang Anda](ipa-iam-roles.md#ipa-iam-roles-service-create). Memahami bahwa `CodeCatalystWorkflowDevelopmentRole-spaceName` peran tersebut memiliki izin akses penuh yang dapat menimbulkan risiko keamanan. Kami menyarankan Anda hanya menggunakan peran ini dalam tutorial dan skenario di mana keamanan kurang menjadi perhatian. 

UI yang sesuai: Salah satu dari berikut ini tergantung pada versi tindakan:
+ (Versi yang lebih baru) Konfigurasi tab/Environment/What masuk? *my-environment* **/menu tiga titik/Beralih peran**
+ **(Versi lama) Tab konfigurasi/' '/ Environment/account/role Peran**

## Configuration
<a name="lam.invoke.configuration"></a>

(*LambdaInvoke*/**Configuration**)

(Diperlukan)

Bagian di mana Anda dapat menentukan properti konfigurasi tindakan.

UI yang sesuai: Tab **konfigurasi**

## Function
<a name="lam.invoke.function"></a>

(*LambdaInvoke*/Configuration/**Function**)

(Diperlukan)

Tentukan AWS Lambda fungsi yang akan dipanggil tindakan ini. Anda dapat menentukan nama fungsi, atau Nama Sumber Daya Amazon (ARN). Anda dapat menemukan nama atau ARN di konsol Lambda.

**catatan**  
 AWS Akun tempat fungsi Lambda berada dapat berbeda dari akun yang ditentukan di bawah. `Connections:`

**UI yang sesuai: Tab/Fungsi Konfigurasi**

## AWSRegion
<a name="lam.invoke.region"></a>

(*LambdaInvoke*/Configuration/**AWSRegion**)

(Diperlukan)

Tentukan AWS Wilayah tempat AWS Lambda fungsi Anda berada. Untuk daftar kode Region, lihat [Titik akhir Regional](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) di. *Referensi Umum AWS*

UI yang sesuai: Tab **konfigurasi/ember Tujuan -** opsional

## RequestPayload
<a name="lam.invoke.request.payload"></a>

(*LambdaInvoke*/Configuration/**RequestPayload**)

(Opsional)

Jika Anda ingin meneruskan payload permintaan **AWS Lambda ke tindakan pemanggilan**, tentukan payload permintaan di sini, dalam format JSON.

Contoh permintaan payload:

```
'{ "key": "value" }'
```

Jika Anda tidak ingin meneruskan payload permintaan ke fungsi Lambda Anda, maka hilangkan properti ini.

**catatan**  
Anda dapat menentukan salah satu dari `RequestPayload` atau `RequestPayloadFile`, bukan keduanya.

Untuk informasi selengkapnya tentang payload permintaan, lihat topik [Memanggil di](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) Referensi *AWS Lambda API*.

UI yang sesuai: Tab **konfigurasi/Minta muatan** - opsional

## RequestPayloadFile
<a name="lam.invoke.request.payload.file"></a>

(*LambdaInvoke*/Configuration/**RequestPayloadFile**)

(Opsional)

Jika Anda ingin meneruskan payload permintaan **AWS Lambda ke tindakan pemanggilan, tentukan jalur ke** file payload permintaan ini di sini. File harus dalam format JSON.

File payload permintaan dapat berada di repositori sumber atau artefak dari tindakan sebelumnya. Jalur file relatif terhadap repositori sumber atau root artefak.

Jika Anda tidak ingin meneruskan payload permintaan ke fungsi Lambda Anda, maka hilangkan properti ini.

**catatan**  
Anda dapat menentukan salah satu dari `RequestPayload` atau `RequestPayloadFile`, bukan keduanya.

Untuk informasi selengkapnya tentang file payload permintaan, lihat topik [Memanggil di](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) Referensi *AWS Lambda API*.

UI yang sesuai: Tab **konfigurasi/Minta file payload** - opsional

## ContinueOnError
<a name="lam.invoke.continue"></a>

(*LambdaInvoke*/Configuration/**RequestPayloadFile**)

(Opsional)

Tentukan apakah Anda ingin menandai tindakan **AWS Lambda pemanggilan** sebagai berhasil meskipun fungsi yang dipanggil AWS Lambda gagal. Pertimbangkan untuk menyetel properti ini `true` agar tindakan selanjutnya dalam alur kerja Anda dimulai meskipun Lambda gagal.

Defaultnya adalah gagal tindakan jika fungsi Lambda gagal (“mati” di editor visual atau `false` di editor YAMAL).

UI yang sesuai: Tab **konfigurasi/Lanjutkan kesalahan**

## LogType
<a name="lam.invoke.log.type"></a>

(*LambdaInvoke*/Configuration/**LogType**)

(Opsional)

Tentukan apakah Anda ingin menyertakan log kesalahan dalam respons dari fungsi Lambda setelah dipanggil. Anda dapat melihat log ini di tab **Log** aksi **pemanggilan Lambda** di konsol. CodeCatalyst Kemungkinan nilainya adalah:
+ `Tail`— kembalikan log
+ `None`— jangan kembalikan log

Defaultnya adalah **Tail**.

Untuk informasi selengkapnya tentang jenis log, lihat topik [Memanggil](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) di *Referensi AWS Lambda API*.

Untuk informasi selengkapnya tentang melihat log, lihat [Melihat status dan detail alur kerja](workflows-view-run.md).

UI yang sesuai: Tab konfigurasi/Jenis **log**

## ResponseFilters
<a name="lam.invoke.response.filters"></a>

(*LambdaInvoke*/Configuration/**ResponseFilters**)

(Opsional)

Tentukan kunci mana di payload respons Lambda yang ingin Anda konversi ke variabel keluaran. Anda kemudian dapat mereferensikan variabel output dalam tindakan selanjutnya dalam alur kerja Anda. Untuk informasi lebih lanjut tentang variabel di CodeCatalyst, lihat[Menggunakan variabel dalam alur kerja](workflows-working-with-variables.md).

Misalnya, jika payload respons Anda terlihat seperti ini:

```
responsePayload = {
  "name": "Saanvi",
  "location": "Seattle",
  "department": {
    "company": "Amazon",
    "team": "AWS"
  }
}
```

... dan filter respons Anda terlihat seperti ini:

```
Configuration:
  ...
  ResponseFilters: '{"name": ".name", "company": ".department.company"}'
```

... maka tindakan menghasilkan variabel output berikut:


| Key | Nilai | 
| --- | --- | 
|  name  |  Saanvi  | 
|  perusahaan  |  Amazon  | 

Anda kemudian dapat mereferensikan `company` variabel `name` dan dalam tindakan selanjutnya.

Jika Anda tidak menentukan kunci apa pun`ResponseFilters`, maka tindakan akan mengubah setiap kunci tingkat atas dalam respons Lambda menjadi variabel keluaran. Untuk informasi selengkapnya, lihat [variabel 'AWS Lambda pemanggilan'](lam-invoke-action-variables.md).

Pertimbangkan untuk menggunakan filter respons untuk membatasi variabel keluaran yang dihasilkan hanya untuk variabel yang benar-benar ingin Anda gunakan.

UI yang sesuai: Tab **konfigurasi/Filter respons -** opsional

## Outputs
<a name="lam.invoke.outputs"></a>

(*LambdaInvoke*/**Outputs**)

(Opsional)

Mendefinisikan data yang dihasilkan oleh tindakan selama menjalankan alur kerja.

UI yang sesuai: **Tab keluaran**

## Artifacts
<a name="lam.invoke.outputs.artifacts"></a>

(*LambdaInvoke*/Outputs/**Artifacts**)

(Opsional)

Tentukan artefak yang dihasilkan oleh tindakan. Anda dapat mereferensikan artefak ini sebagai masukan dalam tindakan lain.

Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihat[Berbagi artefak dan file antar tindakan](workflows-working-artifacts.md).

**UI yang sesuai: Tab Keluaran/Artefak/Bangun nama artefak**

## Name
<a name="lam.invoke.outputs.artifacts.name"></a>

(*LambdaInvoke*/Outputs/Artifacts/**Name**)

(Opsional)

Tentukan nama artefak yang akan berisi muatan respons Lambda yang dikembalikan oleh fungsi Lambda. Nilai default-nya adalah `lambda_artifacts`. **Jika Anda tidak menentukan artefak, maka payload respons Lambda dapat dilihat di log tindakan, yang tersedia di tab Log untuk tindakan di konsol.** CodeCatalyst Untuk informasi selengkapnya tentang melihat log, lihat [Melihat status dan detail alur kerja](workflows-view-run.md).

**UI yang sesuai: Tab Keluaran/Artefak/Bangun nama artefak**

## Files
<a name="lam.invoke.outputs.artifacts.files"></a>

(*LambdaInvoke*/Outputs/Artifacts/**Files**)

(Opsional)

Tentukan file yang akan disertakan dalam artefak. Anda harus menentukan `lambda-response.json` sehingga file payload respons Lambda akan disertakan.

**UI yang sesuai: Mengeluarkan Tab/Artefak/File yang dihasilkan oleh build**