Bulk Registry - Update Registry

Vytvoří, aktualizuje nebo odstraní identity více zařízení z registru identit IoT Hub. Identitu zařízení je možné v seznamu zadat pouze jednou. Na různých zařízeních jsou povolené různé operace (vytvoření, aktualizace, odstranění). Na jedno vyvolání je možné zadat maximálně 100 zařízení. U rozsáhlých operací použijte funkci importu pomocí úložiště objektů 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

Parametry identifikátoru URI

Name V Vyžadováno Typ Description
api-version
query True

string

Verze rozhraní API.

Text požadavku

Name Typ Description
devices

ExportImportDevice[]

Operace registru, které se mají provést.

Odpovědi

Name Typ Description
200 OK

BulkRegistryOperationResult

OK.

400 Bad Request

BulkRegistryOperationResult

Chybný požadavek.

Definice

Name Description
AuthenticationMechanism
BulkRegistryOperationResult

Výsledek operace hromadného registru.

DeviceCapabilities

Stav funkcí povolených v zařízení.

DeviceRegistryOperationError

Podrobnosti o chybě operace registru zařízení

DeviceRegistryOperationWarning

Podrobnosti o upozornění operace registru zařízení

ExportImportDevice
PropertyContainer

Požadované a hlášené vlastnosti dvojčete. Maximální hloubka objektu je 10.

SymmetricKey
X509Thumbprint

AuthenticationMechanism

Name Typ Description
symmetricKey

SymmetricKey

Primární a sekundární klíč používaný pro ověřování na základě SAS.

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

Typ ověřování, který se používá pro připojení ke službě.

x509Thumbprint

X509Thumbprint

Primární a sekundární kryptografické otisky x509 používané pro ověřování na základě x509.

BulkRegistryOperationResult

Výsledek operace hromadného registru.

Name Typ Description
errors

DeviceRegistryOperationError[]

Chyby operace registru zařízení.

isSuccessful

boolean

Výsledek operace.

warnings

DeviceRegistryOperationWarning[]

Upozornění operace registru zařízení

DeviceCapabilities

Stav funkcí povolených v zařízení.

Name Typ Description
iotEdge

boolean

Vlastnost, která určuje, jestli je zařízení hraničním zařízením, nebo ne.

DeviceRegistryOperationError

Podrobnosti o chybě operace registru zařízení

Name Typ Description
deviceId

string

Jedinečný identifikátor zařízení.

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

Kód chyby

errorStatus

string

Podrobnosti o chybě.

moduleId

string

Jedinečný identifikátor modulu, pokud je k dispozici.

operation

string

Typ operace, která selhala.

DeviceRegistryOperationWarning

Podrobnosti o upozornění operace registru zařízení

Name Typ Description
deviceId

string

Jedinečný identifikátor zařízení.

warningCode enum:

DeviceRegisteredWithoutTwin

Kód upozornění

warningStatus

string

Podrobnosti o upozornění.

ExportImportDevice

Name Typ Description
authentication

AuthenticationMechanism

Mechanismus ověřování používaný modulem. Tento parametr je volitelný a ve výchozím nastavení používá SAS, pokud není zadaný. V takovém případě se automaticky vygenerují primární/sekundární přístupové klíče.

capabilities

DeviceCapabilities

Stav funkcí povolených v zařízení.

deviceScope

string

Rozsah zařízení.

eTag

string

Řetězec představující slabou značku ETag pro zařízení RFC7232. Hodnota se použije pouze v případě, že režim importu je updateIfMatchETag, v takovém případě se operace importu provede pouze v případě, že tato značka ETag odpovídá hodnotě udržované serverem.

id

string

Jedinečný identifikátor zařízení.

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

Typ operace registru a předvolby značky ETag.

moduleId

string

Jedinečný identifikátor modulu, pokud je k dispozici.

parentScopes

string[]

Rozsahy hraničních zařízení horní úrovně, pokud jsou k dispozici. K dispozici pouze pro hraniční zařízení.

properties

PropertyContainer

Požadované a ohlášené vlastnosti zařízení

status enum:
  • disabled
  • enabled

Stav modulu. Pokud je tato možnost zakázaná, modul se nemůže připojit ke službě.

statusReason

string

Řetězec dlouhý 128 znaků, ve kterém je uložen důvod stavu identity zařízení. Jsou povoleny všechny znaky UTF-8.

tags

object

Dokument JSON přečte a zapíše back-end řešení. Značky nejsou viditelné pro aplikace zařízení.

twinETag

string

Řetězec představující slabou značku ETag pro RFC7232 dvojčete zařízení. Hodnota se použije pouze v případě, že režim importu je updateIfMatchETag, v takovém případě se operace importu provede pouze v případě, že tato značka ETag odpovídá hodnotě udržované serverem.

PropertyContainer

Požadované a hlášené vlastnosti dvojčete. Maximální hloubka objektu je 10.

Name Typ Description
desired

object

Kolekce dvojic klíč-hodnota požadované vlastnosti. Klíče jsou kódované UTF-8, rozlišují se velká a malá písmena a délku až 1 kB. Povolené znaky nezahrnují řídicí znaky UNICODE (segmenty C0 a C1), ., $a mezeru. Požadované hodnoty porperty jsou objekty JSON o délce až 4 kB.

reported

object

Kolekce hlášených dvojic klíč-hodnota vlastnosti. Klíče jsou kódované UTF-8, rozlišují se velká a malá písmena a délku až 1 kB. Povolené znaky nezahrnují řídicí znaky UNICODE (segmenty C0 a C1), ., $a mezeru. Hlášené hodnoty vlastností jsou objekty JSON o délce až 4 kB.

SymmetricKey

Name Typ Description
primaryKey

string

Primární klíč zařízení kódovaný jako base64.

secondaryKey

string

Sekundární klíč zařízení kódovaný jako base64.

X509Thumbprint

Name Typ Description
primaryThumbprint

string

Primární kryptografický otisk klientského certifikátu X509.

secondaryThumbprint

string

Sekundární kryptografický otisk klientského certifikátu X509.