Функции Azure: как просмотреть папку Dropbox или OneDrive и синхронизировать расположение FTP

Мне нужно получить папку Dropbox / один диск, и при любом обновлении или изменении файла FTP выводится. Чтобы познакомиться с я попробовал C# код поделился

но я получаю следующее сообщение об ошибке:- Обработать файл с помощью функции Azure====== Обновить код C#, который я использовал ======

Мой run.csx выглядит следующим образом: using System;

public static void Run(string input, out string output, TraceWriter log)
{
    log.Info($"C# SaaS trigger function processed a file!!");

output = input;
}

==========================

Мой function.json как ниже:

{
  "bindings": [
{
  "type": "apiHubFileTrigger",
  "name": "input",
  "direction": "in",
  "path": "/Docs/{name}",
  "connection": "dropbox_DROPBOX"
},
{
  "type": "apiHubFile",
  "name": "output",
  "direction": "out",
  "path": "{name}",
  "connection": "googledrive_GOOGLEDRIVE"
}
  ],
"disabled": false
    }

где пути изменены, потому что я получаю ошибку ниже:

Ошибка хоста: Microsoft.Azure.WebJobs.Extensions.ApiHub: путь 'input-cs' неверен. IFolderItem.RootPath должен быть установлен в правильное местоположение каталога.

Я поиграл и удалил 'input-cs' и 'output-cs' в моем файле function.json выше, вышеуказанная ошибка исчезла, и компиляция прошла успешно, но снова в журналах я не нахожу это правильным. Журнал, как показано ниже:

2016-07-25T12: 52: 07.957 Изменен скрипт для функции 'SaasFileTriggerCSharp1'. Перегрузочный.

2016-07-25T12: 52: 07.957 Компиляция скрипта функции.

2016-07-25T12: 52: 08.020 Компиляция выполнена успешно.

2016-07-25T12: 52: 29.137 Исключительная ситуация при выполнении функции: Functions.SaasFileTriggerCSharp1. Microsoft.Azure.WebJobs.Host: произошла одна или несколько ошибок. Параметр привязки исключения "вход". Microsoft.Azure.ApiHub.Sdk: /apim/dropbox/8b82684e13e44f499752a742adc4d30d/datasets/default/GetFileContentByPath?path=%7B%0A%20%20%20%20%22name%22:%5j22IM00-20100122-0000 %22%0A%7D.

Пробовал с C# и Node.js Saasfiletriggers и тем же исключением. Ниже приведен журнал вызовов:

================================================== ==================Ошибка: параметр привязки исключения 'input'

input: / apim / dropbox / 8b82684e13e44f499752a742adc4d30d / наборы данных / default / GetFileContentByPath? path =% 7B% 0A% 20% 22name% 22% 20:% 20% 22% 22% 0A% 7D

ilerServices.TaskAwaiter.ValidateEnd (Задача) на Microsoft.Azure.WebJobs.Extensions.ApiHub.Common.GenericFileBinding2.<BindAsync>d__11.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Azure.WebJobs.Extensions.ApiHub.Common.GenericFileTriggerBindingProvider2.GenericTriggerbinding.d__9.MoveNext () --- Конец трассировки стека из предыдущего местоположения, в котором было сгенерировано исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(задача-задача) в System.Runtime.CompilerServices.TaskAwaiter.HandleNeb (Задача) в Microsoft.Azure.WebJobs.Host.Triggers.TriggeredFunctionBinding`1.d__7.MoveNext() --- Конец внутренней трассировки стека исключений --- в Microsoft.Azure.WebJobs.Host.Executors.DelayedException.Throw() в Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.d__33.MoveNext() --- Конец трассировки стека из предыдущего расположения, в котором было сгенерировано исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(задача задачи) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Задача) в Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.d__2e.MoveNext() --- Конец трассировки стека из предыдущего расположения, где было сгенерировано исключение --- в System.Runtime.CompilerService s.TaskAwaiter.d__15.MoveNext() --- Конец внутренней трассировки стека исключений ---

================================================== ==================

Будут ли какие-либо образцы, которые я мог бы прочитать или сослаться, чтобы приспособиться к моим потребностям Запрос предложений и помощи.

1 ответ

Если вы хотите записать в корневую папку googledrive, путь должен быть "/{name}" с косой чертой.

В приведенном ниже примере выходной папкой является "docsoutput". если выходная папка не существует, она будет создана при запуске функции.

Если приведенный ниже пример не работает, вставьте также код функции C#. также убедитесь, что вы используете последнюю версию функций времени выполнения.

используя Систему;

public static void Run(string input, out string output, TraceWriter log)
{
    log.Info($"C# SaaS trigger function processed a file!!");

    output = input;
}

function.json:

   {
      "bindings": [
    {
      "type": "apiHubFileTrigger",
      "name": "input",
      "direction": "in",
      "path": "Docs/{name}",
      "connection": "dropbox_DROPBOX"
    },
    {
      "type": "apiHubFile",
      "name": "output",
      "direction": "out",
      "path": "docsoutput/{name}",
      "connection": "googledrive_GOOGLEDRIVE"
    }
      ],
    "disabled": false
    }
Другие вопросы по тегам