Azure IoT SDK

다음 표에는 IoT 솔루션을 빌드하는 데 사용할 수 있는 다양한 SDK가 나열되어 있습니다.

디바이스 SDK

Microsoft Azure IoT 디바이스 SDK에는 Azure IoT Hub 서비스에 연결되고 Azure IoT Hub 서비스에서 관리하는 애플리케이션의 빌드를 용이하게 하는 코드가 포함되어 있습니다. 이러한 SDK는 PC, 태블릿, 스마트폰 또는 Raspberry Pi와 같은 일반적인 MPU 기반 컴퓨팅 디바이스에서 실행할 수 있습니다. SDK는 C 및 C#, Node.JS, Python, Java를 포함한 최신 관리 언어로 개발을 지원합니다.

SDK는 여러 언어로 제공되며 팀 및 시나리오에 가장 적합한 것을 유연하게 선택할 수 있습니다.

언어 패키지 원본 빠른 시작 샘플 참조
.NET NuGet GitHub IoT Hub에 연결 샘플 참조
Python pip GitHub IoT Hub에 연결 샘플 참조
Node.JS npm  GitHub IoT Hub에 연결 샘플 참조
Java Maven GitHub IoT Hub에 연결 샘플 참조
C packages GitHub IoT Hub에 연결 샘플 참조

Java 디바이스 SDK에는 Android용 샘플이 포함되어 있습니다.

C 디바이스 SDK에는 CocoaPods를 사용하는 iOS용 샘플이 포함되어 있습니다.

Warning

Azure IoT C SDK는 메모리 관리 및 스레딩 모델로 인해 임베디드 애플리케이션에 적합하지 않습니다. 임베디드 디바이스 SDK 옵션은 임베디드 디바이스 SDK를 참조하세요.

디바이스 SDK를 사용하여 IoT Hub 또는 IoT Central에 연결하는 IoT 디바이스에서 실행할 코드를 개발합니다.

디바이스 SDK 사용 방법에 대한 자세한 내용은 Azure IoT 디바이스 및 애플리케이션 개발이란?을 참조하세요.

Embedded 디바이스 SDK

이러한 SDK는 컴퓨팅 및 메모리 리소스가 제한된 디바이스에서 실행되도록 설계 및 생성되었으며 C 언어를 사용하여 구현됩니다.

임베디드 디바이스 SDK는 시나리오에 가장 적합한 것을 선택할 수 있는 유연성을 제공하는 여러 운영 체제에서 사용할 수 있습니다.

RTOS SDK 원본 샘플 참조
Eclipse ThreadX Azure RTOS 미들웨어 GitHub 빠른 시작 참조
FreeRTOS FreeRTOS 미들웨어 GitHub 샘플 참조
운영 체제 미설치 Embedded C용 Azure SDK GitHub 샘플 참조

임베디드 디바이스 SDK를 사용하여 IoT Hub 또는 IoT Central에 연결하는 IoT 디바이스에서 실행할 코드를 개발합니다.

삽입된 디바이스 SDK를 사용해야 하는 경우에 대해 자세히 알아보려면 C SDK 및 삽입된 C SDK 사용 시나리오를 참조하세요.

디바이스 SDK 수명 주기 및 지원

이 섹션에서는 Azure IoT 디바이스 SDK 수명 주기 및 지원 정책에 대해 간략하게 소개합니다. 자세한 내용은 Azure SDK 수명 주기 및 지원 정책을 참조하세요.

패키지 수명 주기

패키지는 다음 범주로 릴리스됩니다. 각 범주에는 정의된 지원 구조가 있습니다.

  1. 베타 - 미리 보기 또는 릴리스 후보라고도 합니다. 초기 액세스 및 피드백 용도로 사용할 수 있으며 프로덕션에서는 사용하지 않는 것이 좋습니다. 미리 보기 버전 지원은 GitHub 문제로 제한됩니다. 미리 보기 릴리스는 수명은 일반적으로 6개월 미만이며 그 후에는 더 이상 사용되지 않거나 활성으로 릴리스됩니다.

  2. 활성 - 일반적으로 사용 가능하고 완전히 지원되며, 버그 및 보안 수정 사항뿐만 아니라 새로운 기능 업데이트를 받습니다. 해당 버전에는 수정 및 업데이트가 제공되므로 고객은 최신 버전을 사용하는 것이 좋습니다.

  3. 사용 중지됨 - 최신 릴리스로 대체되었습니다. 사용 중단은 새 릴리스가 활성화되는 동시에 발생합니다. 사용되지 않는 릴리스는 향후 12개월 동안 가장 중요한 버그 수정 및 보안 수정 사항을 해결합니다.

지원 받기

