public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req, ExecutionContext context, ILogger logger) { logger.LogInformation("C# HTTP trigger function processed a request."); var siteId = Environment.GetEnvironmentVariable("sharePointSite"); var tenant = Environment.GetEnvironmentVariable("ida:Tenant"); var keyVaultUrl = Environment.GetEnvironmentVariable("KEYVAULT"); //We are going to get these from the Key Vault var certName = Environment.GetEnvironmentVariable("secretCertName"); var clientId = Environment.GetEnvironmentVariable("secretCertClientIdKey"); //Some examples of logging to AppInsights logger.LogInformation("101 Azure Function Demo - Logging with ITraceWriter"); logger.LogTrace("Here is a verbose log message"); logger.LogWarning("Here is a warning log message"); logger.LogError("Here is an error log message"); logger.LogCritical("This is a critical log message => {message}", "We have a big problem"); // Track an Event in AppInsights var evt = new EventTelemetry("Function called"); UpdateTelemetryContext(evt.Context, context, "CertificateAppOnly"); telemetryClient.TrackEvent(evt); //Get a client context var clientContext = HelperSharePoint.GetClientContext(tenant, siteId, clientId, keyVaultUrl, certName, logger); Web ccWeb = clientContext.Web; clientContext.Load(ccWeb); clientContext.ExecuteQuery(); logger.LogInformation("web title is " + ccWeb.Title); logger.LogMetric("TestMetric", 1234); return(clientContext == null ? req.CreateResponse(HttpStatusCode.BadRequest, "We couldn't get the title of the site") : req.CreateResponse(HttpStatusCode.OK, "The title of the web is " + clientContext.Web.Title)); }
public static async Task <HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req, ILogger logger) { logger.LogInformation("C# HTTP trigger function processed a request for testing the web hook."); var siteId = Environment.GetEnvironmentVariable("sharePointSite"); var listId = Environment.GetEnvironmentVariable("sharePointListId"); var tenant = Environment.GetEnvironmentVariable("ida:Tenant"); var webHookEndPoint = Environment.GetEnvironmentVariable("webHookEndPoint"); var keyVaultUrl = Environment.GetEnvironmentVariable("KEYVAULT"); //Get these from Key Vault var clientId = Environment.GetEnvironmentVariable("secretCertClientIdKey"); var certName = Environment.GetEnvironmentVariable("secretCertName"); //Authenticate with SharePoint using the certificate var authenticationResult = HelperSharePoint.GetAuthenticationResult(tenant, siteId, clientId, keyVaultUrl, certName, logger); var result = await HelperWebHooks.AddListWebHookAsync(siteId, listId, webHookEndPoint, authenticationResult.AccessToken, 3); return(result == null ? req.CreateResponse(HttpStatusCode.BadRequest, "Couldn't register the web hook") : req.CreateResponse(HttpStatusCode.OK, result)); }