Skip to content

Commit

Permalink
[Samples] Update extensions sample project (#1072)
Browse files Browse the repository at this point in the history
  • Loading branch information
liliankasem committed Sep 28, 2022
1 parent 5f39de6 commit b42a2a5
Show file tree
Hide file tree
Showing 12 changed files with 47 additions and 50 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System.Collections.Generic;
using System.Net;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
Expand Down
4 changes: 2 additions & 2 deletions samples/Extensions/EventHubs/EventHubsTriggerMetadata.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public static class EventHubsTriggerMetadata
public static void UsingContext([EventHubTrigger("src-context", Connection = "EventHubConnectionAppSetting")] string[] messages, FunctionContext context)
{
// Properties for messages are passed as binding data, which is accessible via the FunctionContext.
// However, this requires converting manually into the correct types.
// However, this requires converting manually into the correct types.
var enqueuedTimeUtc = context.BindingContext.BindingData["enqueuedTimeUtcArray"];
var sequenceNumberArray = context.BindingContext.BindingData["sequenceNumberArray"];
var offsetArray = context.BindingContext.BindingData["offsetArray"];
Expand All @@ -40,7 +40,7 @@ public static void UsingContext([EventHubTrigger("src-context", Connection = "Ev

// Note: The values in these dictionaries are sent to the worker as JSON. By default, System.Text.Json will not automatically infer primitive values
// if you attempt to deserialize to 'object'. See https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to?pivots=dotnet-5-0#deserialization-of-object-properties
//
//
// If you want to use Dictionary<string, object> and have the values automatically inferred, you can use the sample JsonConverter specified
// here: https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-converters-how-to?pivots=dotnet-5-0#deserialize-inferred-types-to-object-properties
//
Expand Down
22 changes: 7 additions & 15 deletions samples/Extensions/Extensions.csproj
Original file line number Diff line number Diff line change
@@ -1,32 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<IsPackable>false</IsPackable>
<TargetFramework>net6.0</TargetFramework>
<LangVersion>preview</LangVersion>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
<OutputType>Exe</OutputType>
<_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\key.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.2.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.9.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.CosmosDB" Version="3.0.9" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.EventGrid" Version="2.1.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.EventHubs" Version="4.2.1" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.EventGrid" Version="3.2.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.EventHubs" Version="5.1.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.0.13" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Kafka" Version="3.2.1" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.RabbitMQ" Version="1.0.0-beta" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="4.2.1" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Kafka" Version="3.5.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.RabbitMQ" Version="1.1.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="5.7.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.SignalRService" Version="1.*" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Storage" Version="4.0.4" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Timer" Version="4.1.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Warmup" Version="4.0.2" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.3.0" OutputItemType="Analyzer" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.7.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="System.Net.NameResolution" Version="4.3.0" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion samples/Extensions/Http/HttpFunction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public static class HttpFunction
var response = req.CreateResponse(HttpStatusCode.OK);
response.Headers.Add("Date", "Mon, 18 Jul 2016 16:06:00 GMT");
response.Headers.Add("Content-Type", "text/plain; charset=utf-8");

response.WriteString("Welcome to .NET 5!!");

return response;
Expand Down
4 changes: 1 addition & 3 deletions samples/Extensions/Queue/QueueFunction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ public static class QueueFunction
//<docsnippet_queue_trigger>
[Function("QueueFunction")]
[QueueOutput("output-queue")]
public static string[] Run([QueueTrigger("input-queue")] Book myQueueItem,

FunctionContext context)
public static string[] Run([QueueTrigger("input-queue")] Book myQueueItem, FunctionContext context)
//</docsnippet_queue_trigger>
{
// Use a string array to return more than one message.
Expand Down
15 changes: 11 additions & 4 deletions samples/Extensions/SignalR/SignalRNegotiationFunctions.cs
Original file line number Diff line number Diff line change
@@ -1,19 +1,26 @@
using Microsoft.Azure.Functions.Worker;
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;

namespace Extensions.SignalR
{
public static class SignalRNegotiationFunctions
{
[Function("Negotiate")]
public static SignalRConnectionInfo Negotiate([HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req, [SignalRConnectionInfoInput(HubName = "chat", ConnectionStringSetting = "SignalRConnection")] SignalRConnectionInfo connectionInfo)
public static SignalRConnectionInfo Negotiate(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req,
[SignalRConnectionInfoInput(HubName = "chat", ConnectionStringSetting = "SignalRConnection")] SignalRConnectionInfo connectionInfo)
{
return connectionInfo;
}

// When you have mulitple SignalR service instances and you want to customize the rule that route a client, use
// When you have multiple SignalR service instances and you want to customize the rule that route a client
[Function("NegotiateWithMultipleEndpoints")]
public static SignalRConnectionInfo NegotiateWithMultipleEndpoints([HttpTrigger(AuthorizationLevel.Anonymous)] HttpRequestData req, [SignalRNegotiationInput("chatHub", "SignalRConnection")] SignalRNegotiationContext negotiationContext)
public static SignalRConnectionInfo NegotiateWithMultipleEndpoints(
[HttpTrigger(AuthorizationLevel.Anonymous)] HttpRequestData req,
[SignalRNegotiationInput("chatHub", "SignalRConnection")] SignalRNegotiationContext negotiationContext)
{
// customize your rule here
return negotiationContext.Endpoints[0].ConnectionInfo;
Expand Down
15 changes: 6 additions & 9 deletions samples/Extensions/SignalR/SignalROutputBindingFunctions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ public static class SignalROutputBindingFunctions
{
[Function("BroadcastToAll")]
[SignalROutput(HubName = "chat", ConnectionStringSetting = "SignalRConnection")]
public static SignalRMessageAction BroadcastToAll(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req)
public static SignalRMessageAction BroadcastToAll([HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req)
{
using var bodyReader = new StreamReader(req.Body);
return new SignalRMessageAction("newMessage")
Expand All @@ -25,8 +24,7 @@ public static class SignalROutputBindingFunctions

[Function("SendToConnection")]
[SignalROutput(HubName = "chat", ConnectionStringSetting = "SignalRConnection")]
public static SignalRMessageAction SendToConnection(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req)
public static SignalRMessageAction SendToConnection([HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req)
{
using var bodyReader = new StreamReader(req.Body);
return new SignalRMessageAction("newMessage")
Expand All @@ -38,8 +36,7 @@ public static class SignalROutputBindingFunctions

[Function("SendToUser")]
[SignalROutput(HubName = "chat", ConnectionStringSetting = "SignalRConnection")]
public static SignalRMessageAction SendToUser(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req)
public static SignalRMessageAction SendToUser([HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req)
{
using var bodyReader = new StreamReader(req.Body);
return new SignalRMessageAction("newMessage")
Expand All @@ -51,8 +48,7 @@ public static class SignalROutputBindingFunctions

[Function("SendToGroup")]
[SignalROutput(HubName = "chat", ConnectionStringSetting = "SignalRConnection")]
public static SignalRMessageAction SendToGroup(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req)
public static SignalRMessageAction SendToGroup([HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req)
{
using var bodyReader = new StreamReader(req.Body);
return new SignalRMessageAction("newMessage")
Expand All @@ -65,7 +61,8 @@ public static class SignalROutputBindingFunctions
[Function("SendToEndpoint")]
[SignalROutput(HubName = "chat", ConnectionStringSetting = "SignalRConnection")]
public static SignalRMessageAction SendToEndpoint(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req, [SignalREndpointsInput("chat", ConnectionStringSetting = "SignalRConnection")] SignalREndpoint[] endpoints)
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req,
[SignalREndpointsInput("chat", ConnectionStringSetting = "SignalRConnection")] SignalREndpoint[] endpoints)
{
using var bodyReader = new StreamReader(req.Body);
return new SignalRMessageAction("newMessage")
Expand Down
6 changes: 5 additions & 1 deletion samples/Extensions/SignalR/SignalRTriggerFunctions.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
using Microsoft.Azure.Functions.Worker;
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.


using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;

namespace Extensions.SignalR
Expand Down
5 changes: 3 additions & 2 deletions samples/Extensions/Table/TableFunction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ public static class TableFunction
{
[Function("TableFunction")]
[TableOutput("OutputTable", Connection = "AzureWebJobsStorage")]
public static MyTableData Run([QueueTrigger("table-items")] string input,
[TableInput("MyTable", "MyPartition", "{queueTrigger}")] MyTableData tableInput,
public static MyTableData Run(
[QueueTrigger("table-items")] string input,
[TableInput("MyTable", "<PartitionKey>", "{queueTrigger}")] MyTableData tableInput,
FunctionContext context)
{
var logger = context.GetLogger("TableFunction");
Expand Down
1 change: 0 additions & 1 deletion samples/Extensions/Timer/TimerFunction.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;

Expand Down
4 changes: 2 additions & 2 deletions samples/Extensions/host.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
"isEnabled": true,
"excludedTypes": "Request"
}
}
}
Expand Down
18 changes: 9 additions & 9 deletions samples/Extensions/local.settings.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
"AzureWebJobsStorage": "",
"CosmosConnection": "AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==",
"SignalRConnection": "",
"CosmosDb": "ItemDb",
"CosmosCollIn": "ItemCollectionIn",
"CosmosCollOut": "ItemCollectionOut",
}
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
"AzureWebJobsStorage": "",
"CosmosConnection": "",
"SignalRConnection": "",
"CosmosDb": "ItemDb",
"CosmosCollIn": "ItemCollectionIn",
"CosmosCollOut": "ItemCollectionOut"
}
}

0 comments on commit b42a2a5

Please sign in to comment.