Bulk Registry - Update Registry

Erstellt, aktualisiert oder löscht die Identitäten mehrerer Geräte aus der IoT Hub Identitätsregistrierung. Eine Geräteidentität kann nur einmal in der Liste angegeben werden. Verschiedene Vorgänge (Erstellen, Aktualisieren, Löschen) auf verschiedenen Geräten sind zulässig. Pro Aufruf können maximal 100 Geräte angegeben werden. Verwenden Sie für umfangreiche Vorgänge das Importfeature mithilfe von 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

URI-Parameter

Name In Erforderlich Typ Beschreibung
api-version
query True

string

Version der API.

Anforderungstext

Name Typ Beschreibung
devices

ExportImportDevice[]

Die auszuführenden Registrierungsvorgänge.

Antworten

Name Typ Beschreibung
200 OK

BulkRegistryOperationResult

OK.

400 Bad Request

BulkRegistryOperationResult

Ungültige Anforderung;

Definitionen

Name Beschreibung
AuthenticationMechanism
BulkRegistryOperationResult

Das Ergebnis des Massenregistrierungsvorgangs.

DeviceCapabilities

Die status von Funktionen, die auf dem Gerät aktiviert sind.

DeviceRegistryOperationError

Fehlerdetails des Geräteregistrierungsvorgangs.

DeviceRegistryOperationWarning

Details zur Warnung des Geräteregistrierungsvorgangs.

ExportImportDevice
PropertyContainer

Die gewünschten und gemeldeten Eigenschaften des Zwillings. Die maximale Tiefe des Objekts beträgt 10.

SymmetricKey
X509Thumbprint

AuthenticationMechanism

Name Typ Beschreibung
symmetricKey

SymmetricKey

Der primäre und sekundäre Schlüssel, der für die SAS-basierte Authentifizierung verwendet wird.

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

Der Authentifizierungstyp, der zum Herstellen einer Verbindung mit dem Dienst verwendet wird.

x509Thumbprint

X509Thumbprint

Die primären und sekundären x509-Fingerabdruck, die für die x509-basierte Authentifizierung verwendet werden.

BulkRegistryOperationResult

Das Ergebnis des Massenregistrierungsvorgangs.

Name Typ Beschreibung
errors

DeviceRegistryOperationError[]

Fehler beim Vorgang der Geräteregistrierung.

isSuccessful

boolean

Das Vorgangsergebnis.

warnings

DeviceRegistryOperationWarning[]

Warnungen des Geräteregistrierungsvorgangs.

DeviceCapabilities

Die status von Funktionen, die auf dem Gerät aktiviert sind.

Name Typ Beschreibung
iotEdge

boolean

Die -Eigenschaft, die bestimmt, ob das Gerät ein Edgegerät ist oder nicht.

DeviceRegistryOperationError

Fehlerdetails des Geräteregistrierungsvorgangs.

Name Typ Beschreibung
deviceId

string

Der eindeutige Bezeichner des Geräts.

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

Der Fehlercode.

errorStatus

string

Die Details des Fehlers.

moduleId

string

Der eindeutige Bezeichner des Moduls, falls zutreffend.

operation

string

Der Typ des fehlgeschlagenen Vorgangs.

DeviceRegistryOperationWarning

Details zur Warnung des Geräteregistrierungsvorgangs.

Name Typ Beschreibung
deviceId

string

Der eindeutige Bezeichner des Geräts.

warningCode enum:

DeviceRegisteredWithoutTwin

Der Warncode.

warningStatus

string

Die Details der Warnung.

ExportImportDevice

Name Typ Beschreibung
authentication

AuthenticationMechanism

Der vom Modul verwendete Authentifizierungsmechanismus. Dieser Parameter ist optional und wird standardmäßig auf SAS festgelegt, wenn er nicht bereitgestellt wird. In diesem Fall werden primäre/sekundäre Zugriffsschlüssel automatisch generiert.

capabilities

DeviceCapabilities

Die status von Funktionen, die auf dem Gerät aktiviert sind.

deviceScope

string

Der Bereich des Geräts.

eTag

string

Die Zeichenfolge, die ein schwaches ETag für das Gerät RFC7232. Der Wert wird nur verwendet, wenn der Importmodus updateIfMatchETag ist. In diesem Fall wird der Importvorgang nur ausgeführt, wenn dieses ETag mit dem vom Server verwalteten Wert übereinstimmt.

id

string

Der eindeutige Bezeichner des Geräts.

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

Der Typ des Registrierungsvorgangs und ETag-Einstellungen.

moduleId

string

Der eindeutige Bezeichner des Moduls, falls zutreffend.

parentScopes

string[]

Die Bereiche der Edgegeräte der oberen Ebene, falls zutreffend. Nur für Edgegeräte verfügbar.

properties

PropertyContainer

Die gewünschten und gemeldeten Eigenschaften für das Gerät.

status enum:
  • disabled
  • enabled

Die status des Moduls. Wenn es deaktiviert ist, kann das Modul keine Verbindung mit dem Dienst herstellen.

statusReason

string

Die 128 Zeichen lange Zeichenfolge, die den Grund für die Geräteidentität status speichert. Alle UTF-8-Zeichen sind zulässig.

tags

object

Das vom Lösungs-Back-End gelesene und geschriebene JSON-Dokument. Die Tags sind für Geräte-Apps nicht sichtbar.

twinETag

string

Die Zeichenfolge, die ein schwaches ETag für den Gerätezwilligen RFC7232 darstellt. Der Wert wird nur verwendet, wenn der Importmodus updateIfMatchETag ist. In diesem Fall wird der Importvorgang nur ausgeführt, wenn dieses ETag mit dem vom Server verwalteten Wert übereinstimmt.

PropertyContainer

Die gewünschten und gemeldeten Eigenschaften des Zwillings. Die maximale Tiefe des Objekts beträgt 10.

Name Typ Beschreibung
desired

object

Die Auflistung der gewünschten Schlüssel-Wert-Paare der Eigenschaft. Die Schlüssel sind UTF-8-codiert, beachten Groß-/Kleinschreibung und eine Länge von bis zu 1 KB. Zulässige Zeichen schließen UNICODE-Steuerzeichen (Segmente C0 und C1), ".", "$" und Leerzeichen aus. Die gewünschten Porpertywerte sind JSON-Objekte mit einer Länge von bis zu 4 KB.

reported

object

Die Auflistung der gemeldeten Eigenschafts-Schlüssel-Wert-Paare. Die Schlüssel sind UTF-8-codiert, beachten Groß-/Kleinschreibung und eine Länge von bis zu 1 KB. Zulässige Zeichen schließen UNICODE-Steuerzeichen (Segmente C0 und C1), ".", "$" und Leerzeichen aus. Die gemeldeten Eigenschaftswerte sind JSON-Objekte mit einer Länge von bis zu 4 KB.

SymmetricKey

Name Typ Beschreibung
primaryKey

string

Der base64-codierte Primärschlüssel des Geräts.

secondaryKey

string

Der base64-codierte sekundäre Schlüssel des Geräts.

X509Thumbprint

Name Typ Beschreibung
primaryThumbprint

string

Primärer Fingerabdruck des X509-Clientzertifikats.

secondaryThumbprint

string

Sekundärer Fingerabdruck des X509-Clientzertifikats.