Descripción del registro de identidades de un centro de IoTUnderstand the identity registry in your IoT hub

Cada centro de IoT tiene un registro de identidades que almacena información acerca de los dispositivos y módulos que pueden conectarse a IoT Hub.Every IoT hub has an identity registry that stores information about the devices and modules permitted to connect to the IoT hub. Para que un dispositivo o un módulo puedan conectarse a un centro de IoT, debe haber una entrada para ese dispositivo o módulo en el registro de identidades del centro de IoT.Before a device or module can connect to an IoT hub, there must be an entry for that device or module in the IoT hub's identity registry. También se debe autenticar un dispositivo o un módulo en el centro de IoT basándose en las credenciales almacenadas en el registro de identidades.A device or module must also authenticate with the IoT hub based on credentials stored in the identity registry.

El identificador de dispositivo o módulo que se almacena en el registro de identidades distingue mayúsculas de minúsculas.The device or module ID stored in the identity registry is case-sensitive.

En un nivel superior, el registro de identidades es un conjunto de recursos de identidad de dispositivos o módulos compatible con REST.At a high level, the identity registry is a REST-capable collection of device or module identity resources. Cuando agrega una entrada al registro de identidades, IoT Hub crea un conjunto de recursos por dispositivo, como una cola que contiene mensajes de nube al dispositivo en curso.When you add an entry in the identity registry, IoT Hub creates a set of per-device resources such as the queue that contains in-flight cloud-to-device messages.

Utilice el registro de identidad cuando necesite:Use the identity registry when you need to:

  • Aprovisionar dispositivos o módulos que se conectan a la instancia de IoT HubProvision devices or modules that connect to your IoT hub.
  • Controlar el acceso de cada dispositivo o módulo a los puntos de conexión accesibles desde el dispositivo o módulo del centro.Control per-device/per-module access to your hub's device or module-facing endpoints.

Nota

  • El registro de identidad no contiene metadatos específicos de la aplicación.The identity registry does not contain any application-specific metadata.
  • La identidad de módulo y el módulo gemelo se encuentran en versión preliminar pública.Module identity and module twin is in public preview. La siguiente característica se admitirá en el módulo de identidad cuanto esté disponible con carácter general.Below feature will be supported on module identity when it's general available.

Operaciones de registro de identidadIdentity registry operations

El registro de identidades de IoT Hub muestra las operaciones siguientes:The IoT Hub identity registry exposes the following operations:

  • Crear la identidad de dispositivo o móduloCreate device or module identity
  • Actualizar la identidad del dispositivo o móduloUpdate device or module identity
  • Recuperar la identidad del dispositivo o módulo por identificadorRetrieve device or module identity by ID
  • Eliminar la identidad del dispositivo o móduloDelete device or module identity
  • Enumerar hasta 1.000 identidadesList up to 1000 identities
  • Exportar todas las identidades de dispositivo a Azure Blob StorageExport device identities to Azure blob storage
  • Importar las identidades de dispositivo desde Azure Blob StorageImport device identities from Azure blob storage

Todas estas operaciones pueden usar la simultaneidad optimista, tal como se especifica en RFC7232.All these operations can use optimistic concurrency, as specified in RFC7232.

Importante

La única manera de recuperar todas las identidades en un registro de identidades de un centro de IoT es usar la funcionalidad Exportar.The only way to retrieve all identities in an IoT hub's identity registry is to use the Export functionality.

Un registro de identidades de un centro de IoT:An IoT Hub identity registry:

  • No contiene los metadatos de la aplicación.Does not contain any application metadata.
  • Se puede acceder a él como si fuera un diccionario, mediante deviceId o moduleId como clave.Can be accessed like a dictionary, by using the deviceId or moduleId as the key.
  • No admite consultas expresivas.Does not support expressive queries.

Una solución de IoT normalmente tiene un almacén independiente específico de la solución que contiene los metadatos específicos de la aplicación.An IoT solution typically has a separate solution-specific store that contains application-specific metadata. Por ejemplo, el almacén específico de la solución en una solución de un edificio inteligente puede registrar la sala en la que se implementa un sensor de temperatura.For example, the solution-specific store in a smart building solution would record the room in which a temperature sensor is deployed.

