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. Různé operace (vytvoření, aktualizace, odstranění) na různých zařízeních jsou povolené. Na jedno vyvolání je možné zadat maximálně 100 zařízení. Pro operace s velkým škálováním použijte funkci importu s využitím ú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=2020-05-31-preview

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 na 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íče používané k ověřování na základě SAS.

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

Typ ověřování použitý 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 na 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
  • 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 upozornění.

ExportImportDevice

Name Typ Description
authentication

AuthenticationMechanism

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

capabilities

DeviceCapabilities

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

deviceScope

string

Rozsah zařízení.

eTag

string

Řetězec představující slabou značku ETag pro RFC7232 zařízení. Hodnota se použije pouze v případě, že je režim importu 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.

properties

PropertyContainer

Požadované a hláš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í. Aplikace zařízení značky nevidí.

twinETag

string

Řetězec představující slabou značku ETag dvojčete zařízení RFC7232. Hodnota se použije pouze v případě, že je režim importu 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 požadovaných párů klíč-hodnota vlastnosti. Klíče mají kódování 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 párů klíč-hodnota vlastnosti. Klíče mají kódování 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.