Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat permintaan API
Selain menggunakan konsol, Anda dapat menggunakan AWS Transfer Family API untuk mengonfigurasi dan mengelola server secara terprogram. Bagian ini menjelaskan AWS Transfer Family operasi, penandatanganan permintaan untuk otentikasi, dan penanganan kesalahan. Untuk informasi tentang wilayah dan titik akhir yang tersedia untuk Transfer Family, lihat AWS Transfer Familytitik akhir dan kuota di Referensi Umum AWS
catatan
Anda juga dapat menggunakan AWS SDK saat mengembangkan aplikasi dengan Transfer Family;. AWSSDK untuk Java, .NET, dan PHP membungkus Transfer Family API yang mendasarinya, menyederhanakan tugas pemrograman Anda. Untuk informasi tentang mengunduh perpustakaan SDK, lihat Perpustakaan kode sampel
Topik
Transfer Family membutuhkan header permintaan
Bagian ini menjelaskan header yang diperlukan yang harus Anda kirim dengan setiap permintaan POST. AWS Transfer Family Anda menyertakan header HTTP untuk mengidentifikasi informasi kunci tentang permintaan termasuk operasi yang ingin Anda panggil, tanggal permintaan, dan informasi yang menunjukkan otorisasi Anda sebagai pengirim permintaan. Header tidak peka huruf besar/kecil dan urutan header tidak penting.
Contoh berikut menunjukkan header yang digunakan dalam ListServersoperasi.
POST / HTTP/1.1 Host:
transfer.us-east-1.amazonaws.com
x-amz-target: TransferService.ListServers x-amz-date: 20220507T012034Z Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20220507/us-east-1/transfer/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=13550350a8681c84c861aac2e5b440161c2b33a3e4f302ac680ca5b686de48de Content-Type: application/x-amz-json-1.1 Content-Length: 17 {"MaxResults":10}
Berikut ini adalah header yang harus disertakan dengan permintaan POST Anda ke Transfer Family. Header yang ditunjukkan di bawah ini yang dimulai dengan “x-amz” khusus untuk. AWS Semua header lain yang terdaftar adalah header umum yang digunakan dalam transaksi HTTP.
Header | Deskripsi |
---|---|
Authorization
|
Header otorisasi diperlukan. Formatnya adalah tanda tangan permintaan Sigv4 standar, yang didokumentasikan pada permintaan AWSAPI Penandatanganan. |
Content-Type |
Gunakan
|
Host |
Gunakan header host untuk menentukan titik akhir Transfer Family tempat Anda mengirim permintaan. Misalnya,
|
x-amz-date |
Anda harus memberikan cap waktu baik di
|
x-amz-target |
Header ini menentukan versi API dan operasi yang Anda minta. Nilai header target dibentuk dengan menggabungkan versi API dengan nama API dan dalam format berikut.
Nilai operationName ( |
x-amz-security-token |
Header ini diperlukan ketika kredensi yang digunakan untuk menandatangani permintaan bersifat sementara atau kredensi sesi (untuk detailnya, lihat Menggunakan kredensial sementara dengan AWS sumber daya di Panduan Pengguna IAM. Lihat Menambahkan tanda tangan ke permintaan HTTP di Referensi Umum Amazon Web Services untuk informasi selengkapnya. |
Transfer Family meminta masukan dan penandatanganan
Semua input permintaan harus dikirim sebagai bagian dari muatan JSON di badan permintaan. Untuk Tindakan di mana semua bidang permintaan bersifat opsionalListServers
, misalnya, Anda masih perlu menyediakan objek JSON kosong di badan permintaan, seperti{}
. Struktur permintaan/respons payload Transfer Family didokumentasikan dalam referensi API yang ada, misalnya. DescribeServer
Transfer Family mendukung otentikasi menggunakan AWS Signature Versi 4. Untuk detailnya, lihat Menandatangani permintaan AWS API.
Tanggapan kesalahan
Ketika ada kesalahan, informasi header respons berisi:
-
Tipe Konten:
application/x-amz-json-1.1
-
Kode status yang sesuai
4xx
atau5xx
HTTP
Tubuh respons kesalahan berisi informasi tentang kesalahan yang terjadi. Contoh respon kesalahan berikut menunjukkan sintaks output elemen respon umum untuk semua respon kesalahan.
{ "__type": "String", "Message": "String", <!-- Message is lowercase in some instances --> "Resource": String, "ResourceType": String "RetryAfterSeconds": String }
Tabel berikut menjelaskan bidang respons kesalahan JSON yang ditunjukkan dalam sintaks sebelumnya.
- __jenis
-
Salah satu pengecualian dari panggilan Transfer Family API.
Jenis: String
- Pesan atau pesan
-
Salah satu pesan kode kesalahan operasi.
catatan
Beberapa pengecualian digunakan
message
, dan yang lainnya menggunakanMessage
. Anda dapat memeriksa kode untuk antarmuka Anda untuk menentukan kasus yang tepat. Atau, Anda dapat menguji setiap opsi untuk melihat mana yang berfungsi.Jenis: String
- Sumber
-
Sumber daya yang kesalahannya dipanggil. Misalnya, jika Anda mencoba membuat pengguna yang sudah ada, itu
Resource
adalah nama pengguna untuk pengguna yang ada.Jenis: String
- ResourceType
-
Jenis sumber daya yang kesalahannya dipanggil. Misalnya, jika Anda mencoba membuat pengguna yang sudah ada,
ResourceType
isUser
.Jenis: String
- RetryAfterSeconds
-
Jumlah detik untuk menunggu sebelum mencoba kembali perintah.
Jenis: String
Contoh respons kesalahan
Badan JSON berikut dikembalikan jika Anda memanggil DescribeServer
API dan menentukan server yang tidak ada.
{ "__type": "ResourceNotFoundException", "Message": "Unknown server", "Resource": "s-11112222333344444", "ResourceType": "Server" }
Badan JSON berikut dikembalikan jika menjalankan API menyebabkan pelambatan terjadi.
{ "__type":"ThrottlingException", "RetryAfterSeconds":"1" }
Badan JSON berikut dikembalikan jika Anda menggunakan CreateServer
API dan Anda tidak memiliki izin yang cukup untuk membuat server Transfer Family.
{ "__type": "AccessDeniedException", "Message": "You do not have sufficient access to perform this action." }
Badan JSON berikut dikembalikan jika Anda menggunakan CreateUser
API dan menentukan pengguna yang sudah ada.
{ "__type": "ResourceExistsException", "Message": "User already exists", "Resource": "Alejandro-Rosalez", "ResourceType": "User" }
Pustaka yang tersedia
AWSmenyediakan pustaka, kode sampel, tutorial, dan sumber daya lainnya untuk pengembang perangkat lunak yang lebih suka membangun aplikasi menggunakan API khusus bahasa alih-alih alat baris perintah dan API Kueri. Pustaka ini menyediakan fungsi dasar (tidak termasuk dalam API), seperti otentikasi permintaan, percobaan ulang permintaan, dan penanganan kesalahan sehingga lebih mudah untuk memulai. Lihat Alat untuk dibangun AWS
Untuk pustaka dan kode sampel dalam semua bahasa, lihat Contoh kode & pustaka