InvokeWithResponseStream - AWS Lambda

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

InvokeWithResponseStream

Konfigurasikan fungsi Lambda Anda untuk mengalirkan muatan respons kembali ke klien. Untuk informasi selengkapnya, lihat Mengonfigurasi fungsi Lambda untuk mengalirkan respons.

Operasi ini memerlukan izin untuk InvokeFunction tindakan lambda:. Untuk detail tentang cara mengatur izin untuk pemanggilan lintas akun, lihat Memberikan akses fungsi ke akun lain.

Minta Sintaks

POST /2021-11-15/functions/FunctionName/response-streaming-invocations?Qualifier=Qualifier HTTP/1.1 X-Amz-Invocation-Type: InvocationType X-Amz-Log-Type: LogType X-Amz-Client-Context: ClientContext Payload

Parameter Permintaan URI

Permintaan menggunakan parameter URI berikut.

ClientContext

Hingga 3.583 byte data yang dikodekan base64 tentang klien pemanggilan untuk diteruskan ke fungsi dalam objek konteks.

FunctionName

Nama fungsi Lambda.

Format nama
  • Nama fungsimy-function.

  • Fungsi ARN —. arn:aws:lambda:us-west-2:123456789012:function:my-function

  • ARN Sebagian —. 123456789012:function:my-function

Batas panjang hanya berlaku untuk ARN penuh. Jika Anda hanya menentukan nama fungsi, panjang nama dibatasi hingga 64 karakter.

Panjang Batasan: Panjang minimum 1. Panjang maksimum 170.

Pola: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_\.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Diperlukan: Ya

InvocationType

Gunakan salah satu opsi berikut:

  • RequestResponse(default) - Memanggil fungsi secara sinkron. Jaga agar koneksi tetap terbuka sampai fungsi mengembalikan respons atau waktu habis. Respons operasi API mencakup respons fungsi dan data tambahan.

  • DryRun— Validasi nilai parameter dan verifikasi bahwa pengguna atau peran IAM memiliki izin untuk memanggil fungsi.

Nilai yang Valid: RequestResponse | DryRun

LogType

Atur ke Tail untuk memasukkan log eksekusi dalam respons. Hanya berlaku untuk fungsi yang dipanggil secara sinkron.

Nilai yang Valid: None | Tail

Qualifier

Nama alias.

Batasan Panjang: Panjang minimum 1. Panjang maksimum 128.

Pola: (|[a-zA-Z0-9$_-]+)

Isi Permintaan

Permintaan menerima data biner berikut.

Payload

JSON yang ingin Anda berikan ke fungsi Lambda Anda sebagai input.

Anda dapat memasukkan JSON secara langsung. Misalnya, --payload '{ "key": "value" }'. Anda juga dapat menentukan jalur file. Misalnya, --payload file://payload.json.

Sintaksis Respons

HTTP/1.1 StatusCode X-Amz-Executed-Version: ExecutedVersion Content-Type: ResponseStreamContentType Content-type: application/json { "InvokeComplete": { "ErrorCode": "string", "ErrorDetails": "string", "LogResult": "string" }, "PayloadChunk": { "Payload": blob } }

Elemen Respons

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP berikut.

StatusCode

Untuk permintaan yang berhasil, kode status HTTP berada dalam kisaran 200. Untuk tipe invokasi RequestResponse, kode status ini adalah 200. Untuk jenis DryRun pemanggilan, kode status ini adalah 204.

Respons mengembalikan header HTTP berikut.

ExecutedVersion

Versi fungsi yang dijalankan. Ketika Anda memanggil fungsi dengan alias, ini menunjukkan versi mana yang diselesaikan alias.

Panjang Batasan: Panjang minimum 1. Panjang maksimum 1024.

Pola: (\$LATEST|[0-9]+)

ResponseStreamContentType

Jenis data yang dikembalikan aliran.

Layanan mengembalikan data berikut dalam format JSON.

InvokeComplete

Objek yang dikembalikan ketika aliran telah berakhir dan semua potongan muatan telah dikembalikan.

Tipe: Objek InvokeWithResponseStreamCompleteEvent

PayloadChunk

Sebagian dari muatan respons yang dialirkan.

Tipe: Objek InvokeResponseStreamUpdate

Kesalahan

Untuk informasi tentang kesalahan yang umum untuk semua tindakan, lihat Kesalahan Umum.

EC2AccessDeniedException

Perlu izin tambahan untuk mengkonfigurasi pengaturan VPC.

Kode Status HTTP: 502

EC2ThrottledException

Amazon EC2 dibatasi AWS Lambda selama inisialisasi fungsi Lambda menggunakan peran eksekusi yang disediakan untuk fungsi tersebut.

Kode Status HTTP: 502

EC2UnexpectedException

AWS Lambdamenerima pengecualian klien Amazon EC2 yang tidak terduga saat menyiapkan fungsi Lambda.

Kode Status HTTP: 502

EFSIOException

