

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

# Gunakan konektor C2C (Cloud-to-Cloud)
<a name="use-c2c-create-cloud-connector"></a>

 Konektor C2C mengelola terjemahan pesan permintaan dan respons, dan memungkinkan komunikasi antara integrasi terkelola dan cloud vendor pihak ketiga. Ini memfasilitasi kontrol terpadu di berbagai jenis perangkat, platform, dan protokol yang memungkinkan perangkat pihak ketiga untuk di-onboard dan dikelola. 

Prosedur berikut mencantumkan langkah-langkah untuk menggunakan konektor C2C.

**Langkah-langkah untuk menggunakan konektor C2C:**

1. **CreateCloudConnector**

   Konfigurasikan konektor untuk mengaktifkan komunikasi dua arah antara integrasi terkelola Anda dan cloud vendor pihak ketiga.

   Saat mengatur konektor, berikan detail berikut:
   + **Nama**: Pilih nama deskriptif untuk konektor.
   + **Deskripsi**: Berikan ringkasan singkat tentang tujuan dan kemampuan konektor.
   + **AWS Lambda ARN**: Tentukan Nama Sumber Daya Amazon (ARN) dari AWS Lambda fungsi yang akan memberi daya pada konektor.

    Buat dan terapkan AWS Lambda fungsi yang berkomunikasi dengan vendor pihak ketiga APIs untuk membuat konektor. Selanjutnya, panggil [CreateCloudConnector](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateCloudConnector.html)API dalam integrasi terkelola, dan berikan AWS Lambda fungsi ARN untuk pendaftaran. Pastikan bahwa AWS Lambda fungsi tersebut diterapkan di AWS akun yang sama di mana Anda memasang konektor dalam integrasi terkelola. Anda akan diberi **ID Konektor** unik untuk mengidentifikasi integrasi. 

   **Contoh Permintaan dan Respons CreateCloudConnector API:**

   ```
   Request:
   
   {
       "Name": "CreateCloudConnector",
       "Description": "Testing for C2C",
       "EndpointType": "LAMBDA",
       "EndpointConfig": {
           "lambda": {
               "arn": "arn:aws:lambda:us-east-1:xxxxxx:function:TestingConnector"
           }
       },
       "ClientToken": "{{abc}}"
   }
   
   Response:
   
   {
       "Id": "string"
   }
   ```

   **Aliran penciptaan:**  
