Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Siapkan pemanggilan asinkron dari fungsi Lambda backend

Mode fokus
Siapkan pemanggilan asinkron dari fungsi Lambda backend - Amazon API Gateway

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

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

Dalam integrasi Lambda non-proxy (kustom), fungsi Lambda backend dipanggil secara sinkron secara default. Ini adalah perilaku yang diinginkan untuk sebagian besar operasi REST API. Beberapa aplikasi, bagaimanapun, memerlukan pekerjaan yang harus dilakukan secara asinkron (sebagai operasi batch atau operasi latensi panjang), biasanya oleh komponen backend terpisah. Dalam hal ini, fungsi Lambda backend dipanggil secara asinkron, dan metode REST API front-end tidak mengembalikan hasilnya.

Anda dapat mengonfigurasi fungsi Lambda agar integrasi non-proxy Lambda dipanggil secara asinkron dengan menentukan sebagai jenis pemanggilan Lambda. 'Event' Ini dilakukan sebagai berikut:

Konfigurasikan pemanggilan asinkron Lambda di konsol API Gateway

Agar semua pemanggilan menjadi asinkron:

  • Dalam permintaan Integrasi, tambahkan X-Amz-Invocation-Type header dengan nilai statis'Event'.

Bagi klien untuk memutuskan apakah pemanggilan asinkron atau sinkron:

  1. Dalam permintaan Metode, tambahkan InvocationType header.

  2. Dalam permintaan Integrasi tambahkan X-Amz-Invocation-Type header dengan ekspresi pemetaan. method.request.header.InvocationType

  3. Klien dapat menyertakan InvocationType: Event header dalam permintaan API untuk pemanggilan asinkron atau untuk pemanggilan sinkron. InvocationType: RequestResponse

Konfigurasikan pemanggilan asinkron Lambda menggunakan OpenAPI

Agar semua pemanggilan menjadi asinkron:

  • Tambahkan X-Amz-Invocation-Type header ke x-amazon-apigateway-integrationbagian.

    "x-amazon-apigateway-integration" : { "type" : "aws", "httpMethod" : "POST", "uri" : "arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:123456789012:function:my-function/invocations", "responses" : { "default" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.header.X-Amz-Invocation-Type" : "'Event'" }, "passthroughBehavior" : "when_no_match", "contentHandling" : "CONVERT_TO_TEXT" }

Bagi klien untuk memutuskan apakah pemanggilan asinkron atau sinkron:

  1. Tambahkan header berikut pada OpenAPI Path Item Object.

    "parameters" : [ { "name" : "InvocationType", "in" : "header", "schema" : { "type" : "string" } } ]
  2. Tambahkan X-Amz-Invocation-Type header ke x-amazon-apigateway-integrationbagian.

    "x-amazon-apigateway-integration" : { "type" : "aws", "httpMethod" : "POST", "uri" : "arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:123456789012:function:my-function/invocations", "responses" : { "default" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.header.X-Amz-Invocation-Type" : "method.request.header.InvocationType" }, "passthroughBehavior" : "when_no_match", "contentHandling" : "CONVERT_TO_TEXT" }
  3. Klien dapat menyertakan InvocationType: Event header dalam permintaan API untuk pemanggilan asinkron atau untuk pemanggilan sinkron. InvocationType: RequestResponse

Konfigurasikan pemanggilan asinkron Lambda menggunakan AWS CloudFormation

AWS CloudFormation Template berikut menunjukkan cara mengkonfigurasi AWS::ApiGateway::Method untuk pemanggilan asinkron.

Agar semua pemanggilan menjadi asinkron:

AsyncMethodGet: Type: 'AWS::ApiGateway::Method' Properties: RestApiId: !Ref Api ResourceId: !Ref AsyncResource HttpMethod: GET ApiKeyRequired: false AuthorizationType: NONE Integration: Type: AWS RequestParameters: integration.request.header.X-Amz-Invocation-Type: "'Event'" IntegrationResponses: - StatusCode: '200' IntegrationHttpMethod: POST Uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${myfunction.Arn}$/invocations MethodResponses: - StatusCode: '200'

Bagi klien untuk memutuskan apakah pemanggilan asinkron atau sinkron:

AsyncMethodGet: Type: 'AWS::ApiGateway::Method' Properties: RestApiId: !Ref Api ResourceId: !Ref AsyncResource HttpMethod: GET ApiKeyRequired: false AuthorizationType: NONE RequestParameters: method.request.header.InvocationType: false Integration: Type: AWS RequestParameters: integration.request.header.X-Amz-Invocation-Type: method.request.header.InvocationType IntegrationResponses: - StatusCode: '200' IntegrationHttpMethod: POST Uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${myfunction.Arn}$/invocations MethodResponses: - StatusCode: '200'

Klien dapat menyertakan InvocationType: Event header dalam permintaan API untuk pemanggilan asinkron atau untuk pemanggilan sinkron. InvocationType: RequestResponse

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.