Bulk Registry - Update Registry

IoT Hub ID 레지스트리에서 여러 디바이스의 ID를 만들거나 업데이트하거나 삭제합니다. 디바이스 ID는 목록에서 한 번만 지정할 수 있습니다. 다른 디바이스에서 다양한 작업(만들기, 업데이트, 삭제)이 허용됩니다. 호출당 최대 100대 디바이스를 지정할 수 있습니다. 대규모 작업의 경우 Blob Storage(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

URI 매개 변수

Name In(다음 안에) 필수 형식 Description
api-version
query True

string

API의 버전입니다.

요청 본문

Name 형식 Description
devices

ExportImportDevice[]

수행할 레지스트리 작업입니다.

응답

Name 형식 Description
200 OK

BulkRegistryOperationResult

OK.

400 Bad Request

BulkRegistryOperationResult

잘못된 요청.

정의

Name Description
AuthenticationMechanism
BulkRegistryOperationResult

대량 레지스트리 작업의 결과입니다.

DeviceCapabilities

디바이스에서 사용하도록 설정된 기능의 상태.

DeviceRegistryOperationError

디바이스 레지스트리 작업 오류 세부 정보입니다.

DeviceRegistryOperationWarning

디바이스 레지스트리 작업 경고 세부 정보입니다.

ExportImportDevice
PropertyContainer

트윈의 desired 및 reported 속성입니다. 개체의 최대 깊이는 10입니다.

SymmetricKey
X509Thumbprint

AuthenticationMechanism

Name 형식 Description
symmetricKey

SymmetricKey

SAS 기반 인증에 사용되는 기본 및 보조 키입니다.

type enum:
  • certificateAuthority
  • none
  • sas
  • selfSigned

서비스에 연결하는 데 사용되는 인증 유형입니다.

x509Thumbprint

X509Thumbprint

x509 기반 인증에 사용되는 기본 및 보조 x509 지문입니다.

BulkRegistryOperationResult

대량 레지스트리 작업의 결과입니다.

Name 형식 Description
errors

DeviceRegistryOperationError[]

디바이스 레지스트리 작업 오류입니다.

isSuccessful

boolean

작업 결과입니다.

warnings

DeviceRegistryOperationWarning[]

디바이스 레지스트리 작업 경고입니다.

DeviceCapabilities

디바이스에서 사용하도록 설정된 기능의 상태.

Name 형식 Description
iotEdge

boolean

디바이스가 에지 디바이스인지 여부를 결정하는 속성입니다.

DeviceRegistryOperationError

디바이스 레지스트리 작업 오류 세부 정보입니다.

Name 형식 Description
deviceId

string

디바이스의 고유 식별자입니다.

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

오류 코드입니다.

errorStatus

string

오류의 세부 정보입니다.

moduleId

string

해당하는 경우 모듈의 고유 식별자입니다.

operation

string

실패한 작업의 형식입니다.

DeviceRegistryOperationWarning

디바이스 레지스트리 작업 경고 세부 정보입니다.

Name 형식 Description
deviceId

string

디바이스의 고유 식별자입니다.

warningCode enum:

DeviceRegisteredWithoutTwin

경고 코드입니다.

warningStatus

string

경고의 세부 정보입니다.

ExportImportDevice

Name 형식 Description
authentication

AuthenticationMechanism

모듈에서 사용하는 인증 메커니즘입니다. 이 매개 변수는 선택 사항이며 제공되지 않으면 기본적으로 SAS로 설정됩니다. 이 경우 기본/보조 액세스 키가 자동으로 생성됩니다.

capabilities

DeviceCapabilities

디바이스에서 사용하도록 설정된 기능의 상태.

deviceScope

string

디바이스의 범위입니다.

eTag

string

디바이스 RFC7232 약한 ETag를 나타내는 문자열입니다. 이 값은 가져오기 모드가 updateIfMatchETag인 경우에만 사용됩니다. 이 경우 가져오기 작업은 이 ETag가 서버에서 유지 관리하는 값과 일치하는 경우에만 수행됩니다.

id

string

디바이스의 고유 식별자입니다.

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

레지스트리 작업 및 ETag 기본 설정의 유형입니다.

moduleId

string

해당하는 경우 모듈의 고유 식별자입니다.

properties

PropertyContainer

디바이스에 대한 원하는 속성 및 보고된 속성입니다.

status enum:
  • disabled
  • enabled

모듈의 상태. 사용하지 않도록 설정하면 모듈이 서비스에 연결할 수 없습니다.

statusReason

string

디바이스 ID의 이유를 저장하는 128자 길이의 문자열은 상태. UTF-8 문자를 모두 허용합니다.

tags

object

솔루션 백 엔드에서 읽고 쓴 JSON 문서입니다. 태그는 디바이스 앱에 표시되지 않습니다.

twinETag

string

디바이스 쌍 RFC7232 약한 ETag를 나타내는 문자열입니다. 이 값은 가져오기 모드가 updateIfMatchETag인 경우에만 사용됩니다. 이 경우 가져오기 작업은 이 ETag가 서버에서 유지 관리하는 값과 일치하는 경우에만 수행됩니다.

PropertyContainer

트윈의 desired 및 reported 속성입니다. 개체의 최대 깊이는 10입니다.

Name 형식 Description
desired

object

원하는 속성 키-값 쌍의 컬렉션입니다. 키는 UTF-8로 인코딩되고 대/소문자를 구분하며 길이가 최대 1KB입니다. 허용되는 문자는 UNICODE 컨트롤 문자(세그먼트 C0 및 C1), '.', '$' 및 공백을 제외합니다. 원하는 porperty 값은 길이가 최대 4KB인 JSON 개체입니다.

reported

object

reported 속성 키-값 쌍의 컬렉션입니다. 키는 UTF-8로 인코딩되고 대/소문자를 구분하며 길이가 최대 1KB입니다. 허용되는 문자는 UNICODE 컨트롤 문자(세그먼트 C0 및 C1), '.', '$' 및 공백을 제외합니다. reported 속성 값은 길이가 최대 4KB인 JSON 개체입니다.

SymmetricKey

Name 형식 Description
primaryKey

string

디바이스의 base64로 인코딩된 기본 키입니다.

secondaryKey

string

디바이스의 base64로 인코딩된 보조 키입니다.

X509Thumbprint

Name 형식 Description
primaryThumbprint

string

X509 클라이언트 인증서 기본 지문입니다.

secondaryThumbprint

string

X509 클라이언트 인증서 보조 지문입니다.