Importante

Solo se debe utilizar el registro de identidad para las operaciones de aprovisionamiento y administración de dispositivos.Only use the identity registry for device management and provisioning operations. Las operaciones de alto rendimiento en tiempo de ejecución no deben depender de la realización de operaciones en el registro de identidad.High throughput operations at run time should not depend on performing operations in the identity registry. Por ejemplo, comprobar el estado de conexión de un dispositivo antes de enviar un comando no es un modelo compatible.For example, checking the connection state of a device before sending a command is not a supported pattern. Asegúrese de comprobar las tasas de limitación para el registro de identidad y el patrón de latido de dispositivo.Make sure to check the throttling rates for the identity registry, and the device heartbeat pattern.

Deshabilitar dispositivosDisable devices

Puede deshabilitar los dispositivos actualizando la propiedad status de una identidad en el registro de identidad.You can disable devices by updating the status property of an identity in the identity registry. Normalmente, esta propiedad se usa en dos escenarios:Typically, you use this property in two scenarios:

  • Durante el proceso de orquestación de aprovisionamiento.During a provisioning orchestration process. Para más información, consulte Aprovisionamiento de dispositivos.For more information, see Device Provisioning.

  • Si por cualquier motivo cree que un dispositivo está en peligro o no está autorizado.If, for any reason, you think a device is compromised or has become unauthorized.

Esta característica no está disponible para los módulos.This feature is not available for modules.

Importar y exportar identidades de dispositivoImport and export device identities

Use operaciones asincrónicas en el punto de conexión del proveedor de recursos de IoT Hub para exportar identidades de dispositivo de forma masiva desde un registro de identidades de una instancia de IoT Hub.Use asynchronous operations on the IoT Hub resource provider endpoint to export device identities in bulk from an IoT hub's identity registry. Las exportaciones son trabajos de ejecución prolongada que usan un contenedor de blobs proporcionado por el cliente para guardar los datos de identidad del dispositivo que se leen en el registro de identidad.Exports are long-running jobs that use a customer-supplied blob container to save device identity data read from the identity registry.

Use operaciones asincrónicas en el punto de conexión del proveedor de recursos de IoT Hub para importar identidades de dispositivo de forma masiva en un registro de identidades de una instancia de IoT Hub.Use asynchronous operations on the IoT Hub resource provider endpoint to import device identities in bulk to an IoT hub's identity registry. Las importaciones son trabajos de ejecución prolongada que usan los datos de un contenedor de blobs proporcionado por el cliente para escribir datos de identidad del dispositivo en el registro de identidad.Imports are long-running jobs that use data in a customer-supplied blob container to write device identity data into the identity registry.

Para más información sobre las API de importación y exportación, consulte API REST del proveedor de recursos de IoT Hub.For more information about the import and export APIs, see IoT Hub resource provider REST APIs. Para más información sobre la ejecución de trabajos de importación y exportación, consulte Administración de identidades de dispositivos de IoT Hub de forma masiva.To learn more about running import and export jobs, see Bulk management of IoT Hub device identities.

Aprovisionamiento de dispositivosDevice provisioning

Los datos del dispositivo que almacena una solución de IoT determinada dependen de los requisitos específicos de la solución.The device data that a given IoT solution stores depends on the specific requirements of that solution. Sin embargo, como mínimo, una solución debe almacenar identidades del dispositivo y claves de autenticación.But, as a minimum, a solution must store device identities and authentication keys. El IoT Hub incluye un registro de identidades que puede almacenar valores para cada dispositivo como identificadores, claves de autenticación y códigos de estado.Azure IoT Hub includes an identity registry that can store values for each device such as IDs, authentication keys, and status codes. Una posible solución consiste en usar otros servicios de Azure como Table Storage, Blob Storage o Cosmos DB para almacenar datos de dispositivos adicionales.A solution can use other Azure services such as table storage, blob storage, or Cosmos DB to store any additional device data.

