Bulk Registry - Update Registry

Crea, actualiza o elimina las identidades de varios dispositivos del registro de identidad de IoT Hub. Una identidad de dispositivo solo se puede especificar una vez en la lista. Se permiten diferentes operaciones (crear, actualizar, eliminar) en distintos dispositivos. Se puede especificar un máximo de 100 dispositivos por invocación. Para las operaciones a gran escala, use la característica de importación mediante Blob Storage (https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities).

POST https://fully-qualified-iothubname.azure-devices.net/devices?api-version=2021-04-12

Parámetros de identificador URI

Nombre En Requerido Tipo Description
api-version
query True

string

Versión de la API.

Cuerpo de la solicitud

Nombre Tipo Description
devices

ExportImportDevice[]

Operaciones del Registro que se van a realizar.

Respuestas

Nombre Tipo Description
200 OK

BulkRegistryOperationResult

Aceptar.

400 Bad Request

BulkRegistryOperationResult

Solicitud incorrecta.

Definiciones

Nombre Description
AuthenticationMechanism
BulkRegistryOperationResult

Resultado de la operación masiva del registro.

DeviceCapabilities

Estado de las funcionalidades habilitadas en el dispositivo.

DeviceRegistryOperationError

Detalles del error de la operación del registro del dispositivo.

DeviceRegistryOperationWarning

Detalles de advertencia de la operación del registro del dispositivo.

ExportImportDevice
PropertyContainer

Las propiedades deseadas y notificadas del gemelo. La profundidad máxima del objeto es 10.

SymmetricKey
X509Thumbprint

AuthenticationMechanism

Nombre Tipo Description
symmetricKey

SymmetricKey

Claves principales y secundarias usadas para la autenticación basada en SAS.

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

Tipo de autenticación que se usa para conectarse al servicio.

x509Thumbprint

X509Thumbprint

Las huellas digitales x509 principales y secundarias usadas para la autenticación basada en x509.

BulkRegistryOperationResult

Resultado de la operación masiva del registro.

Nombre Tipo Description
errors

DeviceRegistryOperationError[]

Errores de operación del registro del dispositivo.

isSuccessful

boolean

El resultado de la operación.

warnings

DeviceRegistryOperationWarning[]

Advertencias de la operación del registro del dispositivo.

DeviceCapabilities

Estado de las funcionalidades habilitadas en el dispositivo.

Nombre Tipo Description
iotEdge

boolean

Propiedad que determina si el dispositivo es un dispositivo perimetral o no.

DeviceRegistryOperationError

Detalles del error de la operación del registro del dispositivo.

Nombre Tipo Description
deviceId

string

Identificador único del dispositivo.

