Compartilhar via


Bulk Registry - Update Registry

Cria, atualiza ou exclui as identidades de vários dispositivos do registro de identidade Hub IoT. Uma identidade de dispositivo pode ser especificada apenas uma vez na lista. Operações diferentes (criar, atualizar, excluir) em diferentes dispositivos são permitidas. Um máximo de 100 dispositivos pode ser especificado por invocação. Para operações em grande escala, use o recurso de importação usando 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 de URI

Nome Em Obrigatório Tipo Description
api-version
query True

string

Versão da API.

Corpo da solicitação

Nome Tipo Description
devices

ExportImportDevice[]

As operações do Registro a serem executadas.

Respostas

Nome Tipo Description
200 OK

BulkRegistryOperationResult

OK.

400 Bad Request

BulkRegistryOperationResult

Solicitação inválida.

Definições

Nome Description
AuthenticationMechanism
BulkRegistryOperationResult

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

DeviceCapabilities

O status de recursos habilitados no dispositivo.

DeviceRegistryOperationError

Os detalhes do erro da operação do registro do dispositivo.

DeviceRegistryOperationWarning

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

ExportImportDevice
PropertyContainer

As propriedades desejadas e relatadas do gêmeo. A profundidade máxima do objeto é 10.

SymmetricKey
X509Thumbprint

AuthenticationMechanism

Nome Tipo Description
symmetricKey

SymmetricKey

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

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

O tipo de autenticação usado para se conectar ao serviço.

x509Thumbprint

X509Thumbprint

As impressões digitais x509 primárias e secundárias usadas para autenticação baseada em x509.

BulkRegistryOperationResult

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

Nome Tipo Description
errors

DeviceRegistryOperationError[]

Os erros de operação do registro do dispositivo.

isSuccessful

boolean

O resultado da operação.

warnings

DeviceRegistryOperationWarning[]

Os avisos de operação do registro de dispositivo.

DeviceCapabilities

O status de recursos habilitados no dispositivo.

Nome Tipo Description
iotEdge

boolean

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

DeviceRegistryOperationError

Os detalhes do erro da operação do registro do dispositivo.

Nome 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 registro do dispositivo.

Nome Tipo Description
deviceId

string

O identificador exclusivo do dispositivo.

warningCode enum:

DeviceRegisteredWithoutTwin

O código de aviso.

warningStatus

string

Os detalhes do aviso.

ExportImportDevice

Nome Tipo Description
authentication

AuthenticationMechanism

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

capabilities

DeviceCapabilities

O status de recursos habilitados no dispositivo.

deviceScope

string

O escopo do dispositivo.

eTag

string

A cadeia de caracteres que representa uma ETag fraca para o dispositivo RFC7232. O valor só será usado se o modo de importação for updateIfMatchETag, nesse caso, a operação de importação será executada somente se essa 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 do Registro e as preferências de ETag.

moduleId

string

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

parentScopes

string[]

Os escopos dos dispositivos de borda de nível superior, se aplicável. Disponível somente para dispositivos de borda.

properties

PropertyContainer

As propriedades desejadas e relatadas para o dispositivo.

status enum:
  • disabled
  • enabled

O status do módulo. Se desabilitado, o módulo não poderá se conectar ao serviço.

statusReason

string

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

tags

object

O documento JSON lido e gravado pelo back-end da solução. As marcas não são visíveis para aplicativos de dispositivo.

twinETag

string

A cadeia de caracteres que representa uma ETag fraca para o dispositivo gêmeo RFC7232. O valor só será usado se o modo de importação for updateIfMatchETag, nesse caso, a operação de importação será executada somente se essa ETag corresponder ao valor mantido pelo servidor.

PropertyContainer

As propriedades desejadas e relatadas do gêmeo. A profundidade máxima do objeto é 10.

Nome Tipo Description
desired

object

A coleção de pares chave-valor de propriedade desejados. As chaves são codificadas em UTF-8, diferenciam maiúsculas de minúsculas e até 1 KB de comprimento. Os caracteres permitidos excluem caracteres de controle UNICODE (segmentos C0 e C1), '.', '$' e espaço. Os valores de propriedade desejados são objetos JSON, com até 4 KB de comprimento.

reported

object

A coleção de pares chave-valor de propriedade relatados. As chaves são codificadas em UTF-8, diferenciam maiúsculas de minúsculas e até 1 KB de comprimento. Os caracteres permitidos excluem caracteres de controle UNICODE (segmentos C0 e C1), '.', '$' e espaço. Os valores de propriedade relatados são objetos JSON, com até 4 KB de comprimento.

SymmetricKey

Nome Tipo Description
primaryKey

string

A chave primária codificada em base64 do dispositivo.

secondaryKey

string

A chave secundária codificada em base64 do dispositivo.

X509Thumbprint

Nome Tipo Description
primaryThumbprint

string

A impressão digital primária do certificado do cliente X509.

secondaryThumbprint

string

A impressão digital secundária do certificado do cliente X509.