Bulk Registry - Update Registry

Crea, aggiorna o elimina le identità di più dispositivi dal registro delle identità di hub IoT. Un'identità del dispositivo può essere specificata una sola volta nell'elenco. Sono consentite operazioni diverse (creare, aggiornare, eliminare) in dispositivi diversi. È possibile specificare un massimo di 100 dispositivi per chiamata. Per le operazioni su larga scala, usare la funzionalità di importazione usando l'archiviazione 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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
api-version
query True

string

Versione dell'API.

Corpo della richiesta

Nome Tipo Descrizione
devices

ExportImportDevice[]

Operazioni del Registro di sistema da eseguire.

Risposte

Nome Tipo Descrizione
200 OK

BulkRegistryOperationResult

OK.

400 Bad Request

BulkRegistryOperationResult

Richiesta non valida.

Definizioni

Nome Descrizione
AuthenticationMechanism
BulkRegistryOperationResult

Risultato dell'operazione del Registro di sistema bulk.

DeviceCapabilities

Stato delle funzionalità abilitate nel dispositivo.

DeviceRegistryOperationError

Dettagli dell'errore dell'operazione del Registro di sistema del dispositivo.

DeviceRegistryOperationWarning

Dettagli dell'avviso sull'operazione del Registro di sistema del dispositivo.

ExportImportDevice
PropertyContainer

Proprietà desiderate e segnalate del gemello. La profondità massima dell'oggetto è 10.

SymmetricKey
X509Thumbprint

AuthenticationMechanism

Nome Tipo Descrizione
symmetricKey

SymmetricKey

Chiavi primarie e secondarie usate per l'autenticazione basata su firma di accesso condiviso.

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

Tipo di autenticazione utilizzata per connettersi al servizio.

x509Thumbprint

X509Thumbprint

Identificazione personale primaria e secondaria x509 usata per l'autenticazione basata su x509.

BulkRegistryOperationResult

Risultato dell'operazione del Registro di sistema bulk.

Nome Tipo Descrizione
errors

DeviceRegistryOperationError[]

Errori dell'operazione del Registro di sistema del dispositivo.

isSuccessful

boolean

Risultato dell'operazione.

warnings

DeviceRegistryOperationWarning[]

Avvisi dell'operazione del Registro di sistema del dispositivo.

DeviceCapabilities

Stato delle funzionalità abilitate nel dispositivo.

Nome Tipo Descrizione
iotEdge

boolean

Proprietà che determina se il dispositivo è un dispositivo perimetrale o meno.

DeviceRegistryOperationError

Dettagli dell'errore dell'operazione del Registro di sistema del dispositivo.

Nome Tipo Descrizione
deviceId

string

Identificatore univoco 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

Codice di errore.

errorStatus

string

Dettagli dell'errore.

moduleId

string

Identificatore univoco del modulo, se applicabile.

operation

string

Tipo dell'operazione non riuscita.

DeviceRegistryOperationWarning

Dettagli dell'avviso sull'operazione del Registro di sistema del dispositivo.

Nome Tipo Descrizione
deviceId

string

Identificatore univoco del dispositivo.

warningCode enum:

DeviceRegisteredWithoutTwin

Codice di avviso.

warningStatus

string

Dettagli dell'avviso.

ExportImportDevice

Nome Tipo Descrizione
authentication

AuthenticationMechanism

Meccanismo di autenticazione usato dal modulo. Questo parametro è facoltativo e il valore predefinito è sas se non specificato. In tal caso, le chiavi di accesso primario/secondario vengono generate automaticamente.

capabilities

DeviceCapabilities

Stato delle funzionalità abilitate nel dispositivo.

deviceScope

string

Ambito del dispositivo.

eTag

string

Stringa che rappresenta un ETag debole per il dispositivo RFC7232. Il valore viene usato solo se la modalità di importazione è updateIfMatchETag, in tal caso l'operazione di importazione viene eseguita solo se questo ETag corrisponde al valore gestito dal server.

id

string

Identificatore univoco del dispositivo.

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

Tipo di operazione del Registro di sistema e preferenze ETag.

moduleId

string

Identificatore univoco del modulo, se applicabile.

parentScopes

string[]

Se applicabile, gli ambiti dei dispositivi perimetrali di livello superiore. Disponibile solo per i dispositivi perimetrali.

properties

PropertyContainer

Proprietà desiderate e segnalate per il dispositivo.

status enum:
  • disabled
  • enabled

Stato del modulo. Se disabilitato, il modulo non può connettersi al servizio.

statusReason

string

Stringa lunga 128 caratteri che archivia il motivo dello stato dell'identità del dispositivo. Sono consentiti tutti i caratteri UTF-8.

tags

object

Il documento JSON letto e scritto dal back-end della soluzione. I tag non sono visibili alle app del dispositivo.

twinETag

string

Stringa che rappresenta un ETag debole per il dispositivo gemello RFC7232. Il valore viene usato solo se la modalità di importazione è updateIfMatchETag, in tal caso l'operazione di importazione viene eseguita solo se questo ETag corrisponde al valore gestito dal server.

PropertyContainer

Proprietà desiderate e segnalate del gemello. La profondità massima dell'oggetto è 10.

Nome Tipo Descrizione
desired

object

Raccolta di coppie chiave-valore della proprietà desiderate. Le chiavi sono codificate UTF-8, con distinzione tra maiuscole e minuscole e fino a 1 KB di lunghezza. I caratteri consentiti escludono caratteri di controllo UNICODE (segmenti C0 e C1), '.', '$' e spazio. I valori di porperty desiderati sono oggetti JSON, fino a 4 KB di lunghezza.

reported

object

Raccolta di coppie chiave chiave-valore della proprietà segnalate. Le chiavi sono codificate UTF-8, con distinzione tra maiuscole e minuscole e fino a 1 KB di lunghezza. I caratteri consentiti escludono caratteri di controllo UNICODE (segmenti C0 e C1), '.', '$' e spazio. I valori delle proprietà segnalate sono oggetti JSON, fino a 4 KB di lunghezza.

SymmetricKey

Nome Tipo Descrizione
primaryKey

string

Chiave primaria con codifica base64 del dispositivo.

secondaryKey

string

Chiave secondaria con codifica base64 del dispositivo.

X509Thumbprint

Nome Tipo Descrizione
primaryThumbprint

string

Identificazione personale primaria del certificato client X509.

secondaryThumbprint

string

Identificazione personale secondaria del certificato client X509.