

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

# AWS Transfer Family Referensi API
<a name="api-welcome"></a>

Panduan Referensi API lengkap untuk Transfer Family tersedia di [Referensi AWS Transfer Family API](https://docs.aws.amazon.com/transfer/latest/APIReference/api-welcome.html). 

AWS Transfer Family adalah layanan transfer aman yang dapat Anda gunakan untuk mentransfer file masuk dan keluar dari penyimpanan Amazon Simple Storage Service (Amazon S3) melalui protokol berikut:
+ Protokol Transfer File Secure Shell (SSH) (SFTP)
+ Protokol Transfer File Aman (FTPS)
+ Protokol Transfer File (FTP)
+ Pernyataan Penerapan 2 (AS2)

Server, pengguna, dan peran semuanya diidentifikasi oleh Amazon Resource Name (ARN) mereka. Anda dapat menetapkan tag, yang merupakan pasangan nilai kunci, ke entitas dengan ARN. Tag adalah metadata yang dapat digunakan untuk mengelompokkan atau mencari entitas ini. Salah satu contoh di mana tag berguna adalah untuk tujuan akuntansi.

Konvensi berikut diamati dalam format AWS Transfer Family ID:
+ `ServerId`nilai mengambil bentuk`s-01234567890abcdef`.
+ `SshPublicKeyId`nilai mengambil bentuk`key-01234567890abcdef`.

Format Amazon Resource Name (ARN) mengambil bentuk berikut:
+ Untuk server, ARN mengambil formulir`arn:aws:transfer:{{region}}:{{account-id}}:server/{{server-id}}`.

  Contoh dari ARN server adalah: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef`.
+ Untuk pengguna, ARN mengambil formulir`arn:aws:transfer:{{region}}:{{account-id}}:user/{{server-id}}/{{username}}`.

  Contohnya adalah `arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1`.

Entri DNS (endpoint) yang digunakan adalah sebagai berikut:
+ Titik akhir API mengambil formulir`transfer.{{region}}.amazonaws.com`.
+ Titik akhir server mengambil formulir`{{server-id}}.server.transfer.{{region}}.amazonaws.com`.

Referensi antarmuka API ini AWS Transfer Family berisi dokumentasi untuk antarmuka pemrograman yang dapat Anda gunakan untuk mengelola AWS Transfer Family. Struktur referensi adalah sebagai berikut:
+ Untuk daftar tindakan API menurut abjad, lihat. [Actions](https://docs.aws.amazon.com/transfer/latest/APIReference/API_Operations.html)
+ Untuk daftar alfabet tipe data, lihat. [Types](https://docs.aws.amazon.com/transfer/latest/APIReference/API_Types.html)
+ Untuk daftar parameter kueri umum, lihat [Parameter Umum](https://docs.aws.amazon.com/transfer/latest/APIReference/CommonParameters.html).
+ Untuk deskripsi kode kesalahan, lihat [Kesalahan Umum](https://docs.aws.amazon.com/transfer/latest/APIReference/CommonErrors.html).

**Tip**  
Daripada benar-benar menjalankan perintah, Anda dapat menggunakan `--generate-cli-skeleton` parameter dengan panggilan API apa pun untuk menghasilkan dan menampilkan templat parameter. Anda kemudian dapat menggunakan template yang dihasilkan untuk menyesuaikan dan digunakan sebagai input pada perintah selanjutnya. Untuk detailnya, lihat [Menghasilkan dan menggunakan file kerangka parameter](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html#cli-usage-skeleton-generate).

## Membuat permintaan API
<a name="making-api-requests"></a>

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 Family titik akhir dan kuota](https://docs.aws.amazon.com/general/latest/gr/transfer-service.html) di *Referensi Umum AWS*

**catatan**  
Anda juga dapat menggunakan AWS SDK saat mengembangkan aplikasi dengan Transfer Family;. AWS SDK 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](https://aws.amazon.com/code).

### Transfer Family membutuhkan header permintaan
<a name="request-headers"></a>

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 [ListServers](https://docs.aws.amazon.com/transfer/latest/userguide/API_ListServers.html)operasi.

```
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.

### Transfer Family meminta masukan dan penandatanganan
<a name="tf-request-structure"></a>

Semua input permintaan harus dikirim sebagai bagian dari muatan JSON di badan permintaan. Untuk Tindakan di mana semua bidang permintaan bersifat opsional`ListServers`, misalnya, Anda masih perlu menyediakan objek JSON kosong di badan permintaan, seperti`{}`. Struktur payload Transfer Family request/response didokumentasikan dalam referensi API yang ada, misalnya [DescribeServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_DescribeServer.html). 

Transfer Family mendukung otentikasi menggunakan AWS Signature Versi 4. Untuk detailnya, lihat [Menandatangani permintaan AWS API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html).

### Tanggapan kesalahan
<a name="RESTErrorResponses"></a>

Ketika ada kesalahan, informasi header respons berisi:
+ Content-Type: `application/x-amz-json-1.1`
+ Kode status yang sesuai `4xx` atau `5xx` 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.   
*Tipe*: String

**Pesan** atau **pesan**  
Salah satu pesan kode kesalahan operasi.  
Beberapa pengecualian digunakan`message`, dan yang lainnya menggunakan`Message`. Anda dapat memeriksa kode untuk antarmuka Anda untuk menentukan kasus yang tepat. Atau, Anda dapat menguji setiap opsi untuk melihat mana yang berfungsi.
*Tipe*: String

**Sumber Daya**  
Sumber daya yang kesalahannya dipanggil. Misalnya, jika Anda mencoba membuat pengguna yang sudah ada, itu `Resource` adalah nama pengguna untuk pengguna yang ada.  
*Tipe*: String

**ResourceType**  
Jenis sumber daya yang kesalahannya dipanggil. Misalnya, jika Anda mencoba membuat pengguna yang sudah ada, `ResourceType` is`User`.  
*Tipe*: String

**RetryAfterSeconds**  
Jumlah detik untuk menunggu sebelum mencoba kembali perintah.  
*Tipe*: String

#### Contoh respons kesalahan
<a name="RESTErrorResponsesExamples"></a>

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
<a name="using-libraries"></a>

AWS menyediakan 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](https://aws.amazon.com/tools/?id=docs_gateway)

Untuk pustaka dan kode sampel dalam semua bahasa, lihat [Contoh kode & pustaka](https://aws.amazon.com/code).

## Penyedia Identitas
<a name="identity-providers"></a>

AWS Transfer Family mendukung beberapa jenis penyedia identitas untuk mengautentikasi dan mengelola pengguna. Setiap server hanya dapat menggunakan satu metode otentikasi, yang harus dipilih ketika server dibuat.

Layanan Dikelola  
Dengan metode `SERVICE_MANAGED` otentikasi, kredensyal pengguna disimpan dan dikelola di dalamnya. AWS Transfer Family Pengguna diautentikasi menggunakan kunci publik SSH yang terkait dengan nama pengguna mereka di server.  
Setiap pengguna dapat memiliki satu atau lebih kunci publik SSH yang disimpan dalam layanan. Ketika klien meminta operasi file, ia menyediakan nama pengguna dan kunci pribadi SSH, yang diautentikasi terhadap kunci publik yang disimpan.

Directory Service  
Metode `AWS_DIRECTORY_SERVICE` otentikasi memungkinkan Anda untuk mengintegrasikan dengan AWS Directory Service untuk Microsoft Active Directory (AWS Directory Service for Microsoft Active Directory).  
Opsi ini memungkinkan Anda untuk mengelola otentikasi pengguna dan akses melalui grup Active Directory yang ada. Pengguna dapat mengautentikasi menggunakan kredensil Direktori Aktif mereka.  
Ada batas default 100 grup Active Directory per server, yang dapat ditingkatkan hingga maksimum 150 grup melalui peningkatan batas layanan.

Lambda  
Metode `AWS_LAMBDA` otentikasi memungkinkan Anda untuk terhubung ke penyedia identitas kustom menggunakan AWS Lambda.  
Opsi ini memberikan fleksibilitas untuk berintegrasi dengan sistem manajemen identitas Anda yang ada. Fungsi Lambda bertanggung jawab untuk mengautentikasi pengguna dan mengembalikan kebijakan akses yang sesuai.

Kustom (API Gateway)  
Metode `API_GATEWAY` otentikasi (ditampilkan sebagai **Kustom** di konsol) memungkinkan Anda menggunakan metode otentikasi khusus yang menyediakan otentikasi pengguna dan kontrol akses.  
Metode ini bergantung pada Amazon API Gateway untuk menggunakan panggilan API Anda dari penyedia identitas Anda untuk memvalidasi permintaan pengguna. Anda dapat menggunakan metode kustom ini untuk mengautentikasi pengguna terhadap layanan direktori, name/password pasangan database, atau mekanisme lainnya.

Untuk semua metode otentikasi, pengguna diberi kebijakan yang menentukan akses mereka ke bucket Amazon S3 atau sistem file Amazon Elastic File System. Server mewarisi hubungan kepercayaan dari pengguna melalui peran IAM dengan `AssumeRole` tindakan, memungkinkannya untuk melakukan operasi file atas nama pengguna.

## Konvensi Penamaan
<a name="conventions"></a>

AWS Transfer Family menggunakan format standar untuk pengidentifikasi sumber daya dan Amazon Resource Names (ARN). Memahami konvensi ini penting saat bekerja dengan AWS Transfer Family API.

### Format ID
<a name="id-formats"></a>

Konvensi berikut diamati dalam format AWS Transfer Family ID:

ID Server  
`ServerId`nilai mengambil bentuk`s-01234567890abcdef`.

ID Kunci Publik SSH  
`SshPublicKeyId`nilai mengambil bentuk`key-01234567890abcdef`.

ID konektor  
`ConnectorId`nilai mengambil bentuk`c-01234567890abcdef`.

ID Alur Kerja  
`WorkflowId`nilai mengambil bentuk`w-01234567890abcdef`.

ID Profil  
`ProfileId`nilai mengambil bentuk`p-01234567890abcdef`.

WebApp ID  
`WebAppId`nilai mengambil bentuk`webapp-01234567890abcdef`.

### Format ARN
<a name="arn-formats"></a>

Format Amazon Resource Name (ARN) mengambil bentuk berikut:

Server ARN  
Untuk server, ARN mengambil formulir`arn:aws:transfer:{{region}}:{{account-id}}:server/{{server-id}}`.  
Contoh:`arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef`.

ARN Pengguna  
Untuk pengguna, ARN mengambil formulir`arn:aws:transfer:{{region}}:{{account-id}}:user/{{server-id}}/{{username}}`.  
Contoh:`arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1`.

Konektor ARN  
Untuk konektor, ARN mengambil formulir`arn:aws:transfer:{{region}}:{{account-id}}:connector/{{connector-id}}`.  
Contoh:`arn:aws:transfer:us-east-1:123456789012:connector/c-01234567890abcdef`.

ARN Alur Kerja  
Untuk alur kerja, ARN mengambil formulir. `arn:aws:transfer:{{region}}:{{account-id}}:workflow/{{workflow-id}}`  
Contoh:`arn:aws:transfer:us-east-1:123456789012:workflow/w-01234567890abcdef`.

WebApp ARN  
Untuk aplikasi web, ARN mengambil formulir`arn:aws:transfer:{{region}}:{{account-id}}:webapp/{{webapp-id}}`.  
Contoh:`arn:aws:transfer:us-east-1:123456789012:webapp/webapp-01234567890abcdef`.

Anda dapat menetapkan tag, yang merupakan pasangan nilai kunci, ke entitas dengan ARN. Tag adalah metadata yang dapat digunakan untuk mengelompokkan atau mencari entitas ini. Salah satu contoh di mana tag berguna adalah untuk tujuan akuntansi.

## DNS dan Endpoint
<a name="dns-endpoints"></a>

AWS Transfer Family menggunakan konvensi penamaan DNS standar untuk titik akhir API dan titik akhir server. Memahami titik akhir ini sangat penting untuk mengonfigurasi klien dan melakukan panggilan API.

### Titik Akhir API
<a name="api-endpoints"></a>

Titik akhir API digunakan untuk membuat panggilan API untuk mengelola AWS Transfer Family sumber daya. Titik akhir ini mengambil bentuk berikut:

Titik Akhir API Standar  
Titik akhir API standar mengambil formulir`transfer.{{region}}.amazonaws.com`.  
Contoh: `transfer.us-east-1.amazonaws.com`

Dual-Stack Titik Akhir API  
AWS Transfer Family menawarkan titik akhir API dual-stack yang dapat diakses menggunakan permintaan IPv4 atau IPv6:  
+ https://transfer.*{{region-code}}*.api.aws
+ https://transfer-fips.*{{region-code}}*.api.aws

### Titik Akhir Server
<a name="server-endpoints"></a>

Endpoint server digunakan oleh klien transfer file untuk terhubung ke AWS Transfer Family server. Titik akhir ini mengambil bentuk berikut:

Titik Akhir Server Standar  
Titik akhir server standar mengambil formulir`{{server-id}}.server.transfer.{{region}}.amazonaws.com`.  
Contoh: `s-01234567890abcdef.server.transfer.us-east-1.amazonaws.com`

Nama Host Kustom  
Anda juga dapat mengonfigurasi nama host khusus untuk AWS Transfer Family server Anda. Nama host khusus dapat digunakan untuk memberikan pengalaman yang lebih ramah pengguna atau bermerek bagi pengguna Anda.  
Untuk menggunakan nama host khusus, Anda harus:  

1. Memiliki nama domain

1. Berikan sertifikat yang valid

1. Konfigurasikan catatan DNS untuk menunjuk ke server Anda AWS Transfer Family 

Untuk daftar lengkap AWS Transfer Family titik akhir menurut AWS Wilayah, lihat [AWS Transfer Family titik akhir dan kuota](https://docs.aws.amazon.com/general/latest/gr/transfer-service.html) di. *Referensi Umum AWS*