Udostępnij za pośrednictwem


Bulk Registry - Update Registry

Tworzy, aktualizuje lub usuwa tożsamości wielu urządzeń z rejestru tożsamości IoT Hub. Tożsamość urządzenia można określić tylko raz na liście. Różne operacje (tworzenie, aktualizowanie, usuwanie) na różnych urządzeniach są dozwolone. Maksymalnie 100 urządzeń można określić na wywołanie. W przypadku operacji na dużą skalę użyj funkcji importowania przy użyciu magazynu obiektów 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 identyfikatora URI

Nazwa W Wymagane Typ Opis
api-version
query True

string

Wersja interfejsu API.

Treść żądania

Nazwa Typ Opis
devices

ExportImportDevice[]

Operacje rejestru do wykonania.

Odpowiedzi

Nazwa Typ Opis
200 OK

BulkRegistryOperationResult

OK.

400 Bad Request

BulkRegistryOperationResult

Nieprawidłowe żądanie.

Definicje

Nazwa Opis
AuthenticationMechanism
BulkRegistryOperationResult

Wynik operacji rejestru zbiorczego.

DeviceCapabilities

Stan możliwości włączonych na urządzeniu.

DeviceRegistryOperationError

Szczegóły błędu operacji rejestru urządzeń.

DeviceRegistryOperationWarning

Szczegóły ostrzeżenia dotyczącego operacji rejestru urządzeń.

ExportImportDevice
PropertyContainer

Żądane i zgłoszone właściwości bliźniaczej reprezentacji. Maksymalna głębokość obiektu wynosi 10.

SymmetricKey
X509Thumbprint

AuthenticationMechanism

Nazwa Typ Opis
symmetricKey

SymmetricKey

Podstawowe i pomocnicze klucze używane do uwierzytelniania opartego na sygnaturze dostępu współdzielonego.

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

Typ uwierzytelniania używanego do nawiązywania połączenia z usługą.

x509Thumbprint

X509Thumbprint

Podstawowe i pomocnicze odciski palców x509 używane do uwierzytelniania opartego na architekturze x509.

BulkRegistryOperationResult

Wynik operacji rejestru zbiorczego.

Nazwa Typ Opis
errors

DeviceRegistryOperationError[]

Błędy operacji rejestru urządzeń.

isSuccessful

boolean

Wynik operacji.

warnings

DeviceRegistryOperationWarning[]

Ostrzeżenia dotyczące operacji rejestru urządzeń.

DeviceCapabilities

Stan możliwości włączonych na urządzeniu.

Nazwa Typ Opis
iotEdge

boolean

Właściwość określająca, czy urządzenie jest urządzeniem brzegowym, czy nie.

DeviceRegistryOperationError

Szczegóły błędu operacji rejestru urządzeń.

Nazwa Typ Opis
deviceId

string

Unikatowy identyfikator urządzenia.

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

Kod błędu.

errorStatus

string

Szczegóły błędu.

moduleId

string

Unikatowy identyfikator modułu, jeśli ma to zastosowanie.

operation

string

Typ operacji, która nie powiodła się.

DeviceRegistryOperationWarning

Szczegóły ostrzeżenia dotyczącego operacji rejestru urządzeń.

Nazwa Typ Opis
deviceId

string

Unikatowy identyfikator urządzenia.

warningCode enum:

DeviceRegisteredWithoutTwin

Kod ostrzegawczy.

warningStatus

string

Szczegóły ostrzeżenia.

ExportImportDevice

Nazwa Typ Opis
authentication

AuthenticationMechanism

Mechanizm uwierzytelniania używany przez moduł. Ten parametr jest opcjonalny i domyślnie określa sygnaturę dostępu współdzielonego, jeśli nie podano. W takim przypadku klucze dostępu podstawowe/pomocnicze są generowane automatycznie.

capabilities

DeviceCapabilities

Stan możliwości włączonych na urządzeniu.

deviceScope

string

Zakres urządzenia.

eTag

string

Ciąg reprezentujący słaby element ETag dla urządzenia RFC7232. Wartość jest używana tylko wtedy, gdy tryb importu to updateIfMatchETag, w takim przypadku operacja importowania jest wykonywana tylko wtedy, gdy ten element ETag jest zgodny z wartością obsługiwaną przez serwer.

id

string

Unikatowy identyfikator urządzenia.

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

Typ operacji rejestru i preferencji ETag.

moduleId

string

Unikatowy identyfikator modułu, jeśli ma to zastosowanie.

parentScopes

string[]

Zakresy urządzeń brzegowych najwyższego poziomu, jeśli ma to zastosowanie. Dostępne tylko dla urządzeń brzegowych.

properties

PropertyContainer

Żądane i zgłoszone właściwości urządzenia.

status enum:
  • disabled
  • enabled

Stan modułu. Jeśli jest wyłączona, moduł nie może nawiązać połączenia z usługą.

statusReason

string

Ciąg o długości 128 znaków, który przechowuje przyczynę stanu tożsamości urządzenia. Dozwolone są wszystkie znaki UTF-8.

tags

object

Dokument JSON odczytany i napisany przez zaplecze rozwiązania. Tagi nie są widoczne dla aplikacji urządzeń.

twinETag

string

Ciąg reprezentujący słaby element ETag dla bliźniaczej reprezentacji urządzenia RFC7232. Wartość jest używana tylko wtedy, gdy tryb importu to updateIfMatchETag, w takim przypadku operacja importowania jest wykonywana tylko wtedy, gdy ten element ETag jest zgodny z wartością obsługiwaną przez serwer.

PropertyContainer

Żądane i zgłoszone właściwości bliźniaczej reprezentacji. Maksymalna głębokość obiektu wynosi 10.

Nazwa Typ Opis
desired

object

Kolekcja par klucz-wartość żądanej właściwości. Klucze są zakodowane w formacie UTF-8, rozróżniane wielkość liter i długość do 1 KB. Dozwolone znaki wykluczają znaki sterujące UNICODE (segmenty C0 i C1), ".", "$" i spację. Żądane wartości porperty to obiekty JSON o długości do 4 KB.

reported

object

Kolekcja zgłoszonych par klucz-wartość właściwości. Klucze są zakodowane w formacie UTF-8, rozróżniane wielkość liter i długość do 1 KB. Dozwolone znaki wykluczają znaki sterujące UNICODE (segmenty C0 i C1), ".", "$" i spację. Zgłoszone wartości właściwości to obiekty JSON o długości do 4 KB.

SymmetricKey

Nazwa Typ Opis
primaryKey

string

Zakodowany w formacie base64 klucz podstawowy urządzenia.

secondaryKey

string

Zakodowany w formacie base64 klucz pomocniczy urządzenia.

X509Thumbprint

Nazwa Typ Opis
primaryThumbprint

string

Podstawowy odcisk palca certyfikatu klienta X509.

secondaryThumbprint

string

Pomocniczy odcisk palca certyfikatu klienta X509.