Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat hibah data pada AWS Data Exchange berisi API
Topik berikut menjelaskan proses pembuatan kumpulan data REST API dan menambahkannya ke hibah data yang berisi API pada AWS Data Exchange. Anda dapat menyelesaikan proses dengan menggunakan AWS Data Exchange konsol atau AWS Command Line Interface.
Setelah menyiapkan REST API API Gateway Amazon, Anda dapat membuat kumpulan data API baru di AWS Data Exchange. Anda kemudian dapat membuat revisi, dan menambahkan aset API.
Membuat hibah data dengan aset API memungkinkan permintaan penerima ke AWS Data Exchange titik akhir untuk diproksi melalui API Gateway API Anda.
Prosesnya memiliki langkah-langkah berikut:
Langkah-langkah
Prasyarat
Sebelum Anda dapat menerbitkan produk yang berisi API, Anda harus memenuhi prasyarat berikut:
-
Sebelum Anda dapat menggunakan apa pun Layanan AWS AWS Data Exchange, termasuk, Anda harus mendaftar AWS dan membuat pengguna administratif. Untuk informasi selengkapnya, lihat Mem ulai di Panduan AWS IAM Identity Center Pengguna.
-
REST API Anda harus berada di Amazon API Gateway dengan integrasi yang menggunakan model permintaan dan respons yang sesuai untuk mengakses data Anda, seperti Amazon DynamoDB atau. AWS Lambda Untuk informasi selengkapnya, lihat Mengembangkan REST API di API Gateway dan Bekerja dengan REST API di Panduan Pengembang Amazon API Gateway.
catatan
Hanya API Gateway API publik yang didukung.
-
API API Gateway REST API Anda harus dapat mengotentikasi dan mengotorisasi panggilan dari prinsipal AWS Data Exchange layanan. Setiap permintaan dari API Anda AWS Data Exchange menggunakan protokol Signature Version 4 (SIGv4) yang ditandatangani dengan AWS Data Exchange kredenSIAL. AWS Data Exchange bekerja dengan domain khusus dan pemetaan kunci domain.
catatan
AWS Data Exchange tidak mendukung Amazon Cognito, No-Auth, dan otor AWS Lambda isasi.
-
Jika API API Gateway REST menggunakan sistem identitas khusus untuk otentikasi dan otorisasi, konfigurasikan untuk menggunakan otentikasi IAM dan impor skema OpenAPI yang menjelaskan API Anda. AWS Data Exchange akan memanggil API REST API Gateway Anda dengan kredenSIAL layanannya sendiri dan menyertakan informasi pelanggan seperti ID akun.
-
API Gateway REST API Anda bertanggung jawab untuk mengintegrasikan dengan backend Anda. Untuk melakukannya, lakukan salah satu hal berikut:
-
Lampirkan token otentikasi berumur panjang ke setiap permintaan yang datang melalui API Gateway REST API Anda yang dapat diverifikasi oleh backend.
-
Gunakan API Gateway untuk memanggil fungsi Lambda yang dapat menghasilkan kredenSIAL dan memanggil API Anda.
-
API Anda dipanggil sesuai spesifikasi permintaan integrasi API.
Untuk informasi selengkapnya, lihat topik berikut:
Keamanan kumpulan data API
AWS Data Exchange mengenkripsi lalu lintas ujung ke ujung menggunakan Transport Layer Security (TLS) 1.2. Semua metadata dienkripsi saat diam. AWS Data Exchange tidak akan menyimpan permintaan pelanggan atau tanggapan dari backend Anda.
Spesifikasi permintaan integrasi API
API pada AWS Data Exchange melewati semua header (kecuali untuk header yang tercantum diPenerusan header), body, metode http, path, dan string kueri apa adanya dari permintaan pelanggan dan menambahkan header berikut.
// These headers help prevent Confused Deputy attacks. They enable the SourceAccount // and SourceArn variables in IAM policies. 'x-amz-source-account': ACCOUNT_ID, 'x-amz-source-arn': `arn:aws:dataexchange:${REGION}:${OWNER_ACCOUNT_ID}:data-sets/${DATA_SET_ID}/revisions/${REVISION_ID}/assets/${ASSET_ID}`, // These headers identify the API Asset in Data Exchange. 'x-amzn-dataexchange-asset-id': ASSET_ID, 'x-amzn-dataexchange-data-set-id': DATA_SET_ID, 'x-amzn-dataexchange-revision-id': REVISION_ID, // This header identifies the Data Exchange Product. 'x-amzn-dataexchange-product-id': PRODUCT_ID, // This header identifies the caller of Data Exchange. It will contain subscriber // information. 'x-amzn-dataexchange-requester-account-id': REQUESTER_ACCOUNT_ID, // Providers can attach custom metadata in the form of key/value pairs // to a particular subscription. We will send these key/value pairs as stringified // JSON. 'x-amz-dataexchange-subscription-metadata': STRINGIFIED_METADATA,
Penerusan header
AWS Data Exchange menghapus header apa pun yang terkait dengan otentikasi atau ruang nama ke Amazon sebelum meneruskannya ke backend pemilik data. Secara khusus, AWS Data Exchange menghapus:
-
Header
Authentication -
Setiap header yang dimulai dengan
x-amz
hostHeader akan diganti sebagai konsekuensi dari proksi.
Langkah 1: Perbarui kebijakan sumber daya API
Jika Anda memiliki API REST API Gateway Amazon yang memenuhi Pras yarat, Anda harus memperbarui kebijakan sumber daya API untuk memberikan kemampuan untuk memanggil API Anda saat pelanggan membuat permintaan untuk mendapatkan skema API Anda. AWS Data Exchange
Untuk memperbarui kebijakan sumber daya API Anda
-
Tambahkan kebijakan berikut ke kebijakan sumber daya API Anda:
{ "Effect": "Allow", "Principal": {"Service": "dataexchange.amazonaws.com"}, "Action": "execute-api:Invoke", "Resource": "*", "Condition": {"StringEquals": {"aws:SourceAccount": "<account-id>"}} } -
Ganti
account-iddengan akun yang akan membuat kumpulan data API.Akun dengan sumber daya API Gateway tidak perlu berada di akun yang sama yang membuat kumpulan data.
Kebijakan ini membatasi izin ini untuk panggilan yang dilakukan oleh prinsipal AWS Data Exchange layanan dan mengharuskan hanya akun Anda yang dapat mengotorisasi AWS Data Exchange untuk berintegrasi dengan API Anda.
catatan
Jika Anda memiliki kebijakan sumber daya yang secara eksplisit menolak AWS Data Exchange melakukan pemanggilan ini, Anda harus menghapus atau membatasi penolakan ini.
Anda sekarang siap untuk membuat kumpulan data API.
Langkah 2: Buat kumpulan data API
Kumpulan data dalam AWS Data Exchange bersifat dinamis dan diberi versi menggunakan revisi, dengan setiap revisi berisi setidaknya satu aset. Untuk informasi selengkapnya, lihat Data dalam AWS Data Exchange.
Anda menggunakan AWS Data Exchange konsol atau AWS Command Line Interface untuk membuat kumpulan data API:
Membuat kumpulan data API (konsol)
Untuk membuat kumpulan data API (konsol)
-
Buka browser web Anda dan masuk ke AWS Data Exchange konsol
. -
Di panel navigasi sisi kiri, di bawah Data saya, pilih Kum pulan data yang dimiliki.
-
Di Kumpulan data yang dimiliki, pilih Buat kumpulan data untuk membuka panduan langkah pembuatan kumpulan data.
-
Di Pilih jenis kumpulan data, pilih API Gateway API Amazon.
-
Di Tentukan kumpulan data, masukkan Nama dan Deskripsi untuk kumpulan data Anda. Untuk informasi selengkapnya, lihat Praktik terbaik kumpulan data.
-
(Opsional) Di bawah Tambahkan tag - opsional, tambahkan tag.
-
Pilih Buat.
Anda sekarang siap untuk membuat revisi.
Membuat kumpulan data API (AWS CLI)
Untuk membuat kumpulan data API (CLI)
-
Gunakan
create-data-setperintah untuk membuat kumpulan data API:$ AWS dataexchange create-data-set \ -\\-asset-type API_GATEWAY_API \ -\\-description 'Data Set Description' \ -\\-name 'Data Set Name' { "Arn": "arn:aws:dataexchange:us-east-1:123456789012:data-sets/$DATA_SET_ID", "AssetType": "API_GATEWAY_API", "CreatedAt": "2021-09-11T00:16:46.349000+00:00", "Description": "Data Set Description", "Id": "$DATA_SET_ID", "Name": "Data Set Name", "Origin": "OWNED", "UpdatedAt": "2021-09-11T00:16:46.349000+00:00" } -
Perhatikan Jenis Aset baru
API_GATEWAY_API.
Anda sekarang siap untuk membuat revisi.
Langkah 3: Buat revisi
Dalam prosedur berikut, Anda membuat revisi setelah Anda membuat kumpulan data. Untuk informasi selengkapnya, lihat Revisi.
Anda menggunakan AWS Data Exchange konsol atau AWS Command Line Interface untuk membuat revisi:
Membuat revisi (konsol)
Untuk membuat revisi (konsol)
-
Pada bagian ik htisar kumpulan data pada halaman detail kumpulan data:
-
(Opsional) Pilih Edit nama untuk mengedit informasi tentang kumpulan data Anda.
-
(Opsional) Pilih Hapus untuk menghapus kumpulan data.
-
-
Pada bagian Revisi, pilih Buat revisi.
-
Di bawah T entukan revisi, berikan komentar opsional untuk revisi Anda yang menjelaskan tujuan revisi.
-
(Opsional) Di bawah Tambah tag — opsional, tambahkan tag yang terkait dengan sumber daya.
-
Pilih Buat revisi.
-
Tinjau, edit, atau hapus perubahan Anda dari langkah sebelumnya.
Anda sekarang siap untuk menambahkan aset API ke revisi.
Membuat revisi (AWS CLI)
Untuk membuat revisi (AWS CLI)
-
Gunakan
create-revisionperintah untuk membuat revisi:$ AWS dataexchange create-revision \ -\\-data-set-id $DATA_SET_ID \ -\\-comment 'First Atlas Revision' { "Arn": "arn:aws:dataexchange:us-east-1:123456789012:data-sets/$DATA_SET_ID/revisions/$REVISION_ID", "Comment": "First Atlas Revision", "CreatedAt": "2021-09-11T00:18:49.160000+00:00", "DataSetId": "$DATA_SET_ID", "Finalized": false, "Id": "$REVISION_ID", "UpdatedAt": "2021-09-11T00:18:49.160000+00:00" } -
catatan
Anda perlu mengetahui ID API Gateway REST API yang ingin Anda impor serta tahapannya.
Langkah 4: Tambahkan aset API ke revisi
Aset API berisi informasi yang dibutuhkan pelanggan untuk melakukan panggilan ke API Anda. Untuk informasi selengkapnya, lihat Aset.
Dalam prosedur berikut, Anda mengimpor aset data, dan kemudian menyelesaikan revisi.
Anda menggunakan AWS Data Exchange konsol atau AWS CLI untuk menambahkan aset ke revisi:
Menambahkan aset API ke revisi (konsol)
Untuk menambahkan aset ke revisi (konsol)
-
Di bawah bagian aset API pada halaman detail kumpulan data, pilih Add API stage.
-
Di bawah Sel ect API stage, untuk Amazon API Gateway API API, masukkan API di kotak input atau pilih salah satu dari berikut ini dari daftar drop-down:
-
API di lain Akun AWS — ini adalah API lintas akun yang telah diberikan izin untuk Anda akses.
-
Dalam hal ini Akun AWS - ini adalah API di Anda Akun AWS.
-
Jika Anda memilih API di yang lain Akun AWS, masukkan ID API dan nama Panggung API di kotak input.
-
Jika Anda memilih Dalam hal ini Akun AWS, pilih nama Panggung API dari daftar drop-down
catatan
Anda dapat membuat tahap API baru dengan memilih Buat baru dan ikuti langkah-langkah di modal Buat API baru di Amazon API Gateway. Setelah tahap baru dibuat, ulangi Langkah 2.
-
-
Di bawah Konfigurasi lanjutan — opsional, Anda dapat memilih untuk Menghubun gkan paket penggunaan Amazon API Gateway yang ada untuk menggunakan batas pembatasan dan kuota seperti yang ditentukan dalam paket penggunaan yang ada, dan memasukkan kunci API.
-
Di bawah API Dokumen untuk pelanggan, berikan detail tentang API yang akan dilihat penerima setelah mereka menerima hibah data.
-
Untuk nama API, masukkan nama yang dapat digunakan penerima untuk mengidentifikasi aset API.
catatan
Jika Dalam hal ini Akun AWS dipilih, nama API secara otomatis diisi, yang dapat Anda modifikasi jika perlu.
Jika API di API lain Akun AWS dipilih, nama API diisi dengan nama default, yang harus Anda modifikasi sehingga penerima dapat dengan mudah memahami apa itu.
-
Untuk spesifikasi OpenAPI 3.0, salah satunya:
-
Masukkan atau salin dan tempel file spesifikasi OpenAPI 3.0.
-
Pilih Impor dari file.JSON, lalu pilih file.json dari komputer lokal Anda untuk diimpor.
Spesifikasi yang diimpor muncul di kotak.
-
Pilih Impor dari Amazon API Gateway, lalu pilih spesifikasi untuk diimpor.
Spesifikasi yang diimpor muncul di kotak.
-
-
Untuk Dokumentasi tambahan - opsional, masukkan informasi tambahan apa pun yang berguna bagi pelanggan untuk mengetahui tentang API Anda. Markdown didukung.
catatan
Anda tidak dapat mengedit spesifikasi OpenAPI dan dokumentasi tambahan setelah menambahkan aset ini ke revisi.
Jika Anda ingin memperbarui informasi ini, dan revisi belum selesai, Anda dapat mengganti aset.
Jika Anda ingin memperbarui informasi ini, dan revisi selesai, Anda dapat membuat revisi baru dengan aset yang diperbarui.
-
-
Pilih Add API stage.
Pekerjaan dimulai untuk mengimpor aset Anda (dalam hal ini, API) ke kumpulan data Anda.
catatan
Jika Anda tidak memiliki API di Amazon API Gateway, Anda akan diminta untuk membuatnya.
-
Setelah pekerjaan selesai, bidang Status di bagian Pekerjaan diperbarui ke Sel esai.
-
Jika Anda memiliki lebih banyak API untuk ditambahkan, ulangi Langkah 2.
-
Di bawah Tinjauan Rev isi, tinjau revisi Anda dan asetnya.
-
Pilih Finalize.
Anda telah berhasil menyelesaikan revisi untuk kumpulan data.
Anda dapat mengedit revisi atau menghapus revisi sebelum menambahkannya ke hibah data.
Anda sekarang siap untuk Membuat hibah data baru yang berisi API.
Menambahkan aset API ke revisi (AWS CLI)
Anda dapat menambahkan aset API dengan menjalankan IMPORT_ASSET_FROM_API_GATEWAY_API pekerjaan.
Untuk menambahkan aset API ke revisi (AWS CLI):
-
Gunakan
create-jobperintah untuk menambahkan aset API ke revisi:$ AWS dataexchange create-job \ -\\-type IMPORT_ASSET_FROM_API_GATEWAY_API \ -\\-details '{"ImportAssetFromApiGatewayApi":{"DataSetId":"$DATA_SET_ID","RevisionId":"$REVISION_ID","ApiId":"$API_ID","Stage":"$API_STAGE","ProtocolType":"REST"}}' { "Arn": "arn:aws:dataexchange:us-east-1:123456789012:jobs/$JOB_ID", "CreatedAt": "2021-09-11T00:38:19.875000+00:00", "Details": { "ImportAssetFromApiGatewayApi": { "ApiId": "$API_ID", "DataSetId": "$DATA_SET_ID", "ProtocolType": "REST", "RevisionId": "$REVISION_ID", "Stage": "$API_STAGE" } }, "Id": "$JOB_ID", "State": "WAITING", "Type": "IMPORT_ASSET_FROM_API_GATEWAY_API", "UpdatedAt": "2021-09-11T00:38:19.875000+00:00" } $ AWS dataexchange start-job -\\-job-id $JOB_ID $ AWS dataexchange get-job -\\-job-id $JOB_ID { "Arn": "arn:aws:dataexchange:us-east-1:0123456789012:jobs/$JOB_ID", "CreatedAt": "2021-09-11T00:38:19.875000+00:00", "Details": { "ImportAssetFromApiGatewayApi": { "ApiId": "$API_ID", "DataSetId": "$DATA_SET_ID", "ProtocolType": "REST", "RevisionId": "$REVISION_ID", "Stage": "$API_STAGE" "ApiEndpoint": "string", "ApiKey": "string", "ApiName": "string", "ApiDescription": "string", "ApiSpecificationDownloadUrl": "string", "ApiSpecificationDownloadUrlExpiresAt": "string" } }, "Id": "$JOB_ID", "State": "COMPLETED", "Type": "IMPORT_ASSET_FROM_API_GATEWAY_API", "UpdatedAt": "2021-09-11T00:38:52.538000+00:00" } -
Gunakan
list-revision-assetsperintah untuk mengonfirmasi bahwa aset baru dibuat dengan benar:$ AWS dataexchange list-revision-assets \ -\\-data-set-id $DATA_SET_ID \ -\\-revision-id $REVISION_ID { "Assets": [ { "Arn": "arn:aws:dataexchange:us-east-1:123456789012:data-sets/$DATA_SET_ID/revisions/$REVISION_ID/assets/$ASSET_ID", "AssetDetails": { "ApiGatewayApiAsset": { "ApiEndpoint": "https://$API_ID.execute-api.us-east-1.amazonaws.com/$API_STAGE", "ApiId": "$API_ID", "ProtocolType": "REST", "Stage": "$API_STAGE" } }, "AssetType": "API_GATEWAY_API", "CreatedAt": "2021-09-11T00:38:52.457000+00:00", "DataSetId": "$DATA_SET_ID", "Id": "$ASSET_ID", "Name": "$ASSET_ID/$API_STAGE", "RevisionId": "$REVISION_ID", "UpdatedAt": "2021-09-11T00:38:52.457000+00:00" } ] }
Anda sekarang siap untuk membuat hibah data baru yang berisi API.
Mengedit revisi
Untuk mengedit revisi setelah Anda menyelesaikannya
-
Pada ikh tisar Rev isi, pilih De-finalize.
Anda melihat pesan bahwa revisi tidak lagi dalam keadaan selesai.
-
Untuk mengedit revisi, dari Ikhtis ar revisi, pilih T indakan, Edit.
-
Buat perubahan Anda, lalu pilih Per barui.
-
Tinjau perubahan Anda dan kemudian pilih Finalize.
Menghapus revisi
Untuk menghapus revisi setelah Anda menyelesaikannya
-
Pada ikh tisar Rev isi, pilih Hapus.
-
K
Deleteetik kotak dialog H apus revisi, lalu pilih H apus.
Awas
Ini menghapus revisi dan semua asetnya. Tindakan ini tidak dapat dibatalkan.
Langkah 5: Buat hibah data baru yang berisi API
Setelah Anda membuat setidaknya satu kumpulan data dan menyelesaikan revisi dengan aset, Anda siap untuk menerbitkan kumpulan data tersebut sebagai bagian dari hibah data.
Untuk membuat hibah data baru
-
Di panel navigasi kiri AWS Data Exchange konsol, di bawah Hibah data yang diper tukarkan, pilih Hi bah data terkirim.
-
Dari hibah data terki rim, pilih Buat hibah data untuk membuka wizard Definisikan hibah data.
-
Di bagian Pilih kum pulan data yang dimiliki, pilih kotak centang di sebelah kumpulan data yang ingin Anda tambahkan.
catatan
Kumpulan data yang Anda pilih harus memiliki revisi yang diselesaikan. Kumpulan data tanpa revisi yang diselesaikan tidak dapat ditambahkan ke hibah data.
Tidak seperti kumpulan data yang termasuk dalam produk data yang dibagikan AWS Marketplace, kumpulan data yang ditambahkan ke hibah data tidak memiliki aturan akses revisi, yang berarti penerima hibah data, setelah hibah data disetujui, akan memiliki akses ke semua revisi akhir dari kumpulan data tertentu (termasuk revisi historis yang diselesaikan sebelum pembuatan hibah data).
-
Di bagian Ringkasan Hibah, masukkan informasi yang akan dilihat penerima mengenai hibah data Anda, termasuk nama hibah data, dan deskripsi hibah data.
-
Pilih Berikutnya.
-
Di bagian Informasi akses Penerima, di bawah Akun AWS ID, masukkan Akun AWS ID akun penerima yang harus menerima hibah data.
-
Juga, di bagian Informasi akses penerima, di bawah Tanggal akhir Akses, pilih apakah pemberian data harus berjalan selamanya, pilih Tidak ada tanggal akhir, atau jika harus memiliki tanggal akhir, pilih Tanggal akhir tertentu, dan pilih tanggal akhir yang diinginkan.
-
Pilih Berikutnya.
-
Di bagian T injau dan kirim, tinjau informasi hibah data Anda.
-
Jika Anda yakin ingin membuat hibah data dan mengirimkannya ke penerima yang dipilih, pilih Buat dan kirim hibah data.
Anda sekarang telah menyelesaikan bagian manual untuk membuat hibah data. Pemberian data muncul di tab Hibah data terki rim di halaman Hibah data terkirim, dengan status Ter tunda penerimaan sampai akun penerima menerimanya.