Exemplo n.º 1
0
        public static HttpResponseMessage Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req,
            [LogAnalytics(OperationsManagementWorkspace = "OperationsManagementWorkspace", OperationsManagementKey = "OperationsManagementKey", LogName = "LogName")] out LogAnalyticsMessage logAnalyticsMessage,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");

            logAnalyticsMessage = new LogAnalyticsMessage();

            // parse query parameter
            string msg = req.GetQueryNameValuePairs()
                         .FirstOrDefault(q => string.Compare(q.Key, "msg", true) == 0)
                         .Value;

            // because of the out keyword we can't make the method async so we'll do our async call this way
            // this is to get the req body incase it was passed in
            dynamic data = Task.Run(async() =>
            {
                return(await req.Content.ReadAsAsync <object>());
            });

            // Set message to query string or body data
            string message = msg ?? data?.msg;

            // set the message to be logged
            logAnalyticsMessage.Text = message;

            return(message == null
                ? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a msg on the query string or in the request body")
                : req.CreateResponse(HttpStatusCode.OK, "Message logged"));
        }
Exemplo n.º 2
0
        public static string Run(
            [HttpTrigger] LogAnalyticsMessage message,
            [LogAnalytics()] out LogAnalyticsMessage slackMessage,
            TraceWriter log)
        {
            slackMessage = message;

            return("Ok");
        }