

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

# Penyediaan perangkat MQTT API
<a name="fleet-provision-api"></a><a name="provision-mqtt-api"></a>

Layanan Penyediaan Armada mendukung operasi API MQTT berikut:
+ `CreateCertificateFromCsr`
+ `CreateKeysAndCertificate`
+ `RegisterThing`

API ini mendukung buffer respons dalam format Concise Binary Object Representation (CBOR) dan JavaScript Object Notation (JSON), tergantung pada topiknya. *payload-format* Untuk kejelasan, contoh respons dan permintaan di bagian ini ditampilkan dalam format JSON.


| *payload-format* | Jenis data format respons | 
| --- | --- | 
| cbor | Representasi Objek Biner Ringkas (CBOR) | 
| json | JavaScript Notasi Objek (JSON) | 

**penting**  
Sebelum memublikasikan topik pesan permintaan, berlangganan topik respons untuk menerima respons. Pesan yang digunakan oleh API ini menggunakan protokol publish/subscribe MQTT untuk menyediakan interaksi permintaan dan respons.   
Jika Anda tidak berlangganan topik respons *sebelum* memublikasikan permintaan, Anda mungkin tidak menerima hasil permintaan tersebut.  
IoT Core Fleet Provisioning mengembalikan perangkat yang menyediakan hasil API MQTT melalui koneksi MQTT yang sama yang digunakan untuk mempublikasikan permintaan API.

## CreateCertificateFromCsr
<a name="create-cert-csr"></a>

Membuat sertifikat dari permintaan penandatanganan sertifikat (CSR). AWS IoT menyediakan sertifikat klien yang ditandatangani oleh otoritas sertifikat Amazon Root (CA). Sertifikat baru memiliki `PENDING_ACTIVATION` status. Saat Anda menelepon `RegisterThing` untuk menyediakan sesuatu dengan sertifikat ini, status sertifikat berubah menjadi `ACTIVE` atau `INACTIVE` seperti yang dijelaskan dalam templat.

Untuk informasi selengkapnya tentang membuat sertifikat klien menggunakan sertifikat Otoritas Sertifikat Anda dan permintaan penandatanganan sertifikat, lihat[Buat sertifikat klien menggunakan sertifikat CA Anda](create-device-cert.md).

**catatan**  
Untuk keamanan, yang `certificateOwnershipToken` dikembalikan `CreateCertificateFromCsr` kedaluwarsa setelah satu jam. `RegisterThing`harus dipanggil sebelum `certificateOwnershipToken` kedaluwarsa. Jika sertifikat yang dibuat oleh `CreateCertificateFromCsr` belum diaktifkan dan dilampirkan pada kebijakan atau sesuatu pada saat token kedaluwarsa, sertifikat akan dihapus. Jika token kedaluwarsa, perangkat dapat menelepon `CreateCertificateFromCsr` untuk menghasilkan sertifikat baru.

### CreateCertificateFromCsr permintaan
<a name="create-cert-csr-request"></a>

Publikasikan pesan dengan `$aws/certificates/create-from-csr/payload-format` topik.

`payload-format`  
Format payload pesan sebagai `cbor` atau`json`.

#### CreateCertificateFromCsr minta muatan
<a name="create-cert-csr-request-payload"></a>

```
{
    "certificateSigningRequest": "string"
}
```

`certificateSigningRequest`  
CSR, dalam format PEM.

### CreateCertificateFromCsr respon
<a name="create-cert-csr-response"></a>

Berlangganan`$aws/certificates/create-from-csr/payload-format/accepted`.

`payload-format`  
Format payload pesan sebagai `cbor` atau`json`.

#### CreateCertificateFromCsr muatan respons
<a name="create-cert-csr-response-payload"></a>

```
{
    "certificateOwnershipToken": "string",
    "certificateId": "string",
    "certificatePem": "string"
}
```

`certificateOwnershipToken`  
Token untuk membuktikan kepemilikan sertifikat selama penyediaan. 

`certificateId`  
ID sertifikat. Operasi manajemen sertifikat hanya mengambil CertificateID. 

`certificatePem`  
Data sertifikat, dalam format PEM.

### CreateCertificateFromCsr kesalahan
<a name="create-cert-csr-error"></a>

Untuk menerima tanggapan kesalahan, berlangganan`$aws/certificates/create-from-csr/payload-format/rejected`.

`payload-format`  
Format payload pesan sebagai `cbor` atau`json`.

#### CreateCertificateFromCsr kesalahan muatan
<a name="create-cert-csr-error-payload"></a>

```
{
    "statusCode": int,
    "errorCode": "string",
    "errorMessage": "string"
}
```

`statusCode`  
Kode status.

`errorCode`  
Kode kesalahan.

`errorMessage`  
Pesan kesalahan.

## CreateKeysAndCertificate
<a name="create-keys-cert"></a>

Membuat kunci baru dan sertifikat. AWS IoT menyediakan sertifikat klien yang ditandatangani oleh otoritas sertifikat Amazon Root (CA). Sertifikat baru memiliki `PENDING_ACTIVATION` status. Saat Anda menelepon `RegisterThing` untuk menyediakan sesuatu dengan sertifikat ini, status sertifikat berubah menjadi `ACTIVE` atau `INACTIVE` seperti yang dijelaskan dalam templat.

**catatan**  
Untuk keamanan, yang `certificateOwnershipToken` dikembalikan `CreateKeysAndCertificate` kedaluwarsa setelah satu jam. `RegisterThing`harus dipanggil sebelum `certificateOwnershipToken` kedaluwarsa. Jika sertifikat yang dibuat oleh `CreateKeysAndCertificate` belum diaktifkan dan dilampirkan pada kebijakan atau sesuatu pada saat token kedaluwarsa, sertifikat akan dihapus. Jika token kedaluwarsa, perangkat dapat menelepon `CreateKeysAndCertificate` untuk menghasilkan sertifikat baru.

### CreateKeysAndCertificate permintaan
<a name="create-keys-cert-request"></a>

Publikasikan pesan `$aws/certificates/create/payload-format` dengan muatan pesan kosong.

`payload-format`  
Format payload pesan sebagai `cbor` atau`json`.

### CreateKeysAndCertificate respon
<a name="create-keys-cert-response"></a>

Berlangganan`$aws/certificates/create/payload-format/accepted`.

`payload-format`  
Format payload pesan sebagai `cbor` atau`json`.

#### CreateKeysAndCertificate respon
<a name="create-keys-cert-response-payload"></a>

```
{
    "certificateId": "string",
    "certificatePem": "string",
    "privateKey": "string",
    "certificateOwnershipToken": "string"
}
```

`certificateId`  
ID sertifikat.

`certificatePem`  
Data sertifikat, dalam format PEM.

`privateKey`  
Kunci privat.

`certificateOwnershipToken`  
Token untuk membuktikan kepemilikan sertifikat selama penyediaan.

### CreateKeysAndCertificate kesalahan
<a name="create-keys-cert-error"></a>

Untuk menerima tanggapan kesalahan, berlangganan`$aws/certificates/create/payload-format/rejected`.

`payload-format`  
Format payload pesan sebagai `cbor` atau`json`.

#### CreateKeysAndCertificate kesalahan muatan
<a name="create-keys-cert-error-payload"></a>

```
{
    "statusCode": int,
    "errorCode": "string",
    "errorMessage": "string"
}
```

`statusCode`  
Kode status.

`errorCode`  
Kode kesalahan.

`errorMessage`  
Pesan kesalahan.

## RegisterThing
<a name="register-thing"></a>

Ketentuan sesuatu menggunakan template yang telah ditentukan sebelumnya.

### RegisterThing permintaan
<a name="register-thing-request"></a>

Publikasikan pesan di`$aws/provisioning-templates/templateName/provision/payload-format`.

`payload-format`  
Format payload pesan sebagai `cbor` atau`json`.

`templateName`  
Nama template penyediaan.

#### RegisterThing minta muatan
<a name="register-thing-request-payload"></a>

```
{
    "certificateOwnershipToken": "string",
    "parameters": {
        "string": "string",
        ...
    }
}
```

`certificateOwnershipToken`  
Token untuk membuktikan kepemilikan sertifikat. AWS IoT menghasilkan token saat Anda membuat sertifikat melalui MQTT.

`parameters`  
Tidak wajib. Pasangan nilai kunci dari perangkat yang digunakan oleh [kait pra-penyediaan untuk mengevaluasi permintaan](pre-provisioning-hook.md) pendaftaran.

### RegisterThing respon
<a name="register-thing-response"></a>

Berlangganan`$aws/provisioning-templates/templateName/provision/payload-format/accepted`.

`payload-format`  
Format payload pesan sebagai `cbor` atau`json`.

`templateName`  
Nama template penyediaan.

#### RegisterThing muatan respons
<a name="register-thing-response-payload"></a>

```
{
    "deviceConfiguration": {
        "string": "string",
        ...
    },
    "thingName": "string"
}
```

`deviceConfiguration`  
Konfigurasi perangkat didefinisikan dalam template.

`thingName`  
Nama hal IoT yang dibuat selama penyediaan.

### RegisterThing respon kesalahan
<a name="register-thing-error"></a>

Untuk menerima tanggapan kesalahan, berlangganan`$aws/provisioning-templates/templateName/provision/payload-format/rejected`.

`payload-format`  
Format payload pesan sebagai `cbor` atau`json`.

`templateName`  
Nama template penyediaan.

#### RegisterThing muatan respons kesalahan
<a name="register-thing-error-payload"></a>

```
{
    "statusCode": int,
    "errorCode": "string",
    "errorMessage": "string"
}
```

`statusCode`  
Kode status.

`errorCode`  
Kode kesalahan.

`errorMessage`  
Pesan kesalahan.