Delen via


Bulk Registry - Update Registry

Hiermee worden de identiteiten van meerdere apparaten gemaakt, bijgewerkt of verwijderd uit het IoT Hub-identiteitsregister. Een apparaat-id kan slechts eenmaal in de lijst worden opgegeven. Verschillende bewerkingen (maken, bijwerken, verwijderen) op verschillende apparaten zijn toegestaan. Per aanroep kunnen maximaal 100 apparaten worden opgegeven. Gebruik voor grootschalige bewerkingen de importfunctie met blobopslag (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

URI-parameters

Name In Vereist Type Description
api-version
query True

string

Versie van de API.

Aanvraagbody

Name Type Description
devices

ExportImportDevice[]

De uit te voeren registerbewerkingen.

Antwoorden

Name Type Description
200 OK

BulkRegistryOperationResult

OK.

400 Bad Request

BulkRegistryOperationResult

Ongeldige aanvraag.

Definities

Name Description
AuthenticationMechanism
BulkRegistryOperationResult

Het resultaat van de bulkregisterbewerking.

DeviceCapabilities

De status van de mogelijkheden die zijn ingeschakeld op het apparaat.

DeviceRegistryOperationError

De foutdetails van de registerbewerking van het apparaat.

DeviceRegistryOperationWarning

De waarschuwingsdetails van de apparaatregisterbewerking.

ExportImportDevice
PropertyContainer

De gewenste en gerapporteerde eigenschappen van de dubbel. De maximale diepte van het object is 10.

SymmetricKey
X509Thumbprint

AuthenticationMechanism

Name Type Description
symmetricKey

SymmetricKey

De primaire en secundaire sleutels die worden gebruikt voor verificatie op basis van SAS.

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

Het type verificatie dat wordt gebruikt om verbinding te maken met de service.

x509Thumbprint

X509Thumbprint

De primaire en secundaire x509-vingerafdrukken die worden gebruikt voor verificatie op basis van x509.

BulkRegistryOperationResult

Het resultaat van de bulkregisterbewerking.

Name Type Description
errors

DeviceRegistryOperationError[]

De fouten bij de bewerking van het apparaatregister.

isSuccessful

boolean

Het resultaat van de bewerking.

warnings

DeviceRegistryOperationWarning[]

De waarschuwingen voor de registerbewerking van het apparaat.

DeviceCapabilities

De status van de mogelijkheden die zijn ingeschakeld op het apparaat.

Name Type Description
iotEdge

boolean

De eigenschap die bepaalt of het apparaat een edge-apparaat is of niet.

DeviceRegistryOperationError

De foutdetails van de registerbewerking van het apparaat.

Name Type Description
deviceId

string

De unieke id van het apparaat.

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

De foutcode.

errorStatus

string

De details van de fout.

moduleId

string

De unieke id van de module, indien van toepassing.

operation

string

Het type bewerking dat is mislukt.

DeviceRegistryOperationWarning

De waarschuwingsdetails van de apparaatregisterbewerking.

Name Type Description
deviceId

string

De unieke id van het apparaat.

warningCode enum:

DeviceRegisteredWithoutTwin

De waarschuwingscode.

warningStatus

string

De details van de waarschuwing.

ExportImportDevice

Name Type Description
authentication

AuthenticationMechanism

Het verificatiemechanisme dat door de module wordt gebruikt. Deze parameter is optioneel en standaard ingesteld op SAS als deze niet is opgegeven. In dat geval worden primaire/secundaire toegangssleutels automatisch gegenereerd.

capabilities

DeviceCapabilities

De status van de mogelijkheden die zijn ingeschakeld op het apparaat.

deviceScope

string

Het bereik van het apparaat.

eTag

string

De tekenreeks die een zwakke ETag voor het apparaat vertegenwoordigt, RFC7232. De waarde wordt alleen gebruikt als de importmodus updateIfMatchETag is. In dat geval wordt de importbewerking alleen uitgevoerd als deze ETag overeenkomt met de waarde die door de server wordt onderhouden.

id

string

De unieke id van het apparaat.

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

Het type registerbewerking en ETag-voorkeuren.

moduleId

string

De unieke id van de module, indien van toepassing.

parentScopes

string[]

De bereiken van de randapparaten op het hoogste niveau, indien van toepassing. Alleen beschikbaar voor edge-apparaten.

properties

PropertyContainer

De gewenste en gerapporteerde eigenschappen voor het apparaat.

status enum:
  • disabled
  • enabled

De status van de module. Als deze optie is uitgeschakeld, kan de module geen verbinding maken met de service.

statusReason

string

De tekenreeks van 128 tekens lang waarin de reden voor de status van de apparaatidentiteit wordt opgeslagen. Alle UTF-8-tekens zijn toegestaan.

tags

object

Het JSON-document dat wordt gelezen en geschreven door de back-end van de oplossing. De tags zijn niet zichtbaar voor apparaat-apps.

twinETag

string

De tekenreeks die een zwakke ETag voor de apparaatdubbel vertegenwoordigt, RFC7232. De waarde wordt alleen gebruikt als de importmodus updateIfMatchETag is. In dat geval wordt de importbewerking alleen uitgevoerd als deze ETag overeenkomt met de waarde die door de server wordt onderhouden.

PropertyContainer

De gewenste en gerapporteerde eigenschappen van de dubbel. De maximale diepte van het object is 10.

Name Type Description
desired

object

De verzameling van gewenste eigenschapssleutel-waardeparen. De sleutels zijn met UTF-8 gecodeerd, hoofdlettergevoelig en maximaal 1 kB lang. Toegestane tekens zijn geen UNICODE-besturingstekens (segmenten C0 en C1), '.', '$' en spatie. De gewenste porperty-waarden zijn JSON-objecten met een lengte van maximaal 4 kB.

reported

object

De verzameling gerapporteerde eigenschapssleutel-waardeparen. De sleutels zijn met UTF-8 gecodeerd, hoofdlettergevoelig en maximaal 1 kB lang. Toegestane tekens zijn geen UNICODE-besturingstekens (segmenten C0 en C1), '.', '$' en spatie. De gerapporteerde eigenschapswaarden zijn JSON-objecten met een lengte van maximaal 4 kB.

SymmetricKey

Name Type Description
primaryKey

string

De met base64 gecodeerde primaire sleutel van het apparaat.

secondaryKey

string

De met base64 gecodeerde secundaire sleutel van het apparaat.

X509Thumbprint

Name Type Description
primaryThumbprint

string

De primaire vingerafdruk van het X509-clientcertificaat.

secondaryThumbprint

string

De secundaire vingerafdruk van het X509-clientcertificaat.