View a markdown version of this page

objek integrasi x-amazon-apigateway- - Amazon API Gateway

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

objek integrasi x-amazon-apigateway-

Menentukan rincian integrasi backend yang digunakan untuk metode ini. Ekstensi ini adalah properti yang diperluas dari objek Oper asi OpenAPI. Hasilnya adalah objek integrasi API Gateway.

Nama properti Tipe Deskripsi
cacheKeyParameters Sebuah array string Daftar parameter permintaan yang nilainya akan di-cache.
cacheNamespace string Kelompok API-specific tag parameter cache terkait.
connectionId string ID a VpcLink untuk integrasi pribadi.
connectionType string Jenis koneksi integrasi. Nilai yang valid adalah "VPC_LINK" untuk integrasi pribadi atau"INTERNET", sebaliknya.
credentials string

Untuk kredenSIAL berbasis peran AWS IAM, tentukan ARN dari peran IAM yang sesuai. Jika tidak ditentukan, kredentif default ke izin berbasis sumber daya yang harus ditambahkan secara manual agar API dapat mengakses sumber daya. Untuk informasi selengkapnya, lihat Memberikan Izin Menggunakan Kebijakan Sumber Daya.

Catatan: Saat menggunakan kredentif IAM, pastikan bahwa titik AWS akhir STS Regional diaktifkan untuk Wilayah tempat API ini digunakan untuk kinerja terbaik.

contentHandling string Minta jenis konversi pengkodean payload. Nilai yang valid adalah 1)CONVERT_TO_TEXT, untuk mengubah payload biner menjadi string yang dikodekan base64 atau mengubah payload teks menjadi string yang utf-8 dikodekan atau melewati muatan teks secara asli tanpa modifikasi, dan 2)CONVERT_TO_BINARY, untuk mengubah payload teks menjadi blob yang didekode base64 atau melewati payload biner secara asli tanpa modifikasi.
httpMethod string Metode HTTP yang digunakan dalam permintaan integrasi. Untuk pemanggilan fungsi Lambda, nilainya harus. POST
integrationSubtype string Menentukan subtipe integrasi untuk integrasi AWS layanan. Haya didukung untuk API HTTP. Untuk subtipe integrasi yang didukung, lihatReferensi subtipe integrasi.
integrationTarget string Pendengar ALB atau NLB untuk mengirim permintaan. Didukung hanya untuk integrasi pribadi yang menggunakan tautan VPC V2. Untuk informasi selengkapnya, lihat Siapkan tautan VPC V2 di API Gateway.
passthroughBehavior string Menentukan bagaimana payload permintaan dari jenis konten yang belum dipetakan diteruskan melalui permintaan integrasi tanpa modifikasi. Nilai yang didukung adalah when_no_templates, when_no_match, dan never. Untuk informasi selengkapnya, lihat Integration.passthroughBehavior.
payloadFormatVersion string Menentukan format muatan yang dikirim ke integrasi. Diperlukan untuk API HTTP. Untuk API HTTP, nilai-nilai yang didukung untuk integrasi proxy Lambda adalah 1.0 dan 2.0. Untuk semua integrasi lainnya, 1.0 adalah satu-satunya nilai yang didukung. Untuk mempelajari selengkapnya, lihat Buat integrasi AWS Lambda proxy untuk HTTP APIs di API Gateway dan Referensi subtipe integrasi.
requestParameters Objek x-amazon-apigateWay-Integration.requestParameters

Untuk REST API, menentukan pemetaan dari parameter permintaan metode ke parameter permintaan integrasi. Parameter permintaan yang didukung adalah querystringpath,header,, danbody.

Untuk HTTP API, parameter permintaan adalah peta nilai kunci yang menentukan parameter yang diteruskan ke AWS_PROXY integrasi dengan yang ditentukan. integrationSubtype Anda dapat memberikan nilai statis, atau data permintaan peta, variabel tahap, atau variabel konteks yang dievaluasi pada saat runtime. Untuk mempelajari selengkapnya, lihat Buat integrasi AWS layanan untuk HTTP APIs di API Gateway.