errorCode enum:
  • AmqpAddressNotFound
  • ApplyConfigurationAlreadyInProgressOnDevice
  • ArgumentInvalid
  • ArgumentNull
  • AsyncOperationNotFound
  • AzureStorageTimeout
  • AzureTableStoreError
  • AzureTableStoreNotFound
  • BackupTimedOut
  • BlobContainerValidationError
  • BulkAddDevicesNotSupported
  • BulkRegistryOperationFailure
  • CallbackSubscriptionConflict
  • CannotModifyImmutableConfigurationContent
  • CannotRegisterModuleToModule
  • CertificateAuthorityConflict
  • CertificateAuthorityNotFound
  • CertificateNotFound
  • CheckpointStoreNotFound
  • ClientClosedRequest
  • ConfigReadFailed
  • ConfigurationAlreadyExists
  • ConfigurationCountLimitExceeded
  • ConfigurationNotAvailable
  • ConfigurationNotFound
  • ConnectionForcefullyClosed
  • ConnectionForcefullyClosedOnFaultInjection
  • ConnectionForcefullyClosedOnNewConnection
  • ConnectionRejectedOnFaultInjection
  • ConnectionUnavailable
  • CustomAllocationFailed
  • CustomAllocationIotHubNotSpecified
  • CustomAllocationUnauthorizedAccess
  • DefaultStorageEndpointNotConfigured
  • DeserializationError
  • DeviceAlreadyExists
  • DeviceConnectionClosedRemotely
  • DeviceDefinedMultipleTimes
  • DeviceDisabled
  • DeviceGroupConflict
  • DeviceGroupNotFound
  • DeviceInvalidResultCount
  • DeviceJobAlreadyExists
  • DeviceLocked
  • DeviceMaximumActiveFileUploadLimitExceeded
  • DeviceMaximumQueueDepthExceeded
  • DeviceMaximumQueueSizeExceeded
  • DeviceMessageLockLost
  • DeviceModelMaxIndexablePropertiesExceeded
  • DeviceModelMaxPropertiesExceeded
  • DeviceNotFound
  • DeviceNotOnline
  • DeviceRecordConflict
  • DeviceRecordNotFound
  • DeviceRegistrationNotFound
  • DeviceStorageEntitySerializationError
  • DeviceThrottlingLimitExceeded
  • DeviceUnavailable
  • DigitalTwinInterfaceNotFound
  • DigitalTwinModelAlreadyExists
  • DigitalTwinModelCountLimitExceeded
  • DigitalTwinModelExistsWithOtherModelType
  • DigitalTwinModelNotFound
  • DocumentDbInvalidReturnValue
  • ElasticPoolNotFound
  • ElasticPoolTenantHubNotFound
  • EnrollmentConflict
  • EnrollmentGroupConflict
  • EnrollmentGroupNotFound
  • EnrollmentNotFound
  • EtagDoesNotMatch
  • EventHubLinkAlreadyClosed
  • ExpiredFileUploadCorrelationId
  • FeatureNotSupported
  • GatewayTimeout
  • GenericBadGateway
  • GenericBadRequest
  • GenericConflict
  • GenericForbidden
  • GenericGatewayTimeout
  • GenericMethodNotAllowed
  • GenericNotFound
  • GenericPreconditionFailed
  • GenericRequestEntityTooLarge
  • GenericServerError
  • GenericServiceUnavailable
  • GenericTimeout
  • GenericTooManyRequests
  • GenericUnauthorized
  • GenericUnsupportedMediaType
  • GroupNotAvailable
  • GroupNotFound
  • GroupRecordConflict
  • GroupRecordNotFound
  • HostingServiceNotAvailable
  • ImportDevicesNotSupported
  • ImportWarningExistsError
  • IncompatibleDataType
  • InflightMessagesInLink
  • InterfaceNameCompressionModelCountLimitExceeded
  • InterfaceNameModelAlreadyExists
  • InterfaceNameModelNotFound
  • InvalidBlobState
  • InvalidConfigurationContent
  • InvalidConfigurationCustomMetricsQuery
  • InvalidConfigurationTargetCondition
  • InvalidContainerReceiveLink
  • InvalidContentEncodingOrType
  • InvalidDeviceScope
  • InvalidDigitalTwinJsonPatch
  • InvalidDigitalTwinPatch
  • InvalidDigitalTwinPatchPath
  • InvalidDigitalTwinPayload
  • InvalidEndorsementKey
  • InvalidEndpointAuthenticationType
  • InvalidEnrollmentGroupId
  • InvalidErrorCode
  • InvalidFileUploadCompletionStatus
  • InvalidFileUploadCorrelationId
  • InvalidMessageExpiryTime
  • InvalidMessagingEndpoint
  • InvalidOperation
  • InvalidPartitionEpoch
  • InvalidPnPDesiredProperties
  • InvalidPnPInterfaceDefinition
  • InvalidPnPReportedProperties
  • InvalidPnPWritableReportedProperties
  • InvalidProtocolVersion
  • InvalidRegistrationId
  • InvalidResponseWhileProxying
  • InvalidRouteTestInput
  • InvalidSchemaVersion
  • InvalidSourceOnRoute
  • InvalidStorageEndpoint
  • InvalidStorageEndpointOrBlob
  • InvalidStorageEndpointProperty
  • InvalidStorageRootKey
  • InvalidThrottleParameter
  • IotDpsSuspended
  • IotDpsSuspending
  • IotHubActivationFailed
  • IotHubFailingOver
  • IotHubFormatError
  • IotHubMaxCbsTokenExceeded
  • IotHubNotFound
  • IotHubQuotaExceeded
  • IotHubRestoring
  • IotHubSuspended
  • IotHubUnauthorized
  • IotHubUnauthorizedAccess
  • JobAlreadyExists
  • JobCancelled
  • JobNotFound
  • JobQuotaExceeded
  • JobRunPreconditionFailed
  • KeyEncryptionKeyRevoked
  • LinkCreationConflict
  • LinkedHubConflict
  • LinkedHubNotFound
  • ManagedIdentityNotEnabled
  • MessageTooLarge
  • ModelAlreadyExists
  • ModelRepoEndpointError
  • ModuleAlreadyExistsOnDevice
  • ModuleNotFound
  • NullMessage
  • OperationNotAllowedInCurrentState
  • OperationNotAvailableInCurrentTier
  • OrchestrationOperationFailed
  • OrphanDiscoveryDocument
  • PartitionNotFound
  • PreconditionFailed
  • ProvisioningRecordConflict
  • ProvisioningRecordNotFound
  • ProvisioningSettingsConflict
  • ProvisioningSettingsNotFound
  • QueryStoreClusterNotFound
  • QuotaMetricNotFound
  • ReceiveLinkOpensThrottled
  • RegistrationIdDefinedMultipleTimes
  • RegistrationStatusConflict
  • ReliableBlobStoreError
  • ReliableBlobStoreTimeoutError
  • ReliableDocDbStoreStoreError
  • RequestCanceled
  • RequestTimedOut
  • ResolutionError
  • RestoreTimedOut
  • RetryAttemptsExhausted
  • RoutingEndpointResponseForbidden
  • RoutingEndpointResponseNotFound
  • RoutingNotEnabled
  • SerializationError
  • ServerBusy
  • ServerError
  • ServiceUnavailable
  • StatisticsRetrievalError
  • StreamReservationFailure
  • SystemModuleModifyUnauthorizedAccess
  • SystemPropertyNotFound
  • TenantHubRoutingNotEnabled
  • ThrottleBacklogLimitExceeded
  • ThrottlingBacklogTimeout
  • ThrottlingException
  • ThrottlingMaxActiveJobCountExceeded
  • TooManyDevices
  • TooManyEnrollments
  • TooManyModulesOnDevice
  • UnableToCompressComponentInfo
  • UnableToCompressDiscoveryInfo
  • UnableToExpandComponentInfo
  • UnableToExpandDiscoveryInfo
  • UnableToFetchCredentials
  • UnableToFetchTenantInfo
  • UnableToShareIdentity
  • UnexpectedPropertyValue
  • UnsupportedOperationOnReplica

Código de error.

errorStatus

string

Detalles del error.

moduleId

string

Identificador único del módulo, si procede.

operation

string

Tipo de la operación que produjo un error.

DeviceRegistryOperationWarning

Detalles de advertencia de la operación del registro del dispositivo.

Nombre Tipo Description
deviceId

string

Identificador único del dispositivo.

warningCode enum:

DeviceRegisteredWithoutTwin

Código de advertencia.

warningStatus

string

Detalles de la advertencia.

ExportImportDevice

Nombre Tipo Description
authentication

AuthenticationMechanism

Mecanismo de autenticación utilizado por el módulo. Este parámetro es opcional y el valor predeterminado es SAS si no se proporciona. En ese caso, las claves de acceso principal/secundaria se generan automáticamente.

capabilities

DeviceCapabilities

Estado de las funcionalidades habilitadas en el dispositivo.

deviceScope

string

El ámbito del dispositivo.

eTag

string

Cadena que representa una ETag débil para el dispositivo RFC7232. El valor solo se usa si el modo de importación es updateIfMatchETag, en ese caso, la operación de importación solo se realiza si esta ETag coincide con el valor mantenido por el servidor.

id

string

Identificador único del dispositivo.

importMode enum:
  • create
  • delete
  • deleteIfMatchETag
  • update
  • updateIfMatchETag
  • updateTwin
  • updateTwinIfMatchETag

El tipo de operación del Registro y las preferencias de ETag.

moduleId

string

Identificador único del módulo, si procede.

parentScopes

string[]

Los ámbitos de los dispositivos perimetrales de nivel superior, si procede. Solo está disponible para dispositivos perimetrales.

properties

PropertyContainer

Propiedades deseadas y notificadas para el dispositivo.

status enum:
  • disabled
  • enabled

Estado del módulo. Si está deshabilitado, el módulo no se puede conectar al servicio.

statusReason

string

Cadena de 128 caracteres de longitud que almacena el motivo del estado de identidad del dispositivo. Se permiten todos los caracteres UTF-8.

tags

object

El documento JSON leído y escrito por el back-end de la solución. Las etiquetas no son visibles para las aplicaciones de dispositivo.

twinETag

string

Cadena que representa una ETag débil para el dispositivo gemelo RFC7232. El valor solo se usa si el modo de importación es updateIfMatchETag, en ese caso, la operación de importación solo se realiza si esta ETag coincide con el valor mantenido por el servidor.

PropertyContainer

Las propiedades deseadas y notificadas del gemelo. La profundidad máxima del objeto es 10.

Nombre Tipo Description
desired

object

Colección de pares clave-valor de propiedad deseada. Las claves tienen codificación UTF-8, distingue mayúsculas de minúsculas y tienen una longitud de hasta 1 KB. Los caracteres permitidos excluyen caracteres de control UNICODE (segmentos C0 y C1), ".", "$" y espacio. Los valores de porperty deseados son objetos JSON, de hasta 4 KB de longitud.

reported

object

Colección de pares clave-valor de propiedad notificada. Las claves tienen codificación UTF-8, distingue mayúsculas de minúsculas y tienen una longitud de hasta 1 KB. Los caracteres permitidos excluyen caracteres de control UNICODE (segmentos C0 y C1), ".", "$" y espacio. Los valores de propiedad notificados son objetos JSON, de hasta 4 KB de longitud.

SymmetricKey

Nombre Tipo Description
primaryKey

string

Clave principal codificada en base64 del dispositivo.

secondaryKey

string

Clave secundaria codificada en base64 del dispositivo.

X509Thumbprint

Nombre Tipo Description
primaryThumbprint

string

Huella digital principal del certificado de cliente X509.

secondaryThumbprint

string

Huella digital secundaria del certificado de cliente X509.