

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 构建 C2C（云到云）连接器
<a name="concepts-building-connector"></a>

以下各节介绍为 AWS IoT Device Management 的托管集成构建 C2C（云到云）连接器的步骤。

**Topics**
+ [先决条件](#c2c-connector-prerequisites)
+ [C2C 连接器要求](#c2c-connector-requirements)
+ [OAuth 2.0 账户关联要求](concepts-account-linking.md)
+ [实现 C2C 连接器接口操作](connector-operations-overview.md)
+ [调用你的 C2C 连接器](allow-iot-smart-home.md)
+ [为您的 IAM 角色添加权限](adding-permissions-to-iam-role.md)
+ [手动测试您的 C2C 连接器](manually-testing-connector.md)

## 先决条件
<a name="c2c-connector-prerequisites"></a>

在创建 C2C（云到云）连接器之前，您需要满足以下条件：
+  AWS 账户 用于托管您的 C2C 连接器并通过托管集成进行注册。有关更多信息，请参阅[创建 AWS 账户](https://docs.aws.amazon.com//accounts/latest/reference/manage-acct-creating.html)。
+ 在构建连接器时，您需要某些 IAM 权限。要再次使用 
+ 确保连接器所针对的第三方云提供商支持 OAuth 2.0 授权。有关更多信息，请参阅 [OAuth 2.0 账户关联要求](concepts-account-linking.md)。

  此外，要测试连接器，连接器的开发人员必须具备以下条件：
  + 来自第三方云的客户端 ID，用于与 C2C 连接器关联
  + 来自第三方云的客户端密钥，用于与您的 C2C 连接器关联
  +  OAuth 2.0 授权网址
  +  OAuth 2.0 代币网址
+ 您的第三方 API 所需的任何 API 密钥
+ 您的第三方 API 注册或托管的 OAuth 回传网址许可名单所需的任何 API 密钥。 AWS一些第三方明确 OAuth 将重定向 URL 列入许可名单，而另一些第三方则有用户可以登录和注册该 OAuth URL 的工作流程。请咨询特定的第三方，了解将托管集成 OAuth 重定向端点列入许可名单需要什么

### 所需的权限
<a name="c2c-connector-required-permissions"></a>

在构建连接器时，您需要某些 IAM 权限。除了操作`iotmanagedintegrations:`权限外，您还需要以下权限：
+ [CreateAccountAssociation](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateAccountAssociation.html)、[CreateConnectorDestination[GetAccountAssociation](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetAccountAssociation.html)](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateConnectorDestination.html)、和 [StartAccountAssociationRefresh](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_StartAccountAssociationRefresh.html)，要求 `secretsmanager:GetSecretValue`
+ [CreateCloudConnector](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateCloudConnector.html) 需要 `lambda:Invoke`

有关`iotmanagedintegrations:`权限和操作的更多信息，请参阅[AWS 托管集成定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotmanagedintegrations.html#awsiotmanagedintegrations-actions-as-permissions)

## C2C 连接器要求
<a name="c2c-connector-requirements"></a>

您开发的 [C2C 连接器](concepts-c2c-connector.md#concepts-what-is-c2c-connector)促进了 AWS IoT Device Management 的托管集成与第三方供应商云之间的双向通信。连接器必须实现托管集成的接口，AWS IoT Device Management 才能代表最终用户执行操作。这些接口提供了发现最终用户设备、启动从 AWS IoT Device Management 托管集成发送的设备命令以及基于访问令牌识别用户的功能。为了支持设备操作，连接器必须管理 AWS IoT Device Management 托管集成与相关第三方平台之间的请求和响应消息的转换。

**以下是 C2C 连接器的要求：**
+ 第三方授权服务器必须符合 OAuth 2.0 标准以及中列出的配置[OAuth 配置要求](concepts-account-linking.md#oauth-config-requirements)。
+ 需要使用 C2C 连接器来解释物质数据模型 AWS 实现中的标识符，并且必须发出符合物质数据模型 AWS 实现的响应和事件。有关更多信息，请参阅 [AWS 物质数据模型的实现](matter-data-model.md)。
+ C2C 连接器必须能够通过身份验证调用 AWS IoT Device Manag APIs ement 的托管集成。`SigV4`对于 SendConnectorEvent 通过 API 发送的异步事件，必须使用用于注册连接器的相同 AWS 账户 凭据来签署相关 SendConnectorEvent 请求。
+ 连接器必须实现`AWS.ActivateUser`、`AWS.DiscoverDevices``AWS.SendCommand`、和`AWS.DeactivateUser`操作。
+ 当您的 C2C 连接器收到与设备命令响应或设备发现相关的第三方事件时，它必须将其转发到与 API 的托管集成。`SendConnectorEvent`有关这些事件和 `SendConnectorEvent` API 的更多信息，请参阅[SendConnectorEvent](https://amazonaws.com/iot-mi/latest/APIReference/API_SendConnectorEvent.html)。

**注意**  
`SendConnectorEvent`API 是托管集成 SDK 的一部分，用于代替手动构建和签署请求。