Partager via


Bulk Registry - Update Registry

Crée, met à jour ou supprime les identités de plusieurs appareils du registre d’identités IoT Hub. Une identité d’appareil ne peut être spécifiée qu’une seule fois dans la liste. Différentes opérations (créer, mettre à jour, supprimer) sur différents appareils sont autorisées. Un maximum de 100 appareils peut être spécifié par appel. Pour les opérations à grande échelle, utilisez la fonctionnalité d’importation à l’aide du stockage d’objets blob (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

Paramètres URI

Nom Dans Obligatoire Type Description
api-version
query True

string

Version de l’API.

Corps de la demande

Nom Type Description
devices

ExportImportDevice[]

Opérations de Registre à effectuer.

Réponses

Nom Type Description
200 OK

BulkRegistryOperationResult

D’ACCORD.

400 Bad Request

BulkRegistryOperationResult

Demande incorrecte.

Définitions

Nom Description
AuthenticationMechanism
BulkRegistryOperationResult

Résultat de l’opération de registre en bloc.

DeviceCapabilities

État des fonctionnalités activées sur l’appareil.

DeviceRegistryOperationError

Détails de l’erreur d’opération de Registre d’appareils.

DeviceRegistryOperationWarning

Détails de l’avertissement de l’opération de Registre d’appareils.

ExportImportDevice
PropertyContainer

Propriétés souhaitées et signalées du jumeau. La profondeur maximale de l’objet est de 10.

SymmetricKey
X509Thumbprint

AuthenticationMechanism

Nom Type Description
symmetricKey

SymmetricKey

Clés primaires et secondaires utilisées pour l’authentification basée sur SAP.

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

Type d’authentification utilisé pour se connecter au service.

x509Thumbprint

X509Thumbprint

Empreintes principales et secondaires x509 utilisées pour l’authentification basée sur x509.

BulkRegistryOperationResult

Résultat de l’opération de registre en bloc.

Nom Type Description
errors

DeviceRegistryOperationError[]

Erreurs d’opération de Registre d’appareils.

isSuccessful

boolean

Résultat de l’opération.

warnings

DeviceRegistryOperationWarning[]

Avertissements de l’opération de Registre d’appareils.

DeviceCapabilities

État des fonctionnalités activées sur l’appareil.

Nom Type Description
iotEdge

boolean

Propriété qui détermine si l’appareil est un appareil de périphérie ou non.

DeviceRegistryOperationError

Détails de l’erreur d’opération de Registre d’appareils.

Nom Type Description
deviceId

string

Identificateur unique de l’appareil.

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

Code d’erreur.

errorStatus

string

Détails de l’erreur.

moduleId

string

Identificateur unique du module, le cas échéant.

operation

string

Type de l’opération ayant échoué.

DeviceRegistryOperationWarning

Détails de l’avertissement de l’opération de Registre d’appareils.

Nom Type Description
deviceId

string

Identificateur unique de l’appareil.

warningCode enum:

DeviceRegisteredWithoutTwin

Code d’avertissement.

warningStatus

string

Détails de l’avertissement.

ExportImportDevice

Nom Type Description
authentication

AuthenticationMechanism

Mécanisme d’authentification utilisé par le module. Ce paramètre est facultatif et est défini par défaut sur SAS s’il n’est pas fourni. Dans ce cas, les clés d’accès primaire/secondaire sont générées automatiquement.

capabilities

DeviceCapabilities

État des fonctionnalités activées sur l’appareil.

deviceScope

string

Portée de l’appareil.

eTag

string

Chaîne représentant un ETag faible pour l’appareil RFC7232. La valeur est utilisée uniquement si le mode d’importation est updateIfMatchETag, dans ce cas, l’opération d’importation n’est effectuée que si cet ETag correspond à la valeur conservée par le serveur.

id

string

Identificateur unique de l’appareil.

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

Type d’opération de Registre et préférences ETag.

moduleId

string

Identificateur unique du module, le cas échéant.

parentScopes

string[]

Étendues des périphériques de niveau supérieur, le cas échéant. Disponible uniquement pour les appareils de périphérie.

properties

PropertyContainer

Propriétés souhaitées et signalées pour l’appareil.

status enum:
  • disabled
  • enabled

État du module. Si cette option est désactivée, le module ne peut pas se connecter au service.

statusReason

string

Chaîne longue de 128 caractères qui stocke la raison de l’état de l’identité de l’appareil. Tous les caractères UTF-8 sont autorisés.

tags

object

Le document JSON lit et écrit par le back-end de la solution. Les balises ne sont pas visibles pour les applications d’appareil.

twinETag

string

Chaîne représentant un ETag faible pour le jumeau d’appareil RFC7232. La valeur est utilisée uniquement si le mode d’importation est updateIfMatchETag, dans ce cas, l’opération d’importation n’est effectuée que si cet ETag correspond à la valeur conservée par le serveur.

PropertyContainer

Propriétés souhaitées et signalées du jumeau. La profondeur maximale de l’objet est de 10.

Nom Type Description
desired

object

Collection de paires clé-valeur de propriété souhaitées. Les clés sont codées en UTF-8, respectant la casse et up-to longueur de 1 Ko. Les caractères autorisés excluent les caractères de contrôle UNICODE (segments C0 et C1), « . », « $ » et espace. Les valeurs porperty souhaitées sont des objets JSON, up-to longueur de 4 Ko.

reported

object

Collection de paires clé-valeur de propriété signalées. Les clés sont codées en UTF-8, respectant la casse et up-to longueur de 1 Ko. Les caractères autorisés excluent les caractères de contrôle UNICODE (segments C0 et C1), « . », « $ » et espace. Les valeurs de propriété signalées sont des objets JSON, up-to longueur de 4 Ko.

SymmetricKey

Nom Type Description
primaryKey

string

Clé primaire encodée en base64 de l’appareil.

secondaryKey

string

Clé secondaire encodée en base64 de l’appareil.

X509Thumbprint

Nom Type Description
primaryThumbprint

string

Empreinte numérique principale du certificat client X509.

secondaryThumbprint

string

Empreinte numérique secondaire du certificat client X509.