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대의 기기 각각에 대해 분당 5번 호출할 수 있습니다.
하지만 프로젝트에 기기 3대씩을 보유한 사용자가 2명 있어 총 6대의 기기가 있는 경우, 동일한 명령어를 6대의 기기 각각에 대해 분당 5번 호출할 수는 없습니다. 따라서 프로젝트 사용자의 devices.executeCommand
API 수준 비율 제한이 10QPM인 경우 사용자당 15QPM이 됩니다.
기기 인스턴스 수준
또한 기기 배터리 보호를 위해 프로젝트와 명령어 (devices.executeCommand
) 전반에서 기기 인스턴스 수준 제한이 구현됩니다. 이 한도는 QPM 및 시간당 쿼리 (QPH) 수준 모두에 적용되며 get
및 list
API 메서드에는 적용되지 않습니다.
예를 들어 프로젝트 A와 프로젝트 B가 모두 동일한 기기인 기기 A에 액세스할 수 있다고 가정해 보겠습니다 (사용자가 동일한 기기를 사용하는 두 가지 상용 통합을 승인했을 수 있음). 프로젝트 A가 1분 이내에 기기 A에 명령어 4개를 전송한 경우 프로젝트 B는 기기 인스턴스 수준 비율 한도가 도달하기 전에 동일한 분에 기기 A에 명령어 1개만 전송할 수 있습니다. 이 시점에서 두 프로젝트에서 기기 A로 전송되는 명령어는 기기 A에 대한 첫 번째 명령어로 시작된 분의 끝까지 제한됩니다.
아래에 기기 유형이 표시되지 않으면 기기 인스턴스 수준 비율 제한이 없습니다.
기기 유형 | 기기 인스턴스 비율 제한 |
---|---|
온도 조절기 | 5QPM 또는 100QPH |
카메라 | 30QPM 또는 100QPH |
초인종 | 30QPM 또는 100QPH |
오류
이 가이드와 관련하여 다음과 같은 오류 코드가 반환될 수 있습니다.
오류 메시지 | RPC | 문제 해결 |
---|---|---|
비율 제한 | RESOURCE_EXHAUSTED |
각 개발자에게는 호출할 수 있는 횟수를 제한하는 할당량이 있습니다. 할당량보다 더 많이 호출하면 비율 제한 메시지가 표시됩니다. 이 문제를 해결하려면 할당량이 만료된 후 다시 전화를 제출하세요. |
API 오류 코드의 전체 목록은 API 오류 코드 참조를 확인하세요.