官术网_书友最值得收藏!

How to do it…

  1. Navigate to the Integrate tab of the RegisterUser HTTP trigger function.
  2. Click on the New Output button and select Azure Queue Storage then click on the Select button.
  3. Provide the following parameters in the Azure Queue Storage output settings:
    • Queue name: Set the value of the Queue name as userprofileimagesqueue
    • Storage account connection: Please make sure that you select the right storage account in the Storage account connection field
    • Message parameter name: Set the name of the parameter to objUserProfileQueueItem which will be used in the Run method
  4. Click on Save to the create the new output binding.
  1. In this recipe, we will look at another approach of grabbing the request parameters for which we will use the Newtonsoft.JSON library to parse the JSON data. Let's navigate to the View files tab as shown in the following screenshot:
  1. As shown in the preceding screenshot, click on Add to add a new file. Please make sure that you name it as project.json as shown in the preceding screenshot.
  2. Once the file is created, add the following code to the project.json file. The following code adds the reference of the Newtonsoft.Json library. 
        {
"frameworks" : {
"net46": {
"dependencies":{
"Newtonsoft.Json" : "10.0.2"
}
}
}
}
  1. Navigate back to the code editor by clicking on the function name (RegisterUser in this example) and paste the following code:
        #r "Microsoft.WindowsAzure.Storage"
using System.Net;
using Microsoft.WindowsAzure.Storage.Table;
using Newtonsoft.Json;
public static void Run(HttpRequestMessage req,
TraceWriter log,
CloudTable
objUserProfileTable,
out string
objUserProfileQueueItem
)
{
var inputs = req.Content.ReadAsStringAsync().Result;
dynamic inputJson = JsonConvert.DeserializeObject<dynamic>
(inputs);

string firstname= inputJson.firstname;
string lastname=inputJson.lastname;
string profilePicUrl = inputJson.ProfilePicUrl;

objUserProfileQueueItem = profilePicUrl;
UserProfile objUserProfile = new UserProfile(firstname,
lastname, profilePicUrl);
TableOperation objTblOperationInsert =
TableOperation.Insert(objUserProfile);

objUserProfileTable.Execute(objTblOperationInsert);
}

public class UserProfile : TableEntity
{
public UserProfile(string lastname, string firstname,
string profilePicUrl)
{
this.PartitionKey = "p1";
this.RowKey = Guid.NewGuid().ToString();
this.FirstName = firstname;
this.LastName = lastname;
this.ProfilePicUrl = profilePicUrl;
}
public UserProfile() { }
public string FirstName { get; set; }
public string LastName { get; set; }
public string ProfilePicUrl {get; set;}
}
  1. Click on Save to save the code changes in the code editor of the run.csx file.
  1. Let's test the code by adding another parameter ProfilePicUrl to the Request body shown as follows then click on the Run button in the Test tab of the Azure Function code editor window: The image used in the below JSON might not exist when you are reading this book. So, Please make sure that you provide a valid URL of the image.
        {
"firstname": "Bill",
"lastname": "Gates",
"ProfilePicUrl":"https://upload.wikimedia.org/wikipedia/
commons/1/19/Bill_Gates_June_2015.jpg"
}
  1. If everything goes fine you will see the Status : 200 OK message, then the image URL that you have passed as an input parameter in the Request body will be created as a Queue message in the Azure Storage Queue service. Let's navigate to Azure Storage Explorer, and view the Queue named userprofileimagesqueue, which is the Queue name that we have provided in the Step 3. Following is the screenshot of the Queue message that was created:
主站蜘蛛池模板: 靖安县| 麻城市| 乌兰浩特市| 松原市| 苏尼特右旗| 抚宁县| 黑水县| 香河县| 吉隆县| 高密市| 沧源| 赤水市| 江山市| 新蔡县| 容城县| 澄江县| 依安县| 上林县| 乐都县| 鄂托克前旗| 陵川县| 资兴市| 宁南县| 新竹市| 休宁县| 丰都县| 玛沁县| 社会| 大余县| 南投县| 新龙县| 靖安县| 嘉荫县| 都安| 轮台县| 肃宁县| 大理市| 亳州市| 集贤县| 门源| 大埔县|