Как я могу ссылаться на значение {rand-guid} из декларативного связывания в функции Azure? - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть функция Azure сценария C #, и я связываю большой двоичный объект как вывод в файле function.json:

"bindings": [
    ...
    {
      "type": "blob",
      "name": "eventOutputBlob",
      "path": "event-receiver-queue-container/{rand-guid}",
      "connection": "DomBlobStorage",
      "direction": "out"
    }
  ],
  "disabled": false
}

У меня возникают проблемы с выяснением, как ссылаться на параметр {rand-guid} внутри моего кода run.csx, чтобы я мог сохранить его в очереди для дальнейшей обработки. Возможно ли это?

Это не работает, но соответствует тому, что я надеялся получить в run.csx:

public static async Task<HttpResponseMessage> Run(
    HttpRequestMessage req,
    string rand-guid,
    Stream eventOutputBlob, 
    TraceWriter log) {
...
}

1 Ответ

0 голосов
/ 06 сентября 2018

Оказалось, что способ сделать это состоял в том, чтобы изменить сигнатуру метода для привязки на CloudBlockBlob вместо Stream:

public static async Task Run(
        HttpRequestMessage req,
        <s>string rand-guid,</s>
        <s>Stream eventOutputBlob,</s> CloudBlockBlob queueOutputBlob,
        TraceWriter log) {
    ...
    }

И изменить файл function.json так, чтобы он содержал inout для этого выпуска Github :

<code>"bindings": [
    ...
    {
      "type": "blob",
      "name": "eventOutputBlob",
      "path": "event-receiver-queue-container/{rand-guid}",
      "connection": "DomBlobStorage",
      <s>"direction": "out"</s> "direction": "inout"
    }
  ],
  "disabled": false
}

Теперь я могу позвонить queueOutputBlob.Name, чтобы получить имя большого двоичного объекта, в данном случае равное {rand-guid}.

...