Лазурная функция http триггер ввода Космос дБ документа

1

Ссылаясь на эту лазурную документацию и используя параметры из триггера http

Это относится конкретно к

 "id" : "{queueTrigger_payload_property}",
 "partitionKey": "{queueTrigger_payload_property}",

Если у меня есть функция javascript, HTTP Trigger, который предоставляет пакет JSON в теле. Как использовать привязки Azure cosmos db для получения документа с использованием привязки для передачи значения http json в запрос cosmos db?

Я ожидаю подобного:

"sqlQuery": "SELECT * from c where c.departmentId = {departmentId}",

кроме того, что {departmentId} должен быть свойством из httptrigger (named req)?

таким образом функция.json выглядит так:

{
       "authLevel": "function",
       "type": "httpTrigger",
       "direction": "in",
       "name": "req"
     }, {
      "type": "documentDB",
      "name": "inputDocument",
      "databaseName": "mydb",
      "collectionName": "things",
      "partitionKey": "/things/thingid",
      "connection": "my_DOCUMENTDB",
      "direction": "in",
      "sqlQuery": "Select * from things s where s.thingid={httpTrigger_body_thingid}"
    }

Http Trigger в javascript будет выглядеть так в функции, которая работает: req.body.thingid, однако привязка к входным результатам приводит к ошибкам, "свойство не определено", так как я могу использовать вход HTTP Trigger для получения значения из json-пакет для запроса космоса db в первом входе, все в той же функции?

Теги:
azure-cosmosdb
azure-functions

1 ответ

2
Лучший ответ

Это должно быть просто {thingid}:

{
  "type": "documentDB",
  "name": "inputDocument",
  "databaseName": "mydb",
  "collectionName": "things",
  "connection": "my_DOCUMENTDB",
  "direction": "in",
  "sqlQuery": "select * from things s where s.thingid={thingid}"
}

Для запроса POST, например

{
  "thingid": "293a2fc3-799f-4669-92d3-3413f1afa51e"
}

он доставит документы в context.bindings.inputDocument (массив javascript).

  • 0
    полезно, но если я использую select * from s, где s.thingid = {thingid}, он никогда не найдет запись. Кажется, что это утверждение тесно связано с полем id документа, потому что если я заменю just {thingid} на значение «id» в моем документе, то документ будет найден. Кроме того, для второго примера «id»: «{thingid}» работает, только если ключ является id. Мой раздел был на "thingid".
  • 0
    Я только что проверил оба, и это сработало для моей коллекции. Второй вариант действительно только для id . Я удалю это.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню