Функции 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.GenericFileBinding
2.<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.GenericFileTriggerBindingProvider
2.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
}