вам нужно будет включить файл в ваш проект и отметить его как всегда копируемый. Этот GIF показывает, как это сделать.

могу связать входной параметр типа blob с любой строкой / TextReader без использования [BlobAttribute] в реализации C # (не CSX).

Я получаю ошибку:

Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.Harvester'. 
Microsoft.Azure.WebJobs.Host: Cannot bind parameter 'configReader' to type 
TextReader. Make sure the parameter Type is supported by the binding. If 
you're using binding extensions (e.g. ServiceBus, Timers, etc.) make sure 
you've called the registration method for the extension(s) in your startup 
code (e.g. config.UseServiceBus(), config.UseTimers(), etc.).

function.config:

"bindings": [
    {
      "type": "timerTrigger",
      "schedule": "0 */5 * * * *",
      "useMonitor": true,
      "runOnStartup": false,
      "direction": "in",
      "name": "myTimer"
    },
    {
      "type": "blob",
      "name": "configReader",
      "path": "secured/app.config.json",
      "connection": "XXX",
      "direction": "in"
    }
  ],

Подпись функции (НЕ СВЯЗАТЬСЯconfigReader):

[FunctionName("Harvester")]
 public static async Task Run(
   [TimerTrigger("0 */5 * * * *")]TimerInfo myTimer,
   TraceWriter log,
   TextReader configReader)

Это будет работать, хотя (BINDINGconfigReader:

[FunctionName("Harvester")]
 public static async Task Run(
   [TimerTrigger("0 */5 * * * *")]TimerInfo myTimer,
   TraceWriter log,
   [Blob("secured/app.config.json", FileAccess.Read)]TextReader configReader)

Любая идея о том, как заставить это работать без указания пути BLOB-объекта вBlobAttribute, В идеале я бы оставил конфигурацию Blob вне кода, чтобы моя функция стала более переносимой.

Ответы на вопрос(0)

Ваш ответ на вопрос