2

Мне нужно получить папку Dropbox/один диск, и любое обновление или изменение файла получает FTP'd для вывода. Для того, чтобы ознакомиться с I попытались C# код разделяемыхAzure Функции: как смотреть папку Dropbox или OneDrive и синхронизировать местоположение ftp

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

Моего пробега .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 
    } 

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

Host Error: Microsoft.Azure.WebJobs.Extensions.ApiHub: Path 'input-cs' is invalid. IFolderItem.RootPath must be set to a valid directory location.

я играл, и снял «ввод-CS» и «выход-ККС» в моем function.json выше, выше ошибка идети компиляция преуспевает, но снова в журналах я не считаю это должным образом. Вход, как показано ниже:

2016-07-25T12:52:07.957 Script for function 'SaasFileTriggerCSharp1' changed. Reloading.

2016-07-25T12:52:07.957 Compiling function script.

2016-07-25T12:52:08.020 Compilation succeeded.

2016-07-25T12:52:29.137 Exception while executing function: Functions.SaasFileTriggerCSharp1. Microsoft.Azure.WebJobs.Host: One or more errors occurred. Exception binding parameter 'input'. Microsoft.Azure.ApiHub.Sdk: /apim/dropbox/8b82684e13e44f499752a742adc4d30d/datasets/default/GetFileContentByPath?path=%7B%0A%20%20%20%20%22name%22:%20%22IMG-20140517-WA0001.jpg%22%0A%7D.

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

========================================================================================================================================== ============================ Ошибка: Исключение связывания параметра 'вход'

вход:/apim/раздаточная/8b82684e13e44f499752a742adc4d30d/наборов данных/по умолчанию/GetFileContentByPath путь =% 7B% 0A% 20% 22name% 22% 20:% 20% 22% 22% 0A% 7D

ilerServices.TaskAwaiter.ValidateEnd(Task task) at 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() --- 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.Host.Triggers.TriggeredFunctionBinding`1.d__7.MoveNext() --- End of inner exception stack trace --- at Microsoft.Azure.WebJobs.Host.Executors.DelayedException.Throw() at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.d__33.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.Host.Executors.FunctionExecutor.d__2e.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 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.d__15.MoveNext() --- End of inner exception stack trace ---

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

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

ответ

0

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

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

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

с использованием системы;

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 
    } 
+0

Спасибо за ответ. Сегодня мне было предложено обновить функциональное время исполнения от 0,3 до 0,4, а теперь ** версия 0.4 **. Теперь получите следующую ошибку: 'input \t/apim/dropbox/4c60dc53f902472fb59704d1f0dc7f2f/datasets/default/GetFileContentByPath? Path =% 7B% 0A% 22name% 22% 20:% 20% 22FB_IMG_1468342110321.jpg% 22% 20% 0A% 7D output \t Нет значения для named parameter 'name'.' –

+0

Кроме того, я играл с дизайнером логических приложений, чтобы узнать о подключении и кодексе Dropbox. Интересно, что папка с именем «Документы» входит в шаблон как «документы». Пожалуйста, найдите мой основной пост, обновленный с кодом. –

+0

Хорошо, похоже, что в приведенном выше сценарии вы нажимаете кнопку «Выполнить» на портале, а не копируете файл в папку «docs» вашего Dropbox и запускаете функцию, чтобы скопировать файл. Для того, чтобы сценарий «Выполнить» работал, вам нужно будет иметь что-то вроде этого в поле тела запроса: docs/readme.md (при условии, что у вас есть файл с именем readme.md), похоже, что в шаблоне есть ошибка, копирует содержимое json в этом поле по умолчанию. мы исправим это в ближайшее время. –

 Смежные вопросы

  • Нет связанных вопросов^_^