Jual API Gateway API Anda melalui AWS Marketplace - APIGerbang Amazon

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

Jual API Gateway API Anda melalui AWS Marketplace

Setelah membuat, menguji, dan menerapkan API, Anda dapat mengemasnya dalam paket penggunaan API Gateway dan menjual paket tersebut sebagai produk Perangkat Lunak sebagai Layanan (SaaS). AWS Marketplace Pembeli API yang berlangganan penawaran produk Anda ditagih AWS Marketplace berdasarkan jumlah permintaan yang dibuat untuk paket penggunaan.

Untuk menjual API AWS Marketplace, Anda harus menyiapkan saluran penjualan untuk diintegrasikan AWS Marketplace dengan API Gateway. Secara umum, ini melibatkan daftar produk Anda AWS Marketplace, menyiapkan peran IAM dengan kebijakan yang sesuai untuk memungkinkan API Gateway mengirim metrik penggunaan AWS Marketplace, mengaitkan AWS Marketplace produk dengan paket penggunaan API Gateway, dan mengaitkan AWS Marketplace pembeli dengan kunci API Gateway API. Rincian dibahas di bagian berikut.

Untuk informasi selengkapnya tentang menjual API Anda sebagai produk SaaS AWS Marketplace, lihat AWS Marketplace Panduan Pengguna.

Inisialisasi AWS Marketplace integrasi dengan API Gateway

Tugas berikut adalah untuk inisialisasi AWS Marketplace integrasi satu kali dengan API Gateway, yang memungkinkan Anda menjual API Anda sebagai produk SaaS.

Daftar produk di AWS Marketplace

Untuk mencantumkan paket penggunaan Anda sebagai produk SaaS, kirimkan formulir pemuatan produk melalui. AWS Marketplace Produk harus berisi dimensi bernama apigateway requests jenis. Dimensi ini mendefinisikan price-per-request dan digunakan oleh API Gateway untuk mengukur permintaan ke API Anda.

Buat peran pengukuran

Buat peran IAM bernama ApiGatewayMarketplaceMeteringRole dengan kebijakan eksekusi dan kebijakan kepercayaan berikut. Peran ini memungkinkan API Gateway mengirim metrik penggunaan atas nama Anda. AWS Marketplace

Kebijakan eksekusi peran pengukuran

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aws-marketplace:BatchMeterUsage", "aws-marketplace:ResolveCustomer" ], "Resource": "*", "Effect": "Allow" } ] }

Kebijakan hubungan tepercaya dari peran pengukuran

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Mengaitkan rencana penggunaan dengan AWS Marketplace produk

Saat Anda mencantumkan produk AWS Marketplace, Anda menerima kode AWS Marketplace produk. Untuk mengintegrasikan API Gateway dengan AWS Marketplace, kaitkan paket penggunaan Anda dengan kode AWS Marketplace produk. Anda mengaktifkan asosiasi dengan menyetel productCodebidang API UsagePlan Gateway ke kode AWS Marketplace produk Anda, menggunakan konsol API Gateway, API Gateway REST API, API Gateway AWS CLI for, atau AWS SDK for API Gateway. Contoh kode berikut menggunakan API Gateway REST API:

PATCH /usageplans/USAGE_PLAN_ID Host: apigateway.region.amazonaws.com Authorization: ... { "patchOperations" : [{ "path" : "/productCode", "value" : "MARKETPLACE_PRODUCT_CODE", "op" : "replace" }] }

Menangani langganan pelanggan ke paket penggunaan

Tugas-tugas berikut ditangani oleh aplikasi portal pengembang Anda.

Saat pelanggan berlangganan produk Anda AWS Marketplace, AWS Marketplace teruskan POST permintaan ke URL langganan SaaS yang Anda daftarkan saat mencantumkan produk Anda. AWS MarketplacePOSTPermintaan dilengkapi dengan x-amzn-marketplace-token parameter yang berisi informasi pembeli. Ikuti petunjuk dalam orientasi pelanggan SaaS untuk menangani pengalihan ini di aplikasi portal pengembang Anda.

Menanggapi permintaan berlangganan pelanggan, AWS Marketplace mengirimkan subscribe-success pemberitahuan ke topik Amazon SNS yang dapat Anda berlangganan. (Lihat orientasi pelanggan SaaS). Untuk menerima permintaan langganan pelanggan, Anda menangani subscribe-success notifikasi dengan membuat atau mengambil kunci API Gateway API untuk pelanggan, mengaitkan AWS Marketplace-provisioned pelanggan customerId dengan kunci API, dan kemudian menambahkan kunci API ke paket penggunaan Anda.

Ketika permintaan langganan pelanggan selesai, aplikasi portal pengembang harus menyajikan kunci API terkait kepada pelanggan dan memberi tahu pelanggan bahwa kunci API harus disertakan dalam x-api-key header dalam permintaan ke API.

Saat pelanggan membatalkan langganan paket penggunaan, AWS Marketplace kirimkan unsubscribe-success pemberitahuan ke topik SNS. Untuk menyelesaikan proses berhenti berlangganan pelanggan, Anda menangani unsubscribe-success notifikasi dengan menghapus kunci API pelanggan dari paket penggunaan.

Otorisasi pelanggan untuk mengakses paket penggunaan

Untuk mengotorisasi akses ke paket penggunaan Anda bagi pelanggan tertentu, gunakan API Gateway API untuk mengambil atau membuat kunci API bagi pelanggan dan menambahkan kunci API ke paket penggunaan.

Contoh berikut menunjukkan cara memanggil API Gateway REST API untuk membuat kunci API baru dengan AWS Marketplace customerId nilai tertentu (MARKETPLACE_CUSTOMER_ID).

POST apikeys HTTP/1.1 Host: apigateway.region.amazonaws.com Authorization: ... { "name" : "my_api_key", "description" : "My API key", "enabled" : "false", "stageKeys" : [ { "restApiId" : "uycll6xg9a", "stageName" : "prod" } ], "customerId" : "MARKETPLACE_CUSTOMER_ID" }

Contoh berikut menunjukkan cara mendapatkan kunci API dengan AWS Marketplace customerId nilai tertentu (MARKETPLACE_CUSTOMER_ID).

GET apikeys?customerId=MARKETPLACE_CUSTOMER_ID HTTP/1.1 Host: apigateway.region.amazonaws.com Authorization: ...

Untuk menambahkan kunci API ke paket penggunaan, buat kunci UsagePlanKeydengan API untuk paket penggunaan yang relevan. Contoh berikut menunjukkan cara melakukannya menggunakan API Gateway REST API, di mana n371pt ID paket penggunaan dan q5ugs7qjjh merupakan contoh API yang keyId dikembalikan dari contoh sebelumnya.

POST /usageplans/n371pt/keys HTTP/1.1 Host: apigateway.region.amazonaws.com Authorization: ... { "keyId": "q5ugs7qjjh", "keyType": "API_KEY" }

Kaitkan pelanggan dengan kunci API

Anda harus memperbarui customerId kolom ke ID AWS Marketplace pelanggan pelanggan. ApiKey Ini mengaitkan kunci API dengan AWS Marketplace pelanggan, yang memungkinkan pengukuran dan penagihan untuk pembeli. Contoh kode berikut memanggil API Gateway REST API untuk melakukannya.

PATCH /apikeys/q5ugs7qjjh Host: apigateway.region.amazonaws.com Authorization: ... { "patchOperations" : [{ "path" : "/customerId", "value" : "MARKETPLACE_CUSTOMER_ID", "op" : "replace" }] }