Azure 이벤트 허브


Azure Event Hub 통합구성요소를 통해 Home Assistant 이벤트 버스에 연결하여 Azure Event Hub 또는 Azure IoT Hub로 이벤트를 보낼 수 있습니다.

최초 셋업

이것은 이미 Azure 계정이 있다고 가정합니다. 그렇지 않으면 무료 계정을 작성하십시오 here

해당 네임 스페이스에 Event Hub 네임 스페이스와 Event Hub를 만들어야합니다. this guide를 참조하십시오. 또는 네임 스페이스와 Event Hub를 사용하여 ARM 템플릿을 직접 배포 할 수 있습니다. from here.

그런 다음 ‘Send’ 클레임을 사용하여 Event Hub에 대한 공유 액세스 정책을 작성하거나 네임 스페이스에서 RootManageAccessKey(이 키에는 이벤트 허브 관리 및 listening를 포함하여 이 목적에 필요하지 않은 추가 청구(claim)가 있습니다.)를 사용해야합니다. Event Hubs의 보안에 대한 자세한 내용은 go here를 참조하십시오.

네임 스페이스, 인스턴스, 공유 액세스 정책의 이름 및 해당 정책의 키가 있으면 통합 자체를 설정할 수 있습니다.

설정

configuration.yaml 파일에 다음 줄을 추가하십시오 :

# Example configuration.yaml entry
azure_event_hub:
  event_hub_namespace: NAMESPACE_NAME
  event_hub_instance_name: EVENT_HUB_INSTANCE_NAME
  event_hub_sas_policy: SAS_POLICY_NAME
  event_hub_sas_key: SAS_KEY
  filter:
    include_domains:
    - homeassistant
    - light
    - media_player

Configuration Variables

event_hub_namespace

(string)(Required)

The name of your Event Hub namespace.

event_hub_instance_name

(string)(Required)

The name of your Event Hub instance.

event_hub_sas_policy

(string)(Required)

The name of your Shared Access Policy.

event_hub_sas_key

(string)(Required)

The key for the Shared Access Policy.

filter

(map)(Required)

Filter domains and entities for Event Hub.

Default value:

Includes all entities from all domains

include_domains

(list)(Optional)

List of domains to include (e.g., light).

exclude_domains

(list)(Optional)

List of domains to exclude (e.g., light).

include_entities

(list)(Optional)

List of entities to include (e.g., light.attic).

exclude_entities

(list)(Optional)

List of entities to include (e.g., light.attic).

도메인 또는 엔터티를 필터링하지 않으면 모든 이벤트가 Azure Event Hub로 전송되므로 많은 공간을 차지합니다.
이벤트 허브의 보존 시간은 최대 7 일이며, 이벤트 허브에서 자동으로 삭제 된 이벤트를 캡처하거나 사용하지 않으면 기본 보존은 1 일입니다.

Azure에서 데이터 사용하기

Event Hub로 들어오는 데이터를 Azure의 저장소로 스트리밍하는 여러 가지 방법이 있습니다. 가장 쉬운 방법은 기본 제공 Capture 기능을 사용하는 것입니다. 그러면 Azure Blob Storage 또는 Azure Data Lake Store에서 데이터를 캡처 할 수 있습니다. details here

Azure (외부포함)의 다른 저장소는 Azure Stream Analytics job은 예를들어 Cosmos DB, Azure SQL DB, Azure Table Storage, Azure Blob Storage에 대한 사용자 지정 작성과 Topic and Queues 등을 사용하여 가능합니다.

분석 측면에서 Event Hub를 Azure Databricks Spark, Azure Time Series InsightsMicrosoft Power BI에 직접 공급할 수 있습니다.

Azure에서 데이터를 사용하는 마지막 방법은 Event Hub trigger binding을 사용하여 Azure Function을 Event Hub에 연결하는 것입니다.