Bulk Registry - Update Registry

Cria, atualiza ou elimina as identidades de vários dispositivos do Hub IoT registo de identidade. Uma identidade de dispositivo só pode ser especificada uma vez na lista. São permitidas diferentes operações (criar, atualizar, eliminar) em diferentes dispositivos. Pode especificar um máximo de 100 dispositivos por invocação. Para operações de grande escala, utilize a funcionalidade de importação com o armazenamento de blobs (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

Parâmetros do URI

Name Em Necessário Tipo Description
api-version
query True

string

Versão da API.

Corpo do Pedido

Name Tipo Description
devices

ExportImportDevice[]

As operações de registo a executar.

Respostas

Name Tipo Description
200 OK

BulkRegistryOperationResult

OK.

400 Bad Request

BulkRegistryOperationResult

Pedido Incorreto.

Definições

Name Description
AuthenticationMechanism
BulkRegistryOperationResult

O resultado da operação de registo em massa.

DeviceCapabilities

O estado das capacidades ativadas no dispositivo.

DeviceRegistryOperationError

Detalhes do erro da operação de registo do dispositivo.

DeviceRegistryOperationWarning

Os detalhes de aviso da operação de registo do dispositivo.

ExportImportDevice
PropertyContainer

As propriedades pretendidas e comunicadas do duplo. A profundidade máxima do objeto é 10.

SymmetricKey
X509Thumbprint

AuthenticationMechanism

Name Tipo Description
symmetricKey

SymmetricKey

As chaves primárias e secundárias utilizadas para a autenticação baseada em SAS.

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

O tipo de autenticação utilizado para ligar ao serviço.

x509Thumbprint

X509Thumbprint

Os thumbprints x509 primários e secundários utilizados para autenticação baseada em x509.

BulkRegistryOperationResult

O resultado da operação de registo em massa.

Name Tipo Description
errors

DeviceRegistryOperationError[]

Erros da operação de registo do dispositivo.

isSuccessful

boolean

O resultado da operação.

warnings

DeviceRegistryOperationWarning[]

Avisos da operação de registo do dispositivo.

DeviceCapabilities

O estado das capacidades ativadas no dispositivo.

Name Tipo Description
iotEdge

boolean

A propriedade que determina se o dispositivo é ou não um dispositivo edge.

DeviceRegistryOperationError

Detalhes do erro da operação de registo do dispositivo.

Name Tipo Description
deviceId

string

O identificador exclusivo do 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

O código de erro.

errorStatus

string

Os detalhes do erro.

moduleId

string

O identificador exclusivo do módulo, se aplicável.

operation

string

O tipo da operação que falhou.

DeviceRegistryOperationWarning

Os detalhes de aviso da operação de registo do dispositivo.

Name Tipo Description
deviceId

string

O identificador exclusivo do dispositivo.

warningCode enum:

DeviceRegisteredWithoutTwin

O código de aviso.

warningStatus

string

Os detalhes do aviso.

ExportImportDevice

Name Tipo Description
authentication

AuthenticationMechanism

O mecanismo de autenticação utilizado pelo módulo. Este parâmetro é opcional e é predefinido para SAS se não for fornecido. Nesse caso, as chaves de acesso primárias/secundárias são geradas automaticamente.

capabilities

DeviceCapabilities

O estado das capacidades ativadas no dispositivo.

deviceScope

string

O âmbito do dispositivo.

eTag

string

A cadeia que representa uma ETag fraca para o dispositivo RFC7232. O valor só é utilizado se o modo de importação for updateIfMatchETag. Nesse caso, a operação de importação só é efetuada se esta ETag corresponder ao valor mantido pelo servidor.

id

string

O identificador exclusivo do dispositivo.

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

O tipo de operação de registo e preferências de ETag.

moduleId

string

O identificador exclusivo do módulo, se aplicável.

parentScopes

string[]

Os âmbitos dos dispositivos edge de nível superior, se aplicável. Apenas disponível para dispositivos edge.

properties

PropertyContainer

As propriedades pretendidas e comunicadas do dispositivo.

status enum:
  • disabled
  • enabled

O estado do módulo. Se estiver desativado, o módulo não consegue ligar ao serviço.

statusReason

string

A cadeia de carateres com 128 carateres que armazena o motivo do estado da identidade do dispositivo. Todos os carateres UTF-8 são permitidos.

tags

object

O documento JSON é lido e escrito pelo back-end da solução. As etiquetas não estão visíveis para as aplicações do dispositivo.

twinETag

string

A cadeia que representa uma ETag fraca para o dispositivo duplo RFC7232. O valor só é utilizado se o modo de importação for updateIfMatchETag. Nesse caso, a operação de importação só é efetuada se esta ETag corresponder ao valor mantido pelo servidor.

PropertyContainer

As propriedades pretendidas e comunicadas do duplo. A profundidade máxima do objeto é 10.

Name Tipo Description
desired

object

A coleção de pares chave-valor de propriedade pretendidos. As chaves têm codificação UTF-8, sensíveis a maiúsculas e minúsculas e até 1 KB de comprimento. Os carateres permitidos excluem carateres de controlo UNICODE (segmentos C0 e C1), ".", "$" e espaço. Os valores de porperty pretendidos são objetos JSON, com um comprimento máximo de 4 KB.

reported

object

A coleção de pares chave-valor da propriedade reportada. As chaves têm codificação UTF-8, sensíveis a maiúsculas e minúsculas e até 1 KB de comprimento. Os carateres permitidos excluem carateres de controlo UNICODE (segmentos C0 e C1), ".", "$" e espaço. Os valores de propriedade comunicados são objetos JSON, com um comprimento máximo de 4 KB.

SymmetricKey

Name Tipo Description
primaryKey

string

A chave primária codificada em base64 do dispositivo.

secondaryKey

string

A chave secundária codificada base64 do dispositivo.

X509Thumbprint

Name Tipo Description
primaryThumbprint

string

O thumbprint primário do certificado de cliente X509.

secondaryThumbprint

string

O thumbprint secundário do certificado de cliente X509.