![Fase pembuatan konektor cloud](http://docs.aws.amazon.com/id_id/iot-mi/latest/devguide/images/iot-managedintegrations-createcloudconnector.png)
**catatan**  
 Gunakan [GetCloudConnector](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetCloudConnector.html),, [UpdateCloudConnector[DeleteCloudConnector](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_DeleteCloudConnector.html)](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_UpdateCloudConnector.html), dan sesuai [ListCloudConnectors](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_ListCloudConnectors.html) APIs kebutuhan untuk prosedur ini. 

1. **CreateConnectorDestination**

   Konfigurasikan Destinasi untuk menyediakan pengaturan dan kredensional otentikasi yang diperlukan konektor untuk membuat koneksi aman dengan cloud vendor pihak ketiga. Gunakan Destinasi untuk mendaftarkan kredensil autentikasi pihak ketiga Anda dengan integrasi terkelola, seperti detail otorisasi OAuth 2.0 termasuk URL otorisasi, skema otentikasi, dan lokasi kredensil di dalamnya. AWS Secrets Manager

   **Prasyarat**

   Sebelum membuat **ConnectorDestination**, Anda harus:
   + Panggil [CreateCloudConnector](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateCloudConnector.html)API untuk membuat konektor. ID yang dikembalikan fungsi digunakan dalam panggilan [CreateConnectorDestination](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateConnectorDestination.html)API API.
   + Ambil `tokenUrl` untuk platform 3P konektor. (Anda dapat menukar **AuthCode** dengan **AccessToken**).
   + Ambil **AuthURL** untuk platform 3P konektor. (Pengguna akhir dapat mengautentikasi menggunakan nama pengguna dan kata sandi mereka).
   + Gunakan `clientId` dan `clientSecret` (dari platform 3P) di manajer rahasia akun Anda.

   **Contoh Permintaan dan Respons CreateConnectorDestination API:**

   ```
   Request:
   
   {
       "Name": "CreateConnectorDestination",
       "Description": "CreateConnectorDestination",
       "AuthType": "OAUTH",
       "AuthConfig": {
           "oAuth": {
               "authUrl": "https://xxxx.com/oauth2/authorize",
               "tokenUrl": "https://xxxx/oauth2/token",
               "scope": "testScope",
               "tokenEndpointAuthenticationScheme": "HTTP_BASIC",
               "oAuthCompleteRedirectUrl": "about:blank",
               "proactiveRefreshTokenRenewal": {
                   "enabled": false,
                   "DaysBeforeRenewal": 30
               }
           }
       },
       "CloudConnectorId": "<connectorId>", // The connectorID instance from response of Step 1.
       "SecretsManager": {
           "arn": "arn:aws:secretsmanager:*****:secret:*******",
           "versionId": "********"
       },
       "ClientToken": "***"
   }
   
   Response:
   
   {
       "Id":"string"
   }
   ```

   **Alur pembuatan tujuan cloud:**  
![CreateConnectorDestination Fase pemanggilan API](http://docs.aws.amazon.com/id_id/iot-mi/latest/devguide/images/iot-managedintegrations-createconnectordestination.png)
**catatan**  
 Gunakan [GetCloudConnector](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetCloudConnector.html),, [UpdateCloudConnector[DeleteCloudConnector](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_DeleteCloudConnector.html)](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_UpdateCloudConnector.html), dan sesuai [ListCloudConnectors](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_ListCloudConnectors.html) APIs kebutuhan untuk prosedur ini. 

1. **CreateAccountAssociation**

   Asosiasi mewakili hubungan antara akun cloud pihak ketiga pengguna akhir dan tujuan konektor. Setelah membuat Asosiasi dan menautkan pengguna akhir ke integrasi terkelola, perangkat mereka dapat diakses melalui ID **Asosiasi** yang unik. Integrasi ini memungkinkan tiga fungsi utama: menemukan perangkat, mengirim perintah, dan menerima acara. 

   **Prasyarat**

   Sebelum membuat, **AccountAssociation**Anda harus menyelesaikan yang berikut:
   + Panggil [CreateConnectorDestination](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateConnectorDestination.html)API untuk membuat tujuan. ID yang dikembalikan fungsi digunakan dalam panggilan [CreateAccountAssociation](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateAccountAssociation.html)API.
   + Memanggil [CreateAccountAssociation](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateAccountAssociation.html)API.

   **Contoh Permintaan dan Respons CreateAccountAssociation API:**

   ```
   Request:
   
   {
       "Name": "CreateAccountAssociation",
       "Description": "CreateAccountAssociation",
       "ConnectorDestinationId": "<{{destinationId}}>", //The destinationID from destination creation.
       "ClientToken": "***"
   }
           
   Response:
   
   {
       "Id":"string"
   }
   ```
**catatan**  
 Gunakan [GetCloudConnector](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetCloudConnector.html),, [UpdateCloudConnector[DeleteCloudConnector](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_DeleteCloudConnector.html)](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_UpdateCloudConnector.html), dan sesuai [ListCloudConnectors](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_ListCloudConnectors.html) APIs kebutuhan untuk prosedur ini. 

    An **AccountAssociation**memiliki status yang ditanyakan dari [GetAccountAssociation](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetAccountAssociation.html)dan [ListAccountAssociations](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_ListAccountAssociations.html) APIs. Ini APIs menunjukkan keadaan **Asosiasi**. [StartAccountAssociationRefresh](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_StartAccountAssociationRefresh.html)API memungkinkan penyegaran **AccountAssociation**status saat token penyegarannya kedaluwarsa. 

1. **Penemuan perangkat**

    Setiap hal yang dikelola ditautkan ke detail khusus perangkat, seperti nomor seri dan model data. Model data menjelaskan fungsionalitas perangkat, menunjukkan apakah itu bola lampu, sakelar, termostat, atau jenis perangkat lain. Untuk menemukan perangkat 3P dan membuat ManagedThing untuk perangkat 3P, Anda harus mengikuti langkah-langkah di bawah ini secara berurutan. 

   1.  Panggil [StartDeviceDiscovery](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_StartDeviceDiscovery.html)API untuk memulai proses penemuan perangkat. 

      **Contoh Permintaan dan Respons StartDeviceDiscovery API:**

      ```
      Request:
      
      {
          "DiscoveryType": "CLOUD",
          "AccountAssociationId": "*****",
          "ClientToken": "abc"
      }
      
      Response:
      
      {
          "Id": "string",
          "StartedAt": number
      }
      ```

   1.  Memanggil [GetDeviceDiscovery](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetDeviceDiscovery.html)API untuk memeriksa status proses penemuan. 

   1.  Panggil [ListDiscoveredDevices](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_ListDiscoveredDevices.html)API untuk membuat daftar perangkat yang ditemukan. 

      **Contoh Permintaan dan Respons ListDiscoveredDevices API:**

      ```
      Request:
      
      //Empty body
      
      Response:
      
      {
          "Items": [
          {
            "Brand": "string",
            "ConnectorDeviceId": "string",
            "ConnectorDeviceName": "string",
            "DeviceTypes": [ "string" ],
            "DiscoveredAt": number,
            "ManagedThingId": "string",
            "Model": "string",
            "Modification": "string"
          }
      ],
          "NextToken": "string"
      }
      ```

   1.  Memanggil [CreateManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateManagedThing.html)API untuk memilih perangkat dari daftar penemuan yang akan diimpor ke integrasi terkelola. 

      **Contoh Permintaan dan Respons CreateManagedThing API:**

      ```
      Request:
                    
      {
          "Role": "DEVICE",
          "AuthenticationMaterial": "CLOUD:XXXX:<connectorDeviceId1>",
          "AuthenticationMaterialType": "DISCOVERED_DEVICE",
          "Name": "sample-device-name"
          "ClientToken": "xxx"
      }
      
      Response:
      
      {
         "Arn": "string", // This is the ARN of the managedThing
         "CreatedAt": number,
         "Id": "string" 
      }
      ```

   1.  Panggil [GetManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetManagedThing.html)API untuk melihat ini yang baru dibuat`managedThing`. Statusnya akan`UNASSOCIATED`. 

   1.  Panggil [RegisterAccountAssociation](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterAccountAssociation.html)API untuk mengaitkan ini `managedThing` dengan yang spesifik`accountAssociation`. Di akhir [RegisterAccountAssociation](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterAccountAssociation.html)API yang berhasil, `managedThing` perubahan `ASSOCIATED` status. 

      **Contoh Permintaan dan Respons RegisterAccountAssociation API:**

      ```
      Request:
      
      {
          "AccountAssociationId": "string",
          "DeviceDiscoveryId": "string",
          "ManagedThingId": "string"
      }
      
      Response:
      
      {
          "AccountAssociationId": "string",
          "DeviceDiscoveryId": "string",
          "ManagedThingId": "string"
      }
      ```

1. **Kirim perintah ke perangkat 3P**

    Untuk mengontrol perangkat yang baru di-onboard, gunakan [SendManagedThingCommand](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_SendManagedThingCommand.html)API, dengan **ID Asosiasi** yang dibuat sebelumnya dan tindakan kontrol berdasarkan kemampuan yang didukung oleh perangkat. Konektor menggunakan kredensil tersimpan dari proses penautan akun, untuk mengautentikasi dengan cloud pihak ketiga dan memanggil panggilan API yang relevan untuk operasi tersebut. 

   **Contoh Permintaan dan Respons SendManagedThingCommand API:**

   ```
   Request:
   
   {
       "AccountAssociationId": "string",
       "ConnectorAssociationId": "string",
       "Endpoints": [ 
          { 
             "capabilities": [ 
                { 
                   "actions": [ 
                      { 
                         "actionTraceId": "string",
                         "name": "string",
                         "parameters": JSON value,
                         "ref": "string"
                      }
                   ],
                   "id": "string",
                   "name": "string",
                   "version": "string"
                }
             ],
             "endpointId": "string"
          }
       ]
   }
           
   Response:
           
   {
      "TraceId": "string"
   }
   ```

   **Kirim perintah ke aliran perangkat 3P:**  
![Kirim perintah ke perangkat 3P](http://docs.aws.amazon.com/id_id/iot-mi/latest/devguide/images/iot-managedintegrations-send-to-device.png)

1. **Konektor mengirimkan acara ke integrasi terkelola**

   [SendConnectorEvent](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_SendConnectorEvent.html)API menangkap empat jenis peristiwa dari konektor ke integrasi terkelola, yang diwakili oleh nilai enum berikut untuk parameter Jenis **Operasi**:
   + **DEVICE\_COMMAND\_RESPONSE: Respons** asinkron yang dikirim konektor sebagai respons terhadap perintah.
   + **DEVICE\_DISCOVERY**: Menanggapi proses penemuan perangkat, konektor mengirimkan daftar perangkat yang ditemukan ke integrasi terkelola, ia menggunakan API. [SendConnectorEvent](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_SendConnectorEvent.html) 
   + **DEVICE\_EVENT: Mengirim peristiwa** perangkat yang diterima.
   + **DEVICE\_COMMAND\_REQUEST: Permintaan perintah** dimulai dari perangkat. Misalnya, alur kerja WebRTC.

    Konektor juga dapat meneruskan peristiwa perangkat menggunakan [SendConnectorEvent](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_SendConnectorEvent.html)API, dengan `userId` parameter opsional. 
   + Untuk acara perangkat dengan`userId`:

     **Contoh Permintaan dan Respons SendConnectorEvent API:**

     ```
     Request:
     
     {
         "UserId": "*****",
         "Operation": "DEVICE_EVENT",
         "OperationVersion": "1.0",
         "StatusCode": 200,
         "ConnectorId": "****",
         "ConnectorDeviceId": "***",
         "TraceId": "***",
         "MatterEndpoint": {
             "id": "**",
             "clusters": [{
                 .....
                 }
             }]
         }
     }
     
     Response:
     
     {
         "ConnectorId": "string"
     }
     ```
   + Untuk acara perangkat tanpa`userId`:

     **Contoh Permintaan dan Respons SendConnectorEvent API:**

     ```
     Request:
     
     {
         "Operation": "DEVICE_EVENT",
         "OperationVersion": "1.0",
         "StatusCode": 200,
         "ConnectorId": "*****",
         "ConnectorDeviceId": "****",
         "TraceId": "****",
         "MatterEndpoint": {
             "id": "**",
             "clusters": [{
                 ....
             }]
         }
     }
     
     Response:
     
     {
         "ConnectorId": "string"
     }
     ```

    Untuk menghapus tautan antara asosiasi tertentu `managedThing` dan akun, gunakan mekanisme deregister: 

   **Contoh Permintaan dan Respons DeregisterAccountAssociation API:**

   ```
   Request:
   
   {
       "AccountAssociationId": "****",
       "ManagedThingId": "****"
   }
   
   Response:
   
   HTTP/1.1 200 // Empty body
   ```

   **Kirim alur acara:**  
![Kirim alur acara](http://docs.aws.amazon.com/id_id/iot-mi/latest/devguide/images/iot-managedintegrations-send-events.png)

1. **Perbarui status konektor ke “Terdaftar” agar terlihat oleh pelanggan integrasi terkelola lainnya**

   Secara default, konektor bersifat pribadi dan hanya terlihat oleh AWS akun yang membuatnya. Anda dapat memilih untuk membuat konektor terlihat oleh pelanggan integrasi terkelola lainnya.

   Untuk membagikan konektor Anda dengan pengguna lain, gunakan opsi **Make visible** Konsol Manajemen AWS di halaman detail konektor untuk mengirimkan ID konektor Anda AWS untuk ditinjau. Setelah disetujui, konektor tersedia untuk semua pengguna integrasi terkelola dalam hal yang sama AWS Region. Selain itu, Anda dapat membatasi akses ke AWS akun tertentu IDs dengan memodifikasi kebijakan akses pada fungsi terkait AWS Lambda konektor. Untuk memastikan konektor Anda dapat digunakan oleh pelanggan lain, kelola izin akses IAM pada fungsi Lambda Anda dari AWS akun lain ke konektor yang terlihat.

   Tinjau Layanan AWS persyaratan dan kebijakan organisasi Anda yang mengatur berbagi konektor dan izin akses sebelum membuat konektor terlihat oleh pelanggan integrasi terkelola lainnya.