private static void PostToIndex(IndexBlobMessage message, string productId)
        {
            var requestUri = new Uri(string.Format("{0}/indexes/{1}/docs/index?api-version={2}", message.Url, message.Name, message.ApiVersion));

            // Construct JSON format for indexing 
            var indexObject = new JObject();
            var indexObjectArray = new JArray();
            var itemChild = new JObject { { "@search.action", "upload" } };
            itemChild.Merge(message.Content);
            indexObjectArray.Add(itemChild);
            indexObject.Add("value", indexObjectArray);

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add("api-key", message.AdminApiKey);
                HttpResponseMessage result =
                    client.PostAsync(requestUri, new StringContent(indexObject.ToString()
                        , Encoding.UTF8, "application/json"))
                          .Result;

                if (result.StatusCode == HttpStatusCode.OK)
                {
                    Console.WriteLine("Uploaded product {0} to index '{1}'", productId, message.Name);
                }
                else
                {
                    var err = string.Format("Document failed to upload: {0} \r\n",
                                            result.Content.ReadAsStringAsync().Result);
                    throw new Exception(err);
                }
            }
        }
        public static void ProcessAzureSearchBlob([BlobTrigger("azure-search-files/{name}")] TextReader inputReader)
        {
            var message = new IndexBlobMessage();

            var deserializer = new XmlSerializer(typeof(Product), new XmlRootAttribute("Product"));
            var product = (Product)deserializer.Deserialize(inputReader);
            inputReader.Close();
            
            var jsonString = JsonConvert.SerializeObject(product,Formatting.Indented, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() });
            message.Content = JObject.Parse(jsonString);

            PostToIndex(message, product.ProductId);
        }