Azure IoT SDK를 사용하는 동안 문제가 발생하는 경우 지원을 검색하는 몇 가지 방법이 있습니다.

  • 버그 보고 - 모든 고객은 관련 SDK와 연결된 GitHub 리포지토리의 문제 페이지에서 버그를 보고할 수 있습니다.

  • Microsoft 고객 지원팀지원 플랜이 있는 사용자는 Azure Portal에서 직접 지원 티켓을 만들어서 Microsoft 고객 지원팀과 협력할 수 있습니다.

IoT Hub 서비스 SDK

Azure IoT 서비스 SDK에는 디바이스와 보안을 관리하기 위해 IoT Hub 서비스를 직접 조작하는 애플리케이션의 빌드를 용이하게 하는 코드가 포함되어 있습니다.

플랫폼 Package(패키지) 코드 리포지토리 샘플 참조
.NET NuGet GitHub 샘플 참조
Java Maven GitHub 샘플 참조
Node npm GitHub 샘플 참조
Python pip GitHub 샘플 참조

서비스 SDK를 사용하여 IoT 허브를 통해 디바이스와 상호 작용하는 방법에 대해 자세히 알아보려면 IoT 플러그 앤 플레이 서비스 개발자 가이드를 참조하세요.

IoT Hub 관리 SDK

IoT Hub 관리 SDK는 Azure 구독에서 IoT Hub를 관리하는 백 엔드 애플리케이션을 빌드하는 데 도움이 됩니다.

플랫폼 Package(패키지) 코드 리포지토리 참조
.NET NuGet GitHub 참조
Java Maven GitHub 참조
Node.JS npm GitHub 참조
Python pip GitHub 참조

관리 SDK의 대안으로는 Azure CLI, PowerShellREST API가 있습니다.

IoT 디바이스 SDK

DPS 디바이스 SDK는 디바이스가 DPS를 통해 프로비전하기 위해 호출하는 Register API 및 기타의 구현을 제공합니다. 디바이스 SDK는 PC, 태블릿, 스마트폰 또는 Raspberry Pi와 같은 일반적인 MPU 기반 컴퓨팅 디바이스에서 실행할 수 있습니다. SDK는 C 및 C#, Node.JS, Python, Java를 포함한 최신 관리 언어로 개발을 지원합니다.

플랫폼 Package(패키지) 코드 리포지토리 샘플 빠른 시작 참조
.NET NuGet GitHub 샘플 빠른 시작 참조
C apt-get, MBED, Arduino IDE 또는 iOS GitHub 샘플 빠른 시작 참조
Java Maven GitHub 샘플 빠른 시작 참조
Node.JS npm GitHub 샘플 빠른 시작 참조
Python pip GitHub 샘플 빠른 시작 참조

Warning

위에 나열된 C SDK는 메모리 관리 및 스레딩 모델로 인해 포함된 애플리케이션에 적합하지 않습니다. 임베디드 디바이스의 경우 Embedded 디바이스 SDK를 참조하세요.

DPS 임베디드 디바이스 SDK

이러한 SDK는 컴퓨팅 및 메모리 리소스가 제한된 디바이스에서 실행되도록 설계 및 생성되었으며 C 언어를 사용하여 구현됩니다.

RTOS SDK 원본 샘플 참조
Eclipse ThreadX Azure RTOS 미들웨어 GitHub 빠른 시작 참조
FreeRTOS FreeRTOS 미들웨어 GitHub 샘플 참조
운영 체제 미설치 Embedded C용 Azure SDK GitHub 샘플 참조

IoT SDK의 디바이스 및 포함 디바이스 SDK에 대해 자세히 알아봅니다.

DPS 서비스 SDK

DPS 서비스 SDK는 DPS 인스턴스에서 등록 및 등록 레코드를 관리하는 백 엔드 애플리케이션을 빌드하는 데 도움이 됩니다.

플랫폼 Package(패키지) 코드 리포지토리 샘플 빠른 시작 참조
.NET NuGet GitHub 샘플 빠른 시작 참조
Java Maven GitHub 샘플 빠른 시작 참조
Node.JS npm GitHub 샘플 빠른 시작 참조

DPS 관리 SDK

DPS 관리 SDK는 Azure 구독에서 DPS 인스턴스 및 해당 메타데이터를 관리하는 백 엔드 애플리케이션을 빌드하는 데 도움이 됩니다.

플랫폼 Package(패키지) 코드 리포지토리 참조
.NET NuGet GitHub 참조
Java Maven GitHub 참조
Node.JS npm GitHub 참조
Python pip GitHub 참조

Azure Digital Twins 컨트롤 플레인 API

