사용자 및 비율 제한

Device Access 프로젝트는 상용 제품의 환경과 유형에 따라 사용자, 구조, 비율 제한으로 제한됩니다.

Google은 개발자가 매력적인 사용자 환경을 만들 수 있도록 지원하고자 하지만, 동시에 사용자가 언제든지 Nest 서비스와 기기를 사용할 수 있기를 바랍니다. 특정 기간에 다량의 요청을 실행하는 통합은 서비스 및 기기 가용성에 영향을 미칠 수 있으므로 SDM API는 비율 제한을 적용합니다. 비율 제한은 특정 기간의 API 호출 수를 제한하고 리소스 과다 사용을 방지합니다.

환경별 한도

모든 프로젝트는   샌드박스  환경에서 시작합니다. 샌드박스는 SDM API 및 개인 사용을 평가하기 위한 것이며 이에 따라 한도가 제한됩니다.   상용 개발  과 같이 사용자 기반이 더 큰 환경에는 다른 한도가 적용됩니다.

샌드박스 사용자 한도

샌드박스의 개발자 계정은 모든 프로젝트의 5개 구조에 걸쳐 25명의 사용자로 제한됩니다. 계정당 프로젝트는 3개로 제한됩니다.

구조는 각각 5명의 사용자로 제한되므로 각 5개의 구조로 모두 최대 5명의 사용자가 있는 경우에만 사용자 한도에 도달합니다. 프로젝트를 소유한 개발자 계정은 구조의 사용자 한도 5명에 포함되지 않습니다.

반대로 프로젝트의 사용자가 5개 구조 중 15명인 경우 이미 구조 한도에 도달했으므로 사용자를 기존 5개의 구조에만 추가할 수 있습니다.

샌드박스 비율 제한

샌드박스는 3가지 수준으로 전송 속도가 제한됩니다. 달리 명시되지 않는 한 한도는 분당 쿼리 수 (QPM)로 설정됩니다.

API 수준

API 호출은 프로젝트별, 사용자별로 제한됩니다. 개별 메서드에 관한 자세한 내용은 API 참조를 참고하세요.

API 메서드 비율 제한
devices.executeCommand 10 QPM
devices.get 10 QPM
devices.list 5 QPM
structures.get 5 QPM
structures.list 5 QPM
structures.rooms.get 5 QPM
structures.rooms.list 5 QPM

명령 수준

각 트레잇 명령어 (devices.executeCommand)는 프로젝트당, 사용자당, 기기당 5QPM으로 제한됩니다.

즉, 프로젝트에 기기 2대씩을 사용하는 사용자 2명이 있다면 (총 4대의 기기) 동일한 명령어를 4대의 기기 각각에 대해 1분에 5번 호출할 수 있습니다.

하지만 프로젝트에 기기 3대씩을 보유한 사용자가 2명 있어 총 6대의 기기가 있는 경우, 동일한 명령어를 6대의 기기 각각에 대해 분당 5번 호출할 수는 없습니다. 이에 따라 프로젝트 사용자의 devices.executeCommand API 수준 비율 한도가 10QPM인 경우 각 사용자의 QPM은 15QPM입니다.

기기 인스턴스 수준

또한 기기 배터리 보호를 위해 프로젝트와 명령어 (devices.executeCommand) 전반에서 기기 인스턴스 수준 제한이 구현됩니다. 이 한도는 QPM 및 시간당 쿼리 (QPH) 수준 모두에 적용되며 getlist API 메서드에는 적용되지 않습니다.

예를 들어 프로젝트 A와 프로젝트 B가 모두 동일한 기기인 기기 A에 액세스할 수 있다고 가정해 보겠습니다 (사용자가 동일한 기기를 사용하는 두 가지 상용 통합을 승인했을 수 있음). 프로젝트 A가 1분 내에 기기 A에 명령어 4개를 전송한 경우 프로젝트 B는 기기 인스턴스 수준 비율 제한에 도달하기 전까지 1분 이내에 기기 A에 명령어 1개만 전송할 수 있습니다. 이 시점에서 두 프로젝트에서 기기 A로 전송되는 명령어는 기기 A에 대한 첫 번째 명령어로 시작된 분의 끝까지 제한됩니다.

아래에 기기 유형이 표시되지 않으면 기기 인스턴스 수준 비율 제한이 없습니다.

기기 유형 기기 인스턴스 비율 제한
온도 조절기 5 QPM 또는 100 QPH
카메라 30 QPM 또는 100 QPH
DOORBELL 30QPM 또는 100QPH

오류

이 가이드와 관련하여 다음과 같은 오류 코드가 반환될 수 있습니다.

오류 메시지 RPC 문제 해결
비율 제한 RESOURCE_EXHAUSTED 각 개발자에게는 호출할 수 있는 횟수를 제한하는 할당량이 있습니다. 할당량보다 더 많이 호출하면 비율 제한 메시지가 표시됩니다. 이 문제를 해결하려면 할당량이 만료된 후 통화를 다시 제출하세요.

API 오류 코드의 전체 목록은 API 오류 코드 참조를 확인하세요.