Terjadi kesalahan saat membaca dari atau menulis ke sistem file yang terhubung.

Kode Status HTTP: 410

EFSMountConnectivityException

Fungsi Lambda tidak dapat membuat koneksi jaringan ke sistem file yang dikonfigurasi.

Kode Status HTTP: 408

EFSMountFailureException

Fungsi Lambda tidak dapat memasang sistem file yang dikonfigurasi karena masalah izin atau konfigurasi.

Kode Status HTTP: 403

EFSMountTimeoutException

Fungsi Lambda membuat koneksi jaringan ke sistem file yang dikonfigurasi, tetapi waktu operasi pemasangan habis.

Kode Status HTTP: 408

ENILimitReachedException

AWS Lambdatidak dapat membuat elastic network interface di VPC, yang ditentukan sebagai bagian dari konfigurasi fungsi Lambda, karena batas untuk antarmuka jaringan telah tercapai. Untuk informasi lebih lanjut, lihat Kuota Lambda.

Kode Status HTTP: 502

InvalidParameterValueException

Salah satu parameter dalam permintaan tidak valid.

Kode Status HTTP: 400

InvalidRequestContentException

Isi permintaan tidak dapat diurai sebagai JSON.

Kode Status HTTP: 400

InvalidRuntimeException

Runtime atau versi runtime yang ditentukan tidak didukung.

Kode Status HTTP: 502

InvalidSecurityGroupIDException

ID grup keamanan yang disediakan dalam konfigurasi VPC fungsi Lambda tidak valid.

Kode Status HTTP: 502

InvalidSubnetIDException

ID subnet yang disediakan dalam konfigurasi VPC fungsi Lambda tidak valid.

Kode Status HTTP: 502

InvalidZipFileException

AWS Lambda tidak dapat membuka zip paket deployment.

Kode Status HTTP: 502

KMSAccessDeniedException

Lambda tidak dapat mendekripsi variabel lingkungan karena AWS KMS akses ditolak. Periksa izin KMS fungsi Lambda.

Kode Status HTTP: 502

KMSDisabledException

Lambda tidak dapat mendekripsi variabel lingkungan karena yang digunakan dinonaktifkan. AWS KMS key Periksa pengaturan kunci KMS fungsi Lambda.

Kode Status HTTP: 502

KMSInvalidStateException

Lambda tidak dapat mendekripsi variabel lingkungan karena status yang AWS KMS key digunakan tidak valid untuk Dekripsi. Periksa pengaturan kunci KMS fungsi.

Kode Status HTTP: 502

KMSNotFoundException

Lambda tidak dapat mendekripsi variabel lingkungan karena tidak ditemukan. AWS KMS key Periksa pengaturan kunci KMS fungsi.

Kode Status HTTP: 502

RecursiveInvocationException

Lambda telah mendeteksi fungsi Anda dipanggil dalam loop rekursif dengan AWS sumber daya lain dan menghentikan pemanggilan fungsi Anda.

Kode Status HTTP: 400

RequestTooLargeException

Muatan permintaan melebihi kuota input JSON badan Invoke permintaan. Untuk informasi lebih lanjut, lihat Kuota Lambda.

Kode Status HTTP: 413

ResourceConflictException

Sumber daya sudah ada, atau operasi lain sedang berlangsung.

Kode Status HTTP: 409

ResourceNotFoundException

Sumber daya yang ditentukan dalam permintaan tidak ada.

Kode Status HTTP: 404

ResourceNotReadyException

Fungsi ini tidak aktif dan koneksi VPC-nya tidak lagi tersedia. Tunggu sampai koneksi VPC dibangun kembali dan coba lagi.

Kode Status HTTP: 502

ServiceException

Layanan AWS Lambda mengalami kesalahan internal.

Kode Status HTTP: 500

SnapStartException

afterRestore()Runtime hook mengalami kesalahan. Untuk informasi lebih lanjut, periksa CloudWatch log Amazon.

Kode Status HTTP: 400

SnapStartNotReadyException

Lambda menginisialisasi fungsi Anda. Anda dapat memanggil fungsi ketika status fungsi menjadiActive.

Kode Status HTTP: 409

SnapStartTimeoutException

Lambda tidak dapat memulihkan snapshot dalam batas waktu tunggu.

Kode Status HTTP: 408

SubnetIPAddressLimitReachedException

AWS Lambdatidak dapat mengatur akses VPC untuk fungsi Lambda karena satu atau beberapa subnet yang dikonfigurasi tidak memiliki alamat IP yang tersedia.

Kode Status HTTP: 502

TooManyRequestsException

Batas throughput permintaan terlampaui. Untuk informasi lebih lanjut, lihat Kuota Lambda.

Kode Status HTTP: 429

UnsupportedMediaTypeException

Tipe konten dari isi permintaan Invoke bukan JSON.

Kode Status HTTP: 415

Lihat Juga

Untuk informasi selengkapnya tentang penggunaan API ini di salah satu AWS SDK khusus bahasa, lihat berikut ini: