Skip to content

Commit 4bcf248

Browse files
Emil Cicosmathewc
authored andcommitted
Support for ApiHub tabular connectors.
1 parent 526a13c commit 4bcf248

File tree

29 files changed

+857
-63
lines changed

29 files changed

+857
-63
lines changed

src/WebJobs.Script.Host/WebJobs.Script.Host.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
<Private>True</Private>
7070
</Reference>
7171
<Reference Include="Microsoft.Azure.ApiHub.Sdk, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
72-
<HintPath>..\..\packages\Microsoft.Azure.ApiHub.Sdk.0.6.5-alpha\lib\net45\Microsoft.Azure.ApiHub.Sdk.dll</HintPath>
72+
<HintPath>..\..\packages\Microsoft.Azure.ApiHub.Sdk.0.6.6-alpha\lib\net45\Microsoft.Azure.ApiHub.Sdk.dll</HintPath>
7373
<Private>True</Private>
7474
</Reference>
7575
<Reference Include="Microsoft.Azure.Documents.Client, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -89,27 +89,27 @@
8989
<Private>True</Private>
9090
</Reference>
9191
<Reference Include="Microsoft.Azure.WebJobs.Extensions, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
92-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.2.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
92+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.2.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
9393
<Private>True</Private>
9494
</Reference>
9595
<Reference Include="Microsoft.Azure.WebJobs.Extensions.ApiHub, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
96-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.ApiHub.1.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.ApiHub.dll</HintPath>
96+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.ApiHub.1.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.ApiHub.dll</HintPath>
9797
<Private>True</Private>
9898
</Reference>
9999
<Reference Include="Microsoft.Azure.WebJobs.Extensions.DocumentDB, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
100-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.DocumentDB.1.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.DocumentDB.dll</HintPath>
100+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.DocumentDB.1.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.DocumentDB.dll</HintPath>
101101
<Private>True</Private>
102102
</Reference>
103103
<Reference Include="Microsoft.Azure.WebJobs.Extensions.MobileApps, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
104-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.MobileApps.1.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.MobileApps.dll</HintPath>
104+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.MobileApps.1.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.MobileApps.dll</HintPath>
105105
<Private>True</Private>
106106
</Reference>
107107
<Reference Include="Microsoft.Azure.WebJobs.Extensions.NotificationHubs, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
108-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.1.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.dll</HintPath>
108+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.1.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.dll</HintPath>
109109
<Private>True</Private>
110110
</Reference>
111111
<Reference Include="Microsoft.Azure.WebJobs.Extensions.SendGrid, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
112-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.SendGrid.2.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.SendGrid.dll</HintPath>
112+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.SendGrid.2.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.SendGrid.dll</HintPath>
113113
<Private>True</Private>
114114
</Reference>
115115
<Reference Include="Microsoft.Azure.WebJobs.Host, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">

src/WebJobs.Script.Host/packages.config

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@
66
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
77
<package id="Microsoft.AspNet.WebHooks.Common" version="1.2.0-rc1" targetFramework="net46" />
88
<package id="Microsoft.AspNet.WebHooks.Receivers" version="1.2.0-beta6" targetFramework="net46" />
9-
<package id="Microsoft.Azure.ApiHub.Sdk" version="0.6.5-alpha" targetFramework="net46" />
9+
<package id="Microsoft.Azure.ApiHub.Sdk" version="0.6.6-alpha" targetFramework="net46" />
1010
<package id="Microsoft.Azure.DocumentDB" version="1.7.1" targetFramework="net46" />
1111
<package id="Microsoft.Azure.KeyVault.Core" version="1.0.0" targetFramework="net46" />
1212
<package id="Microsoft.Azure.Mobile.Client" version="2.0.1" targetFramework="net46" />
1313
<package id="Microsoft.Azure.NotificationHubs" version="1.0.5" targetFramework="net46" />
1414
<package id="Microsoft.Azure.ServiceBus.EventProcessorHost" version="2.1.5" targetFramework="net46" />
1515
<package id="Microsoft.Azure.WebJobs" version="2.0.0-alpha-10331" targetFramework="net46" />
1616
<package id="Microsoft.Azure.WebJobs.Core" version="2.0.0-alpha-10331" targetFramework="net46" />
17-
<package id="Microsoft.Azure.WebJobs.Extensions" version="2.0.0-alpha-10293" targetFramework="net46" />
18-
<package id="Microsoft.Azure.WebJobs.Extensions.ApiHub" version="1.0.0-alpha-10293" targetFramework="net46" />
19-
<package id="Microsoft.Azure.WebJobs.Extensions.DocumentDB" version="1.0.0-alpha-10293" targetFramework="net46" />
20-
<package id="Microsoft.Azure.WebJobs.Extensions.MobileApps" version="1.0.0-alpha-10293" targetFramework="net46" />
21-
<package id="Microsoft.Azure.WebJobs.Extensions.NotificationHubs" version="1.0.0-alpha-10293" targetFramework="net46" />
22-
<package id="Microsoft.Azure.WebJobs.Extensions.SendGrid" version="2.0.0-alpha-10293" targetFramework="net46" />
17+
<package id="Microsoft.Azure.WebJobs.Extensions" version="2.0.0-alpha-10298" targetFramework="net46" />
18+
<package id="Microsoft.Azure.WebJobs.Extensions.ApiHub" version="1.0.0-alpha-10298" targetFramework="net46" />
19+
<package id="Microsoft.Azure.WebJobs.Extensions.DocumentDB" version="1.0.0-alpha-10298" targetFramework="net46" />
20+
<package id="Microsoft.Azure.WebJobs.Extensions.MobileApps" version="1.0.0-alpha-10298" targetFramework="net46" />
21+
<package id="Microsoft.Azure.WebJobs.Extensions.NotificationHubs" version="1.0.0-alpha-10298" targetFramework="net46" />
22+
<package id="Microsoft.Azure.WebJobs.Extensions.SendGrid" version="2.0.0-alpha-10298" targetFramework="net46" />
2323
<package id="Microsoft.Azure.WebJobs.ServiceBus" version="2.0.0-alpha-10331" targetFramework="net46" />
2424
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net46" />
2525
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net46" />

src/WebJobs.Script.NuGet/WebJobs.Script.nuspec

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
<dependencies>
1717
<dependency id="Microsoft.Azure.WebJobs" version="2.0.0-alpha-10331" />
1818
<dependency id="Microsoft.Azure.WebJobs.ServiceBus" version="2.0.0-alpha-10331" />
19-
<dependency id="Microsoft.Azure.WebJobs.Extensions" version="2.0.0-alpha-10293" />
20-
<dependency id="Microsoft.Azure.WebJobs.Extensions.SendGrid" version="2.0.0-alpha-10293" />
21-
<dependency id="Microsoft.Azure.WebJobs.Extensions.ApiHub" version="1.0.0-alpha-10293" />
22-
<dependency id="Microsoft.Azure.WebJobs.Extensions.DocumentDB" version="1.0.0-alpha-10293" />
23-
<dependency id="Microsoft.Azure.WebJobs.Extensions.MobileApps" version="1.0.0-alpha-10293" />
24-
<dependency id="Microsoft.Azure.WebJobs.Extensions.NotificationHubs" version="1.0.0-alpha-10293" />
19+
<dependency id="Microsoft.Azure.WebJobs.Extensions" version="2.0.0-alpha-10298" />
20+
<dependency id="Microsoft.Azure.WebJobs.Extensions.SendGrid" version="2.0.0-alpha-10298" />
21+
<dependency id="Microsoft.Azure.WebJobs.Extensions.ApiHub" version="1.0.0-alpha-10298" />
22+
<dependency id="Microsoft.Azure.WebJobs.Extensions.DocumentDB" version="1.0.0-alpha-10298" />
23+
<dependency id="Microsoft.Azure.WebJobs.Extensions.MobileApps" version="1.0.0-alpha-10298" />
24+
<dependency id="Microsoft.Azure.WebJobs.Extensions.NotificationHubs" version="1.0.0-alpha-10298" />
2525
<dependency id="Edge.js" version="5.9.1" />
2626
<dependency id="Microsoft.CodeAnalysis.CSharp.Scripting" version="1.2.2" />
2727
</dependencies>

src/WebJobs.Script.WebHost/WebJobs.Script.WebHost.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@
122122
<Private>True</Private>
123123
</Reference>
124124
<Reference Include="Microsoft.Azure.ApiHub.Sdk, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
125-
<HintPath>..\..\packages\Microsoft.Azure.ApiHub.Sdk.0.6.5-alpha\lib\net45\Microsoft.Azure.ApiHub.Sdk.dll</HintPath>
125+
<HintPath>..\..\packages\Microsoft.Azure.ApiHub.Sdk.0.6.6-alpha\lib\net45\Microsoft.Azure.ApiHub.Sdk.dll</HintPath>
126126
<Private>True</Private>
127127
</Reference>
128128
<Reference Include="Microsoft.Azure.Documents.Client, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -142,27 +142,27 @@
142142
<Private>True</Private>
143143
</Reference>
144144
<Reference Include="Microsoft.Azure.WebJobs.Extensions, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
145-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.2.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
145+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.2.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
146146
<Private>True</Private>
147147
</Reference>
148148
<Reference Include="Microsoft.Azure.WebJobs.Extensions.ApiHub, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
149-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.ApiHub.1.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.ApiHub.dll</HintPath>
149+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.ApiHub.1.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.ApiHub.dll</HintPath>
150150
<Private>True</Private>
151151
</Reference>
152152
<Reference Include="Microsoft.Azure.WebJobs.Extensions.DocumentDB, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
153-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.DocumentDB.1.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.DocumentDB.dll</HintPath>
153+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.DocumentDB.1.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.DocumentDB.dll</HintPath>
154154
<Private>True</Private>
155155
</Reference>
156156
<Reference Include="Microsoft.Azure.WebJobs.Extensions.MobileApps, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
157-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.MobileApps.1.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.MobileApps.dll</HintPath>
157+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.MobileApps.1.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.MobileApps.dll</HintPath>
158158
<Private>True</Private>
159159
</Reference>
160160
<Reference Include="Microsoft.Azure.WebJobs.Extensions.NotificationHubs, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
161-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.1.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.dll</HintPath>
161+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.1.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.dll</HintPath>
162162
<Private>True</Private>
163163
</Reference>
164164
<Reference Include="Microsoft.Azure.WebJobs.Extensions.SendGrid, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
165-
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.SendGrid.2.0.0-alpha-10293\lib\net45\Microsoft.Azure.WebJobs.Extensions.SendGrid.dll</HintPath>
165+
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.SendGrid.2.0.0-alpha-10298\lib\net45\Microsoft.Azure.WebJobs.Extensions.SendGrid.dll</HintPath>
166166
<Private>True</Private>
167167
</Reference>
168168
<Reference Include="Microsoft.Azure.WebJobs.Host, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">

src/WebJobs.Script.WebHost/packages.config

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,20 @@
2222
<package id="Microsoft.AspNet.WebHooks.Receivers.Stripe" version="1.2.0-beta6" targetFramework="net45" />
2323
<package id="Microsoft.AspNet.WebHooks.Receivers.Trello" version="1.2.0-beta6" targetFramework="net45" />
2424
<package id="Microsoft.AspNet.WebHooks.Receivers.WordPress" version="1.2.0-beta6" targetFramework="net45" />
25-
<package id="Microsoft.Azure.ApiHub.Sdk" version="0.6.5-alpha" targetFramework="net46" />
25+
<package id="Microsoft.Azure.ApiHub.Sdk" version="0.6.6-alpha" targetFramework="net46" />
2626
<package id="Microsoft.Azure.DocumentDB" version="1.7.1" targetFramework="net46" />
2727
<package id="Microsoft.Azure.KeyVault.Core" version="1.0.0" targetFramework="net46" />
2828
<package id="Microsoft.Azure.Mobile.Client" version="2.0.1" targetFramework="net46" />
2929
<package id="Microsoft.Azure.NotificationHubs" version="1.0.5" targetFramework="net46" />
3030
<package id="Microsoft.Azure.ServiceBus.EventProcessorHost" version="2.1.5" targetFramework="net46" />
3131
<package id="Microsoft.Azure.WebJobs" version="2.0.0-alpha-10331" targetFramework="net46" />
3232
<package id="Microsoft.Azure.WebJobs.Core" version="2.0.0-alpha-10331" targetFramework="net46" />
33-
<package id="Microsoft.Azure.WebJobs.Extensions" version="2.0.0-alpha-10293" targetFramework="net46" />
34-
<package id="Microsoft.Azure.WebJobs.Extensions.ApiHub" version="1.0.0-alpha-10293" targetFramework="net46" />
35-
<package id="Microsoft.Azure.WebJobs.Extensions.DocumentDB" version="1.0.0-alpha-10293" targetFramework="net46" />
36-
<package id="Microsoft.Azure.WebJobs.Extensions.MobileApps" version="1.0.0-alpha-10293" targetFramework="net46" />
37-
<package id="Microsoft.Azure.WebJobs.Extensions.NotificationHubs" version="1.0.0-alpha-10293" targetFramework="net46" />
38-
<package id="Microsoft.Azure.WebJobs.Extensions.SendGrid" version="2.0.0-alpha-10293" targetFramework="net46" />
33+
<package id="Microsoft.Azure.WebJobs.Extensions" version="2.0.0-alpha-10298" targetFramework="net46" />
34+
<package id="Microsoft.Azure.WebJobs.Extensions.ApiHub" version="1.0.0-alpha-10298" targetFramework="net46" />
35+
<package id="Microsoft.Azure.WebJobs.Extensions.DocumentDB" version="1.0.0-alpha-10298" targetFramework="net46" />
36+
<package id="Microsoft.Azure.WebJobs.Extensions.MobileApps" version="1.0.0-alpha-10298" targetFramework="net46" />
37+
<package id="Microsoft.Azure.WebJobs.Extensions.NotificationHubs" version="1.0.0-alpha-10298" targetFramework="net46" />
38+
<package id="Microsoft.Azure.WebJobs.Extensions.SendGrid" version="2.0.0-alpha-10298" targetFramework="net46" />
3939
<package id="Microsoft.Azure.WebJobs.Logging" version="2.0.0-alpha-10331" targetFramework="net46" />
4040
<package id="Microsoft.Azure.WebJobs.ServiceBus" version="2.0.0-alpha-10331" targetFramework="net46" />
4141
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net46" />
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
// Copyright (c) .NET Foundation. All rights reserved.
2+
// Licensed under the MIT License. See License.txt in the project root for license information.
3+
4+
using System;
5+
using System.Collections.ObjectModel;
6+
using System.IO;
7+
using System.Reflection.Emit;
8+
using System.Threading.Tasks;
9+
using Microsoft.Azure.WebJobs.Host.Bindings.Path;
10+
using Microsoft.Azure.WebJobs.Host.Bindings.Runtime;
11+
using Microsoft.Azure.WebJobs.Script.Description;
12+
using Newtonsoft.Json.Linq;
13+
14+
namespace Microsoft.Azure.WebJobs.Script.Binding
15+
{
16+
public class ApiHubTableBinding : FunctionBinding
17+
{
18+
private readonly BindingTemplate _dataSetNameBindingTemplate;
19+
private readonly BindingTemplate _tableNameBindingTemplate;
20+
private readonly BindingTemplate _entityIdBindingTemplate;
21+
22+
public ApiHubTableBinding(
23+
ScriptHostConfiguration config,
24+
ApiHubTableBindingMetadata metadata,
25+
FileAccess access)
26+
: base(config, metadata, access)
27+
{
28+
Connection = metadata.Connection;
29+
DataSetName = metadata.DataSetName;
30+
TableName = metadata.TableName;
31+
EntityId = metadata.EntityId;
32+
BindingDirection = metadata.Direction;
33+
34+
_dataSetNameBindingTemplate = CreateBindingTemplate(DataSetName);
35+
_tableNameBindingTemplate = CreateBindingTemplate(TableName);
36+
_entityIdBindingTemplate = CreateBindingTemplate(EntityId);
37+
}
38+
39+
public string Connection { get; }
40+
41+
public string DataSetName { get; }
42+
43+
public string TableName { get; }
44+
45+
public string EntityId { get; }
46+
47+
public BindingDirection BindingDirection { get; }
48+
49+
public override Collection<CustomAttributeBuilder> GetCustomAttributes(Type parameterType)
50+
{
51+
var constructorTypes = new[] { typeof(string) };
52+
var constructor = typeof(ApiHubTableAttribute).GetConstructor(constructorTypes);
53+
var constructorArguments = new[] { Connection };
54+
var namedProperties = new[]
55+
{
56+
typeof(ApiHubTableAttribute).GetProperty("DataSetName"),
57+
typeof(ApiHubTableAttribute).GetProperty("TableName"),
58+
typeof(ApiHubTableAttribute).GetProperty("EntityId")
59+
};
60+
var propertyValues = new[]
61+
{
62+
DataSetName,
63+
TableName,
64+
EntityId
65+
};
66+
67+
return new Collection<CustomAttributeBuilder>()
68+
{
69+
new CustomAttributeBuilder(
70+
constructor,
71+
constructorArguments,
72+
namedProperties,
73+
propertyValues)
74+
};
75+
}
76+
77+
public override async Task BindAsync(BindingContext context)
78+
{
79+
var attribute = new ApiHubTableAttribute(Connection)
80+
{
81+
DataSetName = BindAndResolve(DataSetName, _dataSetNameBindingTemplate, context),
82+
TableName = BindAndResolve(TableName, _tableNameBindingTemplate, context),
83+
EntityId = BindAndResolve(EntityId, _entityIdBindingTemplate, context)
84+
};
85+
86+
var runtimeContext = new RuntimeBindingContext(attribute);
87+
88+
if (Access == FileAccess.Read && BindingDirection == BindingDirection.In)
89+
{
90+
context.Value = await context.Binder.BindAsync<JObject>(runtimeContext);
91+
}
92+
else if (Access == FileAccess.Write && BindingDirection == BindingDirection.Out)
93+
{
94+
await BindAsyncCollectorAsync<JObject>(context, runtimeContext);
95+
}
96+
}
97+
98+
private static BindingTemplate CreateBindingTemplate(string value)
99+
{
100+
return
101+
value != null
102+
? BindingTemplate.FromString(value)
103+
: null;
104+
}
105+
106+
private string BindAndResolve(
107+
string value, BindingTemplate template, BindingContext context)
108+
{
109+
if (string.IsNullOrEmpty(value))
110+
{
111+
return value;
112+
}
113+
114+
if (context.BindingData == null || template == null)
115+
{
116+
return Resolve(value);
117+
}
118+
119+
return Resolve(template.Bind(context.BindingData));
120+
}
121+
}
122+
}

src/WebJobs.Script/Binding/FunctionBinding.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ internal static Collection<FunctionBinding> GetBindings(ScriptHostConfiguration
119119
apiHubBindingMetadata.Key = Guid.NewGuid().ToString();
120120
bindings.Add(new ApiHubBinding(config, apiHubBindingMetadata, fileAccess));
121121
break;
122+
case BindingType.ApiHubTable:
123+
ApiHubTableBindingMetadata apiHubTableBindingMetadata = (ApiHubTableBindingMetadata)bindingMetadata;
124+
bindings.Add(new ApiHubTableBinding(config, apiHubTableBindingMetadata, fileAccess));
125+
break;
122126
}
123127
}
124128
}

0 commit comments

Comments
 (0)