ho provato la seguente:Come si includono riferimenti a assembly esterni nelle funzioni Azure
using System;
using Newtonsoft.Json
using Newtonsoft.Linq
public static void Run(string myEventHubMessage, out string document, TraceWriter log)
{
log.Verbose($"C# Event Hub trigger function processed a message: {myEventHubMessage}");
dynamic jsonData = JObject.Parse(myEventHubMessage);
document = jsonData;
}
ottengo il seguente quando ho colpito il pulsante "Salva" nel portale Azure:
2016- 04-05T21: 28: 31 Benvenuto, ora sei connesso al servizio log-streaming . 2016-04-05T21: 28: 33.443 Script per la funzione 'ProbeEventHubTrigger' modificato. Ricarico. 2016-04-05T21: 28: 33.443 Script di funzione di compilazione. 2016-04-05T21: 28: 33.568 (2,22): errore CS1002:; previsto 2016-04-05T21: 28: 33.568 (3,22): errore CS1002:; previsto 2016-04-05T21: 28: 33.568 (2,7): errore CS0246: Impossibile trovare il tipo o il nome dello spazio dei nomi "Newtonsoft" (manca un utilizzando la direttiva o un riferimento all'assembly?) 2016-04 -05T21: 28: 33.568 (3,7): errore CS0246: Impossibile trovare il tipo o il nome dello spazio dei nomi "Newtonsoft" (manca una direttiva using o un riferimento all'assembly?) 2016-04-05T21: 28 : 33.568 (8,24): errore CS0103: il nome "JObject" non è non esiste nel contesto corrente 2016-04-05T21: 28: 33.568 Compilazione non riuscita.
Ho anche provato il seguente:
#r "Newtonsoft.Json"
#r "Newtonsoft.Linq"
using System;
public static void Run(string myEventHubMessage, out string document, TraceWriter log)
{
log.Verbose($"C# Event Hub trigger function processed a message: {myEventHubMessage}");
dynamic jsonData = JObject.Parse(myEventHubMessage);
document = jsonData;
}
In questo caso ottengo il seguente quando ho colpito il tasto "Salva" nel portale Azure:
2016-04-05T21 : 35: 36 Benvenuto, ora sei connesso al servizio di log-streaming . 2016-04-05T21: 35: 38.428 Script per la funzione 'ProbeEventHubTrigger' modificato. Ricarico. 2016-04-05T21: 35: 38.428 Script di funzione di compilazione. 2016-04-05T21: 35: 38.571 (2,1): errore CS0006: Impossibile trovare il file di metadati "Newtonsoft.Linq" 2016-04-05T21: 35: 38.571 (8,24): errore CS0103: The nome 'jobject' non non esiste nel contesto attuale
non è evidente dalla documentazione come fare riferimento a queste assemblee. Vedo in un esempio la sintassi è "utilizzando Newtonsoft.Json", ma questo non sembra funzionare nel portale. Eventuali suggerimenti?
Grazie. Potresti voler considerare l'aggiornamento degli esempi nella tua documentazione per mostrarlo. –
Grazie, Steve. Stiamo lavorando attivamente su campioni e documentazione per coprire le cose mancanti e renderle più individuabili. Alcune delle informazioni che ho condiviso sono trattate qui: https://azure.microsoft.com/en-us/documentation/articles/functions-reference/#referencing-external-assemblies ma sentitevi liberi di continuare a fare domande su SO e MSDN se non riesci a trovare le informazioni che stai cercando nei documenti. Ci arriveremo :) –
Grazie Fabio. Finora sono rimasto impressionato dalla semplicità con cui è possibile deselezionare i messaggi da un hub eventi e scaricarli in DocumentDB. Bel lavoro! –