Aprovisionamiento de dispositivos es el proceso de agregar los datos iniciales del dispositivo a los almacenes de la solución.Device provisioning is the process of adding the initial device data to the stores in your solution. Para habilitar un nuevo dispositivo y que se conecte al centro, debe agregar un nuevo identificador de dispositivo y claves al registro de identidades del centro de IoT.To enable a new device to connect to your hub, you must add a device ID and keys to the IoT Hub identity registry. Como parte del proceso de aprovisionamiento, es posible que tenga que inicializar datos específicos del dispositivo en otros almacenes de la solución.As part of the provisioning process, you might need to initialize device-specific data in other solution stores. También puede usar el servicio Azure IoT Hub Device Provisioning para habilitar el aprovisionamiento Just-In-Time sin intervención del usuario de uno o varios centros de IoT sin necesidad de ninguna intervención humana.You can also use the Azure IoT Hub Device Provisioning Service to enable zero-touch, just-in-time provisioning to one or more IoT hubs without requiring human intervention. Para más información, consulte la documentación del servicio de aprovisionamiento.To learn more, see the provisioning service documentation.

Latido de dispositivoDevice heartbeat

El registro de identidades de IoT Hub contiene un campo llamado connectionState.The IoT Hub identity registry contains a field called connectionState. Utilice únicamente el campo connectionState durante el desarrollo y la depuración.Only use the connectionState field during development and debugging. Las soluciones de IoT no deben consultar el campo en tiempo de ejecución.IoT solutions should not query the field at run time. Por ejemplo, no hay que consultar el campo connectionState para comprobar si el dispositivo está conectado antes de enviar un mensaje de la nube al dispositivo o un SMS.For example, do not query the connectionState field to check if a device is connected before you send a cloud-to-device message or an SMS. Se recomienda suscribirse al evento dispositivo desconectado en Event Grid para obtener alertas y supervisar el estado de conexión del dispositivo.We recommend subscribing to the device disconnected event on Event Grid to get alerts and monitor the device connection state. Siga este tutorial para aprender a integrar eventos de dispositivo conectado y dispositivo desconectado de IoT Hub en la solución de IoT.Use this tutorial to learn how to integrate Device Connected and Device Disconnected events from IoT Hub in your IoT solution.

Si la solución de IoT necesita saber si un dispositivo está conectado, debe implementar el patrón de latido.If your IoT solution needs to know if a device is connected, you can implement the heartbeat pattern. En el patrón de latido, el dispositivo envía mensajes de dispositivo a la nube al menos una vez en un período de tiempo predeterminado (por ejemplo, al menos una vez cada hora).In the heartbeat pattern, the device sends device-to-cloud messages at least once every fixed amount of time (for example, at least once every hour). Por lo tanto, incluso si un dispositivo no tiene ningún dato que enviar, seguirá enviando un mensaje de dispositivo a la nube vacío (normalmente con una propiedad que lo identifica como un latido).Therefore, even if a device does not have any data to send, it still sends an empty device-to-cloud message (usually with a property that identifies it as a heartbeat). En el lado del servicio, la solución mantiene un mapa con el último latido recibido para cada dispositivo.On the service side, the solution maintains a map with the last heartbeat received for each device. Si solución si no recibe del dispositivo un mensaje de latido en el tiempo esperado, da por supuesto que hay un problema con un dispositivo.If the solution does not receive a heartbeat message within the expected time from the device, it assumes that there is a problem with the device.

Una implementación más compleja podría incluir la información de Azure Monitor y Azure Resource Health para identificar los dispositivos que están intentando conectarse o comunicarse sin éxito. Consulte la guía Monitor con diagnósticos.A more complex implementation could include the information from Azure Monitor and Azure Resource Health to identify devices that are trying to connect or communicate but failing, check Monitor with diagnostics guide. Al implementar el patrón de latidos, asegúrese de echar un vistazo a las cuotas y limitaciones de IoT Hub.When you implement the heartbeat pattern, make sure to check IoT Hub Quotas and Throttles.

Nota

