이벤트 구독

이벤트는 비동기식이며 Google Cloud Pub/Sub에 의해 Project이벤트는 모든 기기와 구조에 대한 업데이트를 제공하고 이벤트 수신은 사용자가 액세스 토큰을 취소하지 않고 이벤트 메시지가 만료되었습니다.

이벤트는 SDM API의 선택적 기능입니다. 사용자는 할 수 있습니다. Google Cloud Storage나 BigQuery를 사용하여 살펴보겠습니다

이벤트 사용 설정

이벤트는 Device Access 콘솔 다음에서 프로젝트를 선택합니다. 아직 설치하지 않았다면 Console을 엽니다.

콘솔로 Device Access 이동

이미 이벤트를 사용 설정한 경우 (예: 프로젝트 기간 중 생성), 프로젝트 정보 섹션의 Pub/Sub 주제 필드에는 이미 주제 ID라고 하는 값으로, 다음과 같은 형식을 사용합니다.

projects/sdm-prod/topics/enterprise-project-id

이벤트를 사용 설정하지 않은 경우:

  1. Pub/Sub의 아이콘을 클릭합니다. 주제를 클릭하고 수정을 선택합니다.
  2. 이벤트 사용 설정을 선택하고 저장을 클릭합니다.
  3. 주제 ID는 위에 표시된 형식으로 생성됩니다.

주제 ID를 복사합니다. 주제 ID는 주제에 대한 구독을 만드는 데 필요하므로 이벤트 메시지를 가져올 수 있습니다.

풀 구독 만들기

풀 구독은 구독자가 Pub/Sub에 요청을 시작하는 것입니다. 대기 중인 이벤트 메시지의 서버입니다. 이렇게 하면 게시자가 사이트를 이벤트가 생성되고 있습니다.

Google Cloud 프로젝트용으로 Cloud Shell을 엽니다.

Google Cloud Shell로 이동

Cloud Shell 프롬프트에서 다음 명령어를 실행하여 가져오기를 만듭니다. 원하는 subscription-id를 사용하여 주제 구독 및 고유한 주제 ID:

gcloud pubsub subscriptions create subscription-id --topic=projects/sdm-prod/topics/enterprise-project-id
Created subscription [projects/gcp-project-name/subscriptions/subscription-id].

이벤트 시작

Pub/Sub 구독이 완료되면 처음으로 이벤트 시작 알림을 받으면 호출하여 기기를 일회성 트리거로 나열합니다.

curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer access-token'

모든 구조 및 기기의 이벤트가 이 API 호출 후에 게시됩니다.

이벤트 생성

이벤트는 모든 트레잇 필드 변경에 관해 생성되며, 그 중 일부는 자동입니다. 약간의 수동 작업이 있습니다.

예를 들어 기기 주변의 주변 온도가 Nest 온도 조절기가 변경되면 온도 특성은 새로운 ambientTemperatureCelsius 값과 함께 자동으로 전송됩니다.

수동으로 생성하려면 다음 방법 중 하나를 사용하세요.

  1. 기기의 상태를 물리적으로 변경(예: Nest Thermostat
  2. 기기에서 움직임, 사람, 소리와 같은 이벤트를 Google Nest Cam Indoor
  3. 기기 명령어 실행 SDM API를 사용합니다.

메시지 보기

이벤트 메시지는 Google Cloud 프로젝트, Pub/Sub 구독 섹션:

Google Cloud Pub/Sub 구독으로 이동

  1. 앞서 만든 구독 ID를 클릭합니다.
  2. 구독 세부정보 화면에 미확인 메시지 수 차트 이벤트 메시지가 도착했음을 나타냅니다. 살펴보겠습니다 활동이 표시되지 않으면 잠시 기다려 주세요. 이벤트를 몇 개 더 생성할 수 있습니다
  3. 메시지 보기를 클릭하여 다음을 수행합니다. Messages 패널이 표시됩니다.
  4. 가져오기를 클릭하여 메시지를 확인합니다. 액션과 관련이 있어야 하며 사용할 수 있습니다

메시지는 Cloud Shell에서 기본 pull 명령어를 사용하여 볼 수도 있습니다.

gcloud pubsub subscriptions pull subscription-id

구독 유형과 전송된 이벤트 유형에 대해 자세히 알아보세요. 자세한 내용은 이벤트.

메일 관리

구독을 유지하려면 메시지를 정기적으로 확인하고 삭제해야 합니다. 정리하여 다른 구독자에게 메시지가 중복해서 전달되지 않도록 합니다. 전체 구독 메시지는 Pub/Sub 구독에서 수동으로 삭제할 수 있습니다. 섹션:

Google Cloud Pub/Sub 구독으로 이동

  1. 구독 ID를 클릭합니다.
  2. 다음과 같은 몇 가지 방법으로 이를 확인하고 삭제할 수 있습니다.
    1. 메시지 보기를 클릭하여 다음을 수행합니다. Messages 패널이 표시됩니다. 확인 메시지 사용 설정을 선택합니다. 체크박스를 선택하고 가져오기를 클릭하여 모든 메시지를 보고 확인합니다.
    2. 삭제를 클릭합니다. 메시지를 사용하지 않고 확인하면 모든 기존 메시지가 삭제됩니다. 볼 수 있습니다. 삭제를 클릭하여 확인합니다.

메시지는 다음과 함께 --auto-ack 플래그를 사용하여 Cloud Shell에서 영구 삭제할 수도 있습니다. 기본 pull 명령어:

gcloud pubsub subscriptions pull subscription-id --auto-ack

구독 관리

구독은 다음 페이지에 설명된 대로 다양한 방식으로 구성할 수 있습니다. 구독 속성 사용

구독 및 메시지를 관리하는 방법은 본인에게 달려 있지만 가장 적합한 애플리케이션을 위해 서비스 계정: 사용자 계정이 아닌 인증을 시작 가이드를 참조하세요. 서비스 계정은 애플리케이션이 아닌 애플리케이션이나 가상 머신에서 사용됩니다. 고유한 계정 키가 있습니다.

Device Access를 사용한 서비스 계정 인증에 대한 자세한 내용은 다음을 참조하세요. 이벤트.