컨트롤 플레인 API는 전체 인스턴스를 만들거나 삭제하는 것과 같은 작업을 수행하기 위해 Azure Digital Twins 인스턴스 전체를 관리하는 데 사용되는 ARM API입니다. 또한 엔드포인트를 만들고 삭제하는 이러한 API를 사용합니다.

API를 직접 호출하려면 컨트롤 플레인 Swagger 리포지토리의 최신 Swagger 폴더를 참조합니다. 이 폴더에는 사용법을 보여 주는 예제 폴더도 포함되어 있습니다.

다음은 현재 Azure Digital Twins 컨트롤 플레인 API에 사용할 수 있는 SDK입니다.

SDK 언어 패키지 링크 참조 설명서 소스 코드
.NET (C#) NuGet의 Azure.ResourceManager.DigitalTwins .NET용 Azure DigitalTwins SDK에 대한 참조 GitHub의 .NET용 Microsoft Azure Digital Twins 관리 클라이언트 라이브러리
Java Maven의 azure-resourcemanager-digitaltwins 리소스 관리 참조 - Digital Twins GitHub의 Java용 Azure Resource Manager AzureDigitalTwins 클라이언트 라이브러리
JavaScript npm의 JavaScript용 AzureDigitalTwinsManagement 클라이언트 라이브러리 GitHub의 JavaScript용 AzureDigitalTwinsManagement 클라이언트 라이브러리
Python PyPI의 azure-mgmt-digitaltwins GitHub의 Python용 Microsoft Azure SDK
Go azure-sdk-for-go/services/digitaltwins/mgmt GitHub의 Go용 Azure SDK

Azure Digital Twins 데이터 평면 API

데이터 평면 API는 Azure Digital Twins 인스턴스 내에서 요소를 관리하는 데 사용되는 Azure Digital Twins API입니다. 여기에는 경로 만들기, 모델 업로드, 관계 만들기 및 트윈 관리와 같은 작업이 포함되며 다음 범주로 크게 나눌 수 있습니다.

  • DigitalTwinModels - DigitalTwinModels 범주에는 Azure Digital Twins 인스턴스에서 모델을 관리하는 API가 포함되어 있습니다. 관리 작업에는 DTDL에서 작성된 모델의 업로드, 유효성 검사, 검색 및 삭제가 포함됩니다.
  • DigitalTwins - DigitalTwins 범주에는 개발자가 Azure Digital Twins 인스턴스에서 디지털 트윈 및 해당 관계를 만들고, 수정하고, 삭제할 수 있도록 하는 API가 포함되어 있습니다.
  • Query - 쿼리 범주를 통해 개발자는 관계 전반에 걸쳐 트윈 그래프에서 디지털 트윈 세트를 찾을 수 있습니다.
  • Event Routes - 이벤트 경로 범주에는 시스템 및 다운스트림 서비스를 통해 데이터를 라우팅하는 API가 포함되어 있습니다.
  • Import Jobs - 가져오기 작업 API를 사용하면 모델, 트윈, 관계를 대량으로 가져오는 장기 실행 비동기 작업을 관리할 수 있습니다.
  • Delete Jobs - 삭제 작업 API를 사용하면 인스턴스의 모든 모델, 트윈, 관계를 삭제하는 장기 실행 비동기 작업을 관리할 수 있습니다.

API를 직접 호출하려면 데이터 평면 Swagger 리포지토리의 최신 Swagger 폴더를 참조합니다. 이 폴더에는 사용법을 보여 주는 예제 폴더도 포함되어 있습니다. 데이터 평면 API 참조 설명서를 볼 수도 있습니다.

다음은 현재 Azure Digital Twins 데이터 평면 API에 사용할 수 있는 SDK입니다.

SDK 언어 패키지 링크 참조 설명서 소스 코드
.NET (C#) NuGet의 Azure.DigitalTwins.Core .NET용 Azure IoT Digital Twins 클라이언트 라이브러리에 대한 참조 GitHub의 .NET용 Azure IoT Digital Twins 클라이언트 라이브러리
Java Maven의 com.azure:azure-digitaltwins-core Java용 Azure Digital Twins SDK에 대한 참조 GitHub의 Java용 Azure IoT Digital Twins 클라이언트 라이브러리
JavaScript npm의 JavaScript용 Azure Azure Digital Twins Core 클라이언트 라이브러리 Reference for @azure/digital-twins-core GitHub의 JavaScript용 Azure Azure Digital Twins Core 클라이언트 라이브러리
Python PyPI의 Python용 Azure Azure Digital Twins Core 클라이언트 라이브러리 azure-digitaltwins-core에 대한 참조 GitHub의 Python용 Azure Azure Digital Twins Core 클라이언트 라이브러리

다음 단계

제안된 다음 단계는 다음과 같습니다.