Google Cloud IoT - sendCommandToDevice - служба недоступна - PullRequest
0 голосов
/ 27 октября 2018

Конечная точка sendCommandToDevice кажется недоступной. Я попытался отправить команду прямо из облачной консоли на странице устройства. В уведомлении внизу слева указано Command sent to device, но инспектор Chrome обнаружил ошибку 503 . Время ошибки: 17: 46: 02 UTC Суббота, 27 октября 2018 года

Запрос:

Request URL: https://cloudiot.clients6.google.com/v1/projects/<project-id>/locations/<location-name>/registries/<registry-name>/devices/<device-name>/:sendCommandToDevice?key=<removed> Request Method: POST Status Code: 503 Remote Address: 216.58.196.74:443 Referrer Policy: no-referrer-when-downgrade Payload: {binaryData: "eyJ0ZXN0IjoxfQ==", subfolder: ""}

Ответ:

{ "error": { "code": 503, "message": "The service is currently unavailable.", "status": "UNAVAILABLE" } }

Кроме того, дополнительное примечание sendCommandToDevice недоступно в клиентской библиотеке nodejs (34.0.0). Я должен был сделать обнаружение API, чтобы метод был доступен.

Ответы [ 2 ]

0 голосов
/ 29 декабря 2018

Вероятно, это связано с

  1. ошибкой в ​​библиотеке узлов
  2. ошибкой в ​​конечной точке RPC Google
  3. Отсутствием тестирования со стороны Google

Проблема в том, что subfolder ДОЛЖЕН быть указан , а ДОЛЖЕН не быть пустой строкой.

Поскольку я использовал это в функции FirebaseЯ просто использую подпапку firebase для любых отправляемых команд, у которых нет определенной подпапки

const request = {
    name: `${registryName}/devices/${deviceId}`,
    binaryData: Buffer.from(JSON.stringify(commandMessage)).toString("base64"),
    subfolder: 'firebase'
}

Вот функции deps:

  "dependencies": {
    "firebase-admin": "^6.4.0",
    "firebase-functions": "^2.1.0",
    "fs-extra": "^7.0.0",
    "googleapis": "^36.0.0",
  },
0 голосов
/ 05 ноября 2018

Вы все еще получаете 503?Я только что проверил это и смог успешно получать сообщения.

Кроме того, в связи с отсутствием функций Команды в клиентской библиотеке, Команды все еще находятся в бета-версии, и эти методы будут доступны в клиентской библиотеке.как только он полностью освобожден.

...