requestTemplates Objek x-amazon-apigateway-integration.requestTemplates Template pemetaan untuk payload permintaan dari jenis MIME tertentu.
responses objek x-amazon-apigateway-integration.response Mendefinisikan respons metode dan menentukan pemetaan parameter yang diinginkan atau pemetaan muatan dari respons integrasi ke respons metode.
responseTransferMode string Mode transfer respons integrasi. Gunakan BUFFERED agar API Gateway menunggu untuk menerima respons lengkap sebelum memulai transmisi. Gunakan STREAM agar API Gateway mengirim sebagian respons kembali ke klien saat tersedia. Untuk mempelajari selengkapnya, lihat Streaming respons integrasi untuk integrasi proxy Anda di API Gateway.
timeoutInMillis integer Batas waktu integrasi antara 50 ms dan 29.000 ms.
type string

Jenis integrasi dengan backend yang ditentukan. Nilai yang valid adalah:

  • httpatauhttp_proxy, untuk integrasi dengan backend HTTP.

  • aws_proxy, untuk integrasi dengan fungsi AWS Lambda.

  • aws, untuk integrasi dengan fungsi AWS Lambda atau AWS layanan lain, seperti Amazon DynamoDB, Amazon Simple Notification Service, atau Amazon Simple Queue Service.

  • mock, untuk integrasi dengan API Gateway tanpa memanggil backend apa pun.

Untuk informasi selengkapnya tentang jenis integrasi, lihat integration:type.

tlsConfig X-amazon-apigateway-integration.tlsconfig objek Menentukan konfigurasi TLS untuk integrasi.
uri string URI titik akhir dari backend. Untuk integrasi aws jenis, ini adalah nilai ARN. Untuk integrasi HTTP, ini adalah URL titik akhir HTTP termasuk http skema https or.

contoh integrasi x-amazon-apigateway-

Untuk HTTP API, Anda dapat menentukan integrasi di bagian komponen definisi OpenAPI Anda. Untuk mempelajari selengkapnya, lihat objek x-amazon-apigateway-integrations.

"x-amazon-apigateway-integration": { "$ref": "#/components/x-amazon-apigateway-integrations/integration1" }

Contoh berikut membuat integrasi dengan fungsi Lambda. Untuk tujuan demonstrasi, template pemetaan sampel yang ditunjukkan pada requestTemplates dan responseTemplates contoh di bawah ini diasumsikan berlaku untuk JSON-formatted muatan berikut: { "name":"value_1", "key":"value_2", "redirect": {"url" :"..."} } untuk menghasilkan output JSON { "stage":"value_1", "user-id":"value_2" } atau output XML dari<stage>value_1</stage>.

"x-amazon-apigateway-integration" : { "type" : "aws", "uri" : "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:012345678901:function:HelloWorld/invocations", "httpMethod" : "POST", "credentials" : "arn:aws:iam::012345678901:role/apigateway-invoke-lambda-exec-role", "requestTemplates" : { "application/json" : "#set ($root=$input.path('$')) { \"stage\": \"$root.name\", \"user-id\": \"$root.key\" }", "application/xml" : "#set ($root=$input.path('$')) <stage>$root.name</stage> " }, "requestParameters" : { "integration.request.path.stage" : "method.request.querystring.version", "integration.request.querystring.provider" : "method.request.querystring.vendor" }, "cacheNamespace" : "cache namespace", "cacheKeyParameters" : [], "responses" : { "2\\d{2}" : { "statusCode" : "200", "responseParameters" : { "method.response.header.requestId" : "integration.response.header.cid" }, "responseTemplates" : { "application/json" : "#set ($root=$input.path('$')) { \"stage\": \"$root.name\", \"user-id\": \"$root.key\" }", "application/xml" : "#set ($root=$input.path('$')) <stage>$root.name</stage> " } }, "302" : { "statusCode" : "302", "responseParameters" : { "method.response.header.Location" : "integration.response.body.redirect.url" } }, "default" : { "statusCode" : "400", "responseParameters" : { "method.response.header.test-method-response-header" : "'static value'" } } } }

Perhatikan bahwa tanda kutip ganda (“) untuk string JSON dalam template pemetaan harus berupa string-escape (\”).