Si una solución de IoT utiliza el estado de conexión de los dispositivos únicamente para determinar si enviar mensajes de la nube a los dispositivos y los mensajes no se difunden a grandes conjuntos de dispositivos, considere usar el patrón más sencillo de un tiempo de expiración breve.If an IoT solution uses the connection state solely to determine whether to send cloud-to-device messages, and messages are not broadcast to large sets of devices, consider using the simpler short expiry time pattern. Con este patrón se consigue el mismo resultado que con el mantenimiento de un registro del estado de la conexión de los dispositivos con el patrón de latido, a la vez que resulta más eficiente.This pattern achieves the same result as maintaining a device connection state registry using the heartbeat pattern, while being more efficient. Cuando solicita confirmaciones de mensajes, IoT Hub puede notificarle sobre qué dispositivos pueden recibir mensajes y cuáles no.If you request message acknowledgements, IoT Hub can notify you about which devices are able to receive messages and which are not.

Notificaciones de ciclo de vida de dispositivo y móduloDevice and module lifecycle notifications

IoT Hub puede notificar a la solución de IoT la creación o eliminación de la identidad de un dispositivo mediante el envío de notificaciones de ciclo de vida de dispositivo.IoT Hub can notify your IoT solution when an identity is created or deleted by sending lifecycle notifications. Para ello, la solución de IoT debe crear una ruta y establecer el origen de datos igual a DeviceLifecycleEvents o ModuleLifecycleEvents.To do so, your IoT solution needs to create a route and to set the Data Source equal to DeviceLifecycleEvents or ModuleLifecycleEvents. De forma predeterminada, no se envían notificaciones de ciclo de vida, es decir, no existen previamente tales rutas.By default, no lifecycle notifications are sent, that is, no such routes pre-exist. El mensaje de notificaciones incluye propiedades y el cuerpo.The notification message includes properties, and body.

Propiedades: Las propiedades del sistema de mensajes tienen como prefijo el símbolo $.Properties: Message system properties are prefixed with the $ symbol.

Mensaje de notificación del dispositivo:Notification message for device:

NOMBREName ValorValue
$content-type$content-type application/jsonapplication/json
$iothub-enqueuedtime$iothub-enqueuedtime Hora de envío de la notificaciónTime when the notification was sent
$iothub-message-source$iothub-message-source deviceLifecycleEventsdeviceLifecycleEvents
$content-encoding$content-encoding utf-8utf-8
opTypeopType createDeviceIdentity o deleteDeviceIdentitycreateDeviceIdentity or deleteDeviceIdentity
hubNamehubName Nombre de IoT HubName of IoT Hub
deviceIddeviceId Id. del dispositivoID of the device
operationTimestampoperationTimestamp Marca de tiempo ISO8601 de operaciónISO8601 timestamp of operation
iothub-message-schemaiothub-message-schema deviceLifecycleNotificationdeviceLifecycleNotification

Cuerpo: Esta sección está en formato JSON y representa el dispositivo gemelo de la identidad del dispositivo creada.Body: This section is in JSON format and represents the twin of the created device identity. Por ejemplo,For example,

{
    "deviceId":"11576-ailn-test-0-67333793211",
    "etag":"AAAAAAAAAAE=",
    "properties": {
        "desired": {
            "$metadata": {
                "$lastUpdated": "2016-02-30T16:24:48.789Z"
            },
            "$version": 1
        },
        "reported": {
            "$metadata": {
                "$lastUpdated": "2016-02-30T16:24:48.789Z"
            },
            "$version": 1
        }
    }
}

Mensaje de notificación del módulo:Notification message for module:

NOMBREName ValorValue
$content-type$content-type application/jsonapplication/json
$iothub-enqueuedtime$iothub-enqueuedtime Hora de envío de la notificaciónTime when the notification was sent
$iothub-message-source$iothub-message-source moduleLifecycleEventsmoduleLifecycleEvents
$content-encoding$content-encoding utf-8utf-8
opTypeopType createModuleIdentity o deleteModuleIdentitycreateModuleIdentity or deleteModuleIdentity
hubNamehubName Nombre de IoT HubName of IoT Hub
moduleIdmoduleId Identificador del módulo.ID of the module
operationTimestampoperationTimestamp Marca de tiempo ISO8601 de operaciónISO8601 timestamp of operation
iothub-message-schemaiothub-message-schema moduleLifecycleNotificationmoduleLifecycleNotification

Cuerpo: esta sección está en formato JSON y representa el gemelo de la identidad de módulo creada.Body: This section is in JSON format and represents the twin of the created module identity. Por ejemplo,For example,

{
    "deviceId":"11576-ailn-test-0-67333793211",
    "moduleId":"tempSensor",
    "etag":"AAAAAAAAAAE=",
    "properties": {
        "desired": {
            "$metadata": {
                "$lastUpdated": "2016-02-30T16:24:48.789Z"
            },
            "$version": 1
        },
        "reported": {
            "$metadata": {
                "$lastUpdated": "2016-02-30T16:24:48.789Z"
            },
            "$version": 1
        }
    }
}

Propiedades de identidad del dispositivoDevice identity properties

Las identidades de dispositivos se representan como documentos JSON con las propiedades siguientes:Device identities are represented as JSON documents with the following properties:

PropiedadProperty OpcionesOptions DESCRIPCIÓNDescription
deviceIddeviceId necesarias, de solo lectura en actualizacionesrequired, read-only on updates Una cadena que distingue entre mayúsculas y minúsculas (de hasta 128 caracteres) de caracteres alfanuméricos ASCII de 7 bits más determinados caracteres especiales: - . + % _ # * ? ! ( ) , = @ $ '.A case-sensitive string (up to 128 characters long) of ASCII 7-bit alphanumeric characters plus certain special characters: - . + % _ # * ? ! ( ) , = @ $ '.
generationIdgenerationId requerido, de solo lecturarequired, read-only Una cadena de hasta 128 caracteres que distingue mayúsculas y minúsculas generada por el centro de IoT.An IoT hub-generated, case-sensitive string up to 128 characters long. Este valor se usa para distinguir dispositivos con el mismo deviceId, cuando se han eliminado y vuelto a crear.This value is used to distinguish devices with the same deviceId, when they have been deleted and re-created.
ETagetag requerido, de solo lecturarequired, read-only Una cadena que representa un valor de ETag débil para la identidad del dispositivo, como RFC7232.A string representing a weak ETag for the device identity, as per RFC7232.
authauth opcionaloptional Un objeto compuesto que contiene material de seguridad e información de autenticación.A composite object containing authentication information and security materials.
auth.symkeyauth.symkey opcionaloptional Un objeto compuesto que contiene una clave principal y una secundaria, almacenadas en formato base64.A composite object containing a primary and a secondary key, stored in base64 format.
statusstatus requeridorequired Indicador de accesoAn access indicator. Puede ser Habilitado o Deshabilitado.Can be Enabled or Disabled. Si está Habilitado, el dispositivo se puede conectar.If Enabled, the device is allowed to connect. Si está Dishabilitado, este dispositivo no puede obtener acceso a ningún punto de conexión accesible desde el dispositivo.If Disabled, this device cannot access any device-facing endpoint.
statusReasonstatusReason opcionaloptional Una cadena de 128 caracteres que almacena el motivo del estado de identidad del dispositivo.A 128 character-long string that stores the reason for the device identity status. Se permiten todos los caracteres UTF-8.All UTF-8 characters are allowed.
statusUpdateTimestatusUpdateTime solo lecturaread-only Un indicador temporal, que muestra la fecha y hora de la última actualización de estado.A temporal indicator, showing the date and time of the last status update.
connectionStateconnectionState solo lecturaread-only Un campo que indica el estado de la conexión: Conectado o Desconectado.A field indicating connection status: either Connected or Disconnected. Este campo representa la vista de IoT Hub del estado de conexión del dispositivo.This field represents the IoT Hub view of the device connection status. Importante: Este campo debe usarse solo para fines de desarrollo o depuración.Important: This field should be used only for development/debugging purposes. El estado de conexión se actualiza solo para dispositivos que usen AMQP o MQTT.The connection state is updated only for devices using MQTT or AMQP. Además, se basa en pings de nivel de protocolo (pings MQTT o pings AMQP) y puede tener un retraso de 5 minutos como máximo.Also, it is based on protocol-level pings (MQTT pings, or AMQP pings), and it can have a maximum delay of only 5 minutes. Por estos motivos es posible que haya falsos positivos, como dispositivos que se notifican como conectados pero que están desconectados.For these reasons, there can be false positives, such as devices reported as connected but that are disconnected.
connectionStateUpdatedTimeconnectionStateUpdatedTime solo lecturaread-only Un indicador temporal que muestra la fecha y hora de la última vez que se actualizó el estado de conexión.A temporal indicator, showing the date and last time the connection state was updated.
lastActivityTimelastActivityTime solo lecturaread-only Un indicador temporal que muestra la fecha y hora de la última vez que el dispositivo se conectó, recibió o envió un mensaje.A temporal indicator, showing the date and last time the device connected, received, or sent a message.

Nota

El estado de la conexión solo puede representar la vista del IoT Hub del estado de la conexión.Connection state can only represent the IoT Hub view of the status of the connection. Las actualizaciones de este estado se pueden retrasar, dependiendo de las configuraciones y las condiciones de red.Updates to this state may be delayed, depending on network conditions and configurations.

Nota

Actualmente los SDK del dispositivo no admiten el uso de los caracteres + y # en deviceId.Currently the device SDKs do not support using the + and # characters in the deviceId.

Propiedades de la identidad de móduloModule identity properties

Las identidades de módulos se representan como documentos JSON con las propiedades siguientes:Module identities are represented as JSON documents with the following properties:

PropiedadProperty OpcionesOptions DESCRIPCIÓNDescription
deviceIddeviceId necesarias, de solo lectura en actualizacionesrequired, read-only on updates Una cadena que distingue entre mayúsculas y minúsculas (de hasta 128 caracteres) de caracteres alfanuméricos ASCII de 7 bits más determinados caracteres especiales: - . + % _ # * ? ! ( ) , = @ $ '.A case-sensitive string (up to 128 characters long) of ASCII 7-bit alphanumeric characters plus certain special characters: - . + % _ # * ? ! ( ) , = @ $ '.
moduleIdmoduleId necesarias, de solo lectura en actualizacionesrequired, read-only on updates Una cadena que distingue entre mayúsculas y minúsculas (de hasta 128 caracteres) de caracteres alfanuméricos ASCII de 7 bits más determinados caracteres especiales: - . + % _ # * ? ! ( ) , = @ $ '.A case-sensitive string (up to 128 characters long) of ASCII 7-bit alphanumeric characters plus certain special characters: - . + % _ # * ? ! ( ) , = @ $ '.
generationIdgenerationId requerido, de solo lecturarequired, read-only Una cadena de hasta 128 caracteres que distingue mayúsculas y minúsculas generada por el centro de IoT.An IoT hub-generated, case-sensitive string up to 128 characters long. Este valor se usa para distinguir dispositivos con el mismo deviceId, cuando se han eliminado y vuelto a crear.This value is used to distinguish devices with the same deviceId, when they have been deleted and re-created.
ETagetag requerido, de solo lecturarequired, read-only Una cadena que representa un valor de ETag débil para la identidad del dispositivo, como RFC7232.A string representing a weak ETag for the device identity, as per RFC7232.
authauth opcionaloptional Un objeto compuesto que contiene material de seguridad e información de autenticación.A composite object containing authentication information and security materials.
auth.symkeyauth.symkey opcionaloptional Un objeto compuesto que contiene una clave principal y una secundaria, almacenadas en formato base64.A composite object containing a primary and a secondary key, stored in base64 format.
statusstatus requeridorequired Indicador de accesoAn access indicator. Puede ser Habilitado o Deshabilitado.Can be Enabled or Disabled. Si está Habilitado, el dispositivo se puede conectar.If Enabled, the device is allowed to connect. Si está Dishabilitado, este dispositivo no puede obtener acceso a ningún punto de conexión accesible desde el dispositivo.If Disabled, this device cannot access any device-facing endpoint.
statusReasonstatusReason opcionaloptional Una cadena de 128 caracteres que almacena el motivo del estado de identidad del dispositivo.A 128 character-long string that stores the reason for the device identity status. Se permiten todos los caracteres UTF-8.All UTF-8 characters are allowed.
statusUpdateTimestatusUpdateTime solo lecturaread-only Un indicador temporal, que muestra la fecha y hora de la última actualización de estado.A temporal indicator, showing the date and time of the last status update.
connectionStateconnectionState solo lecturaread-only Un campo que indica el estado de la conexión: Conectado o Desconectado.A field indicating connection status: either Connected or Disconnected. Este campo representa la vista de IoT Hub del estado de conexión del dispositivo.This field represents the IoT Hub view of the device connection status. Importante: Este campo debe usarse solo para fines de desarrollo o depuración.Important: This field should be used only for development/debugging purposes. El estado de conexión se actualiza solo para dispositivos que usen AMQP o MQTT.The connection state is updated only for devices using MQTT or AMQP. Además, se basa en pings de nivel de protocolo (pings MQTT o pings AMQP) y puede tener un retraso de 5 minutos como máximo.Also, it is based on protocol-level pings (MQTT pings, or AMQP pings), and it can have a maximum delay of only 5 minutes. Por estos motivos es posible que haya falsos positivos, como dispositivos que se notifican como conectados pero que están desconectados.For these reasons, there can be false positives, such as devices reported as connected but that are disconnected.
connectionStateUpdatedTimeconnectionStateUpdatedTime solo lecturaread-only Un indicador temporal que muestra la fecha y hora de la última vez que se actualizó el estado de conexión.A temporal indicator, showing the date and last time the connection state was updated.
lastActivityTimelastActivityTime solo lecturaread-only Un indicador temporal que muestra la fecha y hora de la última vez que el dispositivo se conectó, recibió o envió un mensaje.A temporal indicator, showing the date and last time the device connected, received, or sent a message.

Nota

Actualmente los SDK del dispositivo no admiten el uso de los caracteres + y # en deviceId y moduleId.Currently the device SDKs do not support using the + and # characters in the deviceId and moduleId.

Material de referencia adicionalAdditional reference material

Otros temas de referencia en la guía del desarrollador de IoT Hub son los siguientes:Other reference topics in the IoT Hub developer guide include:

  • En Puntos de conexión de IoT Hub se describen los diferentes puntos de conexión que expone cada centro de IoT Hub para las operaciones en tiempo de ejecución y de administración.IoT Hub endpoints describes the various endpoints that each IoT hub exposes for run-time and management operations.

  • En Cuotas y limitación se describen las cuotas y el comportamiento de limitación que se aplican al servicio IoT Hub.Throttling and quotas describes the quotas and throttling behaviors that apply to the IoT Hub service.

  • En SDK de dispositivo y servicio IoT de Azure se muestran los diversos SDK de lenguaje que puede usar para desarrollar aplicaciones para dispositivo y de servicio que interactúen con IoT Hub.Azure IoT device and service SDKs lists the various language SDKs you can use when you develop both device and service apps that interact with IoT Hub.

  • En Lenguaje de consulta de IoT Hub se describe el lenguaje de consulta que se puede usar para recuperar información de IoT Hub sobre los trabajos y dispositivos gemelos.IoT Hub query language describes the query language you can use to retrieve information from IoT Hub about your device twins and jobs.

  • En Compatibilidad con MQTT de IoT Hub se proporciona más información sobre la compatibilidad de IoT Hub con el protocolo MQTT.IoT Hub MQTT support provides more information about IoT Hub support for the MQTT protocol.

Pasos siguientesNext steps

Ahora que ha aprendido a usar el registro de identidad de IoT Hub, pueden interesarle los siguientes temas de la Guía para desarrolladores de IoT Hub:Now that you have learned how to use the IoT Hub identity registry, you may be interested in the following IoT Hub developer guide topics:

Para probar algunos de los conceptos descritos en este artículo, vea el siguiente tutorial de IoT Hub:To try out some of the concepts described in this article, see the following IoT Hub tutorial:

Para explorar el uso del servicio IoT Hub Device Provisioning para habilitar el aprovisionamiento Just-In-Time sin intervención del usuario, vea:To explore using the IoT Hub Device Provisioning Service to enable zero-touch, just-in-time provisioning, see: