x-amazon-apigateway-integration objek - APIGerbang Amazon

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

x-amazon-apigateway-integration objek

Menentukan rincian integrasi backend yang digunakan untuk metode ini. Ekstensi ini adalah properti yang diperluas dari objek Open API Operation. Hasilnya adalah objek integrasi API Gateway.

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

Untuk kredensi AWS IAM berbasis peran, tentukan peran yang sesuaiARN. IAM Jika tidak ditentukan, kredensyal default ke izin berbasis sumber daya yang harus ditambahkan secara manual untuk memungkinkan akses sumber daya. API Untuk informasi selengkapnya, lihat Memberikan Izin Menggunakan Kebijakan Sumber Daya.

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

contentHandling string Minta jenis konversi pengkodean muatan. Nilai yang valid adalah 1)CONVERT_TO_TEXT, untuk mengubah muatan biner menjadi string yang dikodekan base64 atau mengubah muatan teks menjadi string yang utf-8 dikodekan atau melewati muatan teks secara asli tanpa modifikasi, dan 2)CONVERT_TO_BINARY, untuk mengubah muatan teks menjadi gumpalan yang diterjemahkan base64 atau melewati muatan biner secara asli tanpa modifikasi.
httpMethod string HTTPMetode yang digunakan dalam permintaan integrasi. Untuk pemanggilan fungsi Lambda, nilainya harus. POST
integrationSubtype string Menentukan subtipe integrasi untuk integrasi AWS layanan. Didukung hanya untuk HTTPAPIs. Untuk subtipe integrasi yang didukung, lihatReferensi subtipe integrasi.
passthroughBehavior string Menentukan bagaimana payload permintaan jenis konten yang tidak dipetakan diteruskan melalui permintaan integrasi tanpa modifikasi. Nilai yang didukung adalah when_no_templates, when_no_match, dan never. Untuk informasi selengkapnya, lihat Integrasi. passthroughBehavior.
payloadFormatVersion string Menentukan format muatan yang dikirim ke integrasi. Diperlukan untuk HTTPAPIs. Untuk HTTPAPIs, nilai yang didukung untuk integrasi proxy Lambda adalah dan. 1.0 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 x-amazon-apigateway-integration. requestParameters objek

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

Untuk HTTPAPIs, 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 x-amazon-apigateway-integration. requestTemplates objek Memetakan template untuk payload permintaan dari jenis tertentuMIME.
responses x-amazon-apigateway-integration.respons-objek Mendefinisikan respons metode dan menentukan pemetaan parameter atau pemetaan muatan yang diinginkan dari respons integrasi hingga respons metode.
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 HTTP backend.

  • 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 tipe integrasi, lihat integration:type.

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

x-amazon-apigateway-integration contoh

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

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

Contoh berikut membuat integrasi dengan fungsi Lambda. Untuk tujuan demonstrasi, contoh template pemetaan yang ditunjukkan dalam requestTemplates dan responseTemplates dari contoh di bawah ini diasumsikan berlaku untuk muatan JSON berformat berikut: { "name":"value_1", "key":"value_2", "redirect": {"url" :"..."} } untuk menghasilkan output dari atau JSON output dari{ "stage":"value_1", "user-id":"value_2" }. XML <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 JSON string dalam template pemetaan harus string-escaped (\”).