You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-functions-dotnet-entities.md
+58-6Lines changed: 58 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -151,13 +151,65 @@ public class Counter : TaskEntity<int>
151
151
152
152
### Deleting entities in the isolated model
153
153
154
-
Deleting an entity in the isolated model is accomplished by setting the entity state to `null`, and this process depends on the entity implementation path used:
154
+
Deleting an entity in the isolated model is accomplished by setting the entity state to `null`, and this process depends on the entity implementation path used.
155
+
156
+
#### Delete with ITaskEntity or function-based syntax
157
+
158
+
When deriving from `ITaskEntity` or using [function based syntax](#function-based-syntax), delete is accomplished by calling `TaskEntityOperation.State.SetState(null)`:
159
+
160
+
```csharp
161
+
// Inside a function-based entity dispatch
162
+
switch (operation.Name.ToLowerInvariant())
163
+
{
164
+
case"delete":
165
+
operation.State.SetState(null);
166
+
break;
167
+
}
168
+
```
169
+
170
+
#### Delete with TaskEntity\<TState\>
171
+
172
+
When deriving from `TaskEntity<TState>`, a delete operation is implicitly defined. However, it can be overridden by defining a method `Delete` on the entity. State can also be deleted from any operation via `this.State = null`.
173
+
174
+
- To delete by setting state to `null` requires `TState` to be nullable.
175
+
- The implicitly defined delete operation deletes non-nullable `TState`.
176
+
177
+
The following example shows a `TaskEntity<int?>` with nullable state that overrides the default delete:
When using a POCO as your state (not deriving from `TaskEntity<TState>`), a delete operation is implicitly defined. It's possible to override the delete operation by defining a method `Delete` on the POCO. However, there isn't a way to set state to `null` in the POCO route, so the implicitly defined delete operation is the only true delete.
197
+
198
+
```csharp
199
+
publicclassCounter
200
+
{
201
+
publicintValue { get; set; }
202
+
203
+
// The implicit delete operation handles state removal.
204
+
// Defining a Delete method here overrides the implicit behavior,
205
+
// but you cannot set state to null from within a POCO entity.
- When deriving from `ITaskEntity` or using [function based syntax](#function-based-syntax), delete is accomplished by calling `TaskEntityOperation.State.SetState(null)`.
157
-
- When deriving from `TaskEntity<TState>`, delete is implicitly defined. However, it can be overridden by defining a method `Delete` on the entity. State can also be deleted from any operation via `this.State = null`.
158
-
- To delete by setting state to null requires `TState` to be nullable.
159
-
- The implicitly defined delete operation deletes non-nullable `TState`.
160
-
- When using a POCO as your state (not deriving from `TaskEntity<TState>`), delete is implicitly defined. It's possible to override the delete operation by defining a method `Delete` on the POCO. However, there isn't a way to set state to `null` in the POCO route, so the implicitly defined delete operation is the only true delete.
_logger.LogInformation("Heartbeat logged at {Timestamp}.", DateTimeOffset.UtcNow);
109
+
returnTask.FromResult<object?>(null);
110
+
}
71
111
}
72
112
```
73
113
114
+
Use `object?` as the generic type argument for class-based orchestrations and activities that don't need functional input or output. This pattern lets you use dependency injection (for example, `ILogger<T>`) in activities while still using the class-based model.
115
+
74
116
## Durable entities
75
117
76
118
Durable entities are supported in the .NET isolated worker. For more information, see the [developer's guide](./durable-functions-dotnet-entities.md).
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-functions-instance-management.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,7 +67,7 @@ public static async Task Run(
67
67
```
68
68
69
69
> [!NOTE]
70
-
> The previous C# code is for Durable Functions 2.x. For Durable Functions 1.x, use the `OrchestrationClient` attribute instead of the `DurableClient` attribute, and use the `DurableOrchestrationClient` parameter type instead of `IDurableOrchestrationClient`. For more information about the differences between versions, see [Durable Functions versions](durable-functions-versions.md).
70
+
> The previous C# code uses the in-process model with `IDurableOrchestrationClient`, which is marked as obsolete in newer versions of the Durable Functions extension. For new .NET projects, consider using the [.NET isolated worker model](durable-functions-dotnet-isolated-overview.md) with `DurableTaskClient`. For more information, see the [Durable Functions versions](durable-functions-versions.md) article.
71
71
72
72
# [JavaScript](#tab/javascript)
73
73
@@ -381,7 +381,7 @@ public static async Task Run(
381
381
```
382
382
383
383
> [!NOTE]
384
-
> The previous C# code is for Durable Functions 2.x. For Durable Functions 1.x, use the `OrchestrationClient` attribute instead of the `DurableClient` attribute, and use the `DurableOrchestrationClient` parameter type instead of `IDurableOrchestrationClient`. For more information about the differences between versions, see the [Durable Functions versions](durable-functions-versions.md) article.
384
+
> The previous C# code uses the in-process model with `IDurableOrchestrationClient`, which is marked as obsolete in newer versions of the Durable Functions extension. For new .NET projects, consider using the [.NET isolated worker model](durable-functions-dotnet-isolated-overview.md) with `DurableTaskClient`. For more information, see the [Durable Functions versions](durable-functions-versions.md) article.
385
385
386
386
# [JavaScript](#tab/javascript)
387
387
@@ -547,7 +547,7 @@ public static async Task Run(
547
547
```
548
548
549
549
> [!NOTE]
550
-
> The previous C# code is for Durable Functions 2.x. For Durable Functions 1.x, you must use `OrchestrationClient` attribute instead of the `DurableClient` attribute, and you must use the `DurableOrchestrationClient` parameter type instead of `IDurableOrchestrationClient`. For more information about the differences between versions, see the [Durable Functions versions](durable-functions-versions.md) article.
550
+
> The previous C# code uses the in-process model with `IDurableOrchestrationClient`, which is marked as obsolete in newer versions of the Durable Functions extension. For new .NET projects, consider using the [.NET isolated worker model](durable-functions-dotnet-isolated-overview.md) with `DurableTaskClient`. For more information, see the [Durable Functions versions](durable-functions-versions.md) article.
551
551
552
552
# [JavaScript](#tab/javascript)
553
553
@@ -713,7 +713,7 @@ public static async Task Run(
713
713
```
714
714
715
715
> [!NOTE]
716
-
> The previous C# code is for Durable Functions 2.x. For Durable Functions 1.x, you must use `OrchestrationClient` attribute instead of the `DurableClient` attribute, and you must use the `DurableOrchestrationClient` parameter type instead of `IDurableOrchestrationClient`. For more information about the differences between versions, see the [Durable Functions versions](durable-functions-versions.md) article.
716
+
> The previous C# code uses the in-process model with `IDurableOrchestrationClient`, which is marked as obsolete in newer versions of the Durable Functions extension. For new .NET projects, consider using the [.NET isolated worker model](durable-functions-dotnet-isolated-overview.md) with `DurableTaskClient`. For more information, see the [Durable Functions versions](durable-functions-versions.md) article.
717
717
718
718
# [JavaScript](#tab/javascript)
719
719
@@ -907,7 +907,7 @@ public static Task Run(
907
907
```
908
908
909
909
> [!NOTE]
910
-
> The previous C# code is for Durable Functions 2.x. For Durable Functions 1.x, you must use `OrchestrationClient` attribute instead of the `DurableClient` attribute, and you must use the `DurableOrchestrationClient` parameter type instead of `IDurableOrchestrationClient`. For more information about the differences between versions, see the [Durable Functions versions](durable-functions-versions.md) article.
910
+
> The previous C# code uses the in-process model with `IDurableOrchestrationClient`, which is marked as obsolete in newer versions of the Durable Functions extension. For new .NET projects, consider using the [.NET isolated worker model](durable-functions-dotnet-isolated-overview.md) with `DurableTaskClient`. For more information, see the [Durable Functions versions](durable-functions-versions.md) article.
911
911
912
912
# [JavaScript](#tab/javascript)
913
913
@@ -1233,7 +1233,7 @@ public static Task Run(
1233
1233
```
1234
1234
1235
1235
> [!NOTE]
1236
-
> The previous C# code is for Durable Functions 2.x. For Durable Functions 1.x, you must use `OrchestrationClient` attribute instead of the `DurableClient` attribute, and you must use the `DurableOrchestrationClient` parameter type instead of `IDurableOrchestrationClient`. For more information about the differences between versions, see the [Durable Functions versions](durable-functions-versions.md) article.
1236
+
> The previous C# code uses the in-process model with `IDurableOrchestrationClient`, which is marked as obsolete in newer versions of the Durable Functions extension. For new .NET projects, consider using the [.NET isolated worker model](durable-functions-dotnet-isolated-overview.md) with `DurableTaskClient`. For more information, see the [Durable Functions versions](durable-functions-versions.md) article.
1237
1237
1238
1238
# [JavaScript](#tab/javascript)
1239
1239
@@ -1612,7 +1612,7 @@ public static void SendInstanceInfo(
1612
1612
```
1613
1613
1614
1614
> [!NOTE]
1615
-
> The previous C# code is for Durable Functions 2.x. For Durable Functions 1.x, use `DurableActivityContext` instead of `IDurableActivityContext`, use the `OrchestrationClient` attribute instead of the `DurableClient` attribute, and use the `DurableOrchestrationClient` parameter type instead of `IDurableOrchestrationClient`. For more information about the differences between versions, see the [Durable Functions versions](durable-functions-versions.md) article.
1615
+
> The previous C# code uses the in-process model with `IDurableOrchestrationClient` and `IDurableActivityContext`, which are marked as obsolete in newer versions of the Durable Functions extension. For new .NET projects, consider using the [.NET isolated worker model](durable-functions-dotnet-isolated-overview.md) with `DurableTaskClient`. For more information, see the [Durable Functions versions](durable-functions-versions.md) article.
1616
1616
1617
1617
# [JavaScript](#tab/javascript)
1618
1618
@@ -1704,7 +1704,7 @@ public static Task Run(
1704
1704
```
1705
1705
1706
1706
> [!NOTE]
1707
-
> The previous C# code is for Durable Functions 2.x. For Durable Functions 1.x, you must use `OrchestrationClient` attribute instead of the `DurableClient` attribute, and you must use the `DurableOrchestrationClient` parameter type instead of `IDurableOrchestrationClient`. For more information about the differences between versions, see the [Durable Functions versions](durable-functions-versions.md) article.
1707
+
> The previous C# code uses the in-process model with `IDurableOrchestrationClient`, which is marked as obsolete in newer versions of the Durable Functions extension. For new .NET projects, consider using the [.NET isolated worker model](durable-functions-dotnet-isolated-overview.md) with `DurableTaskClient`. For more information, see the [Durable Functions versions](durable-functions-versions.md) article.
1708
1708
1709
1709
# [JavaScript](#tab/javascript)
1710
1710
@@ -1823,7 +1823,7 @@ public static Task Run(
1823
1823
```
1824
1824
1825
1825
> [!NOTE]
1826
-
> The previous C# code is for Durable Functions 2.x. For Durable Functions 1.x, you must use `OrchestrationClient` attribute instead of the `DurableClient` attribute, and you must use the `DurableOrchestrationClient` parameter type instead of `IDurableOrchestrationClient`. For more information about the differences between versions, see the [Durable Functions versions](durable-functions-versions.md) article.
1826
+
> The previous C# code uses the in-process model with `IDurableOrchestrationClient`, which is marked as obsolete in newer versions of the Durable Functions extension. For new .NET projects, consider using the [.NET isolated worker model](durable-functions-dotnet-isolated-overview.md) with `DurableTaskClient`. For more information, see the [Durable Functions versions](durable-functions-versions.md) article.
1827
1827
1828
1828
# [JavaScript](#tab/javascript)
1829
1829
@@ -2046,7 +2046,7 @@ public static Task Run(
2046
2046
```
2047
2047
2048
2048
> [!NOTE]
2049
-
> The previous C# code is for Durable Functions 2.x. For Durable Functions 1.x, you must use `OrchestrationClient` attribute instead of the `DurableClient` attribute, and you must use the `DurableOrchestrationClient` parameter type instead of `IDurableOrchestrationClient`. For more information about the differences between versions, see the [Durable Functions versions](durable-functions-versions.md) article.
2049
+
> The previous C# code uses the in-process model with `IDurableOrchestrationClient`, which is marked as obsolete in newer versions of the Durable Functions extension. For new .NET projects, consider using the [.NET isolated worker model](durable-functions-dotnet-isolated-overview.md) with `DurableTaskClient`. For more information, see the [Durable Functions versions](durable-functions-versions.md) article.
Copy file name to clipboardExpand all lines: articles/azure-functions/flex-consumption-plan.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -199,6 +199,7 @@ Keep these other considerations in mind when using Flex Consumption plan:
199
199
+**Certificates**: Loading certificates with the WEBSITE_LOAD_CERTIFICATES app setting, managed certificates, app service certificates, and other platform certificate-based features like endToEndEncryptionEnabled are currently not supported.
200
200
+**Timezones**: `WEBSITE_TIME_ZONE` and `TZ` app settings aren't currently supported when running on Flex Consumption plan.
201
201
+**Azure Functions Runtime Version and Proxies**: Flex Consumption only supports version 4.x and later of the Azure Functions runtime. Azure Functions proxies was a feature of versions 1.x through 3.x of the Azure Functions runtime and is not available in Flex Consumption.
202
+
+**Plan migration**: In-place migration of an existing function app from another hosting plan to the Flex Consumption plan isn't supported, and neither is migrating from Flex Consumption to another plan. To move to Flex Consumption, you must create a new function app in a Flex Consumption plan and redeploy your code.
Copy file name to clipboardExpand all lines: articles/azure-functions/functions-how-to-use-azure-function-app-settings.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -193,7 +193,7 @@ In the previous example, replace `<RESOURCE_GROUP>` and `<FUNCTION_APP_NAME>` wi
193
193
You can migrate a function app between a Consumption plan and a Premium plan on Windows.
194
194
195
195
>[!TIP]
196
-
>We recommend you migrate your Consumption plan app to run in a Flex Consumption plan instead of a Premium plan. Migration to the Flex Consumption plan is the only migration option for a Linux Consumption plan app. For more information, see [Migrate Consumption plan apps to the Flex Consumption plan](migration/migrate-plan-consumption-to-flex.md).
196
+
>We recommend you run your Consumption plan app in a Flex Consumption plan instead of a Premium plan. For a Linux Consumption plan app, moving to the Flex Consumption plan is the only option. Because in-place plan migration to and from Flex Consumption isn't supported, you must create a new function app in the Flex Consumption plan. For more information, see [Migrate Consumption plan apps to the Flex Consumption plan](migration/migrate-plan-consumption-to-flex.md), which walks you through creating a new Flex Consumption app with the same settings as your existing app.
197
197
198
198
When migrating between plans, keep in mind the following considerations:
199
199
@@ -203,6 +203,7 @@ When migrating between plans, keep in mind the following considerations:
203
203
+ The specific CLI commands depend on the direction of the migration.
204
204
+ Downtime in your function executions occurs as the function app is migrated between plans.
205
205
+ State and other app-specific content is maintained, because the same Azure Files share is used by the app both before and after migration.
206
+
+ In-place plan migration to or from the Flex Consumption plan isn't supported. You must create a new function app in the Flex Consumption plan.
| Coordinate format | Latitude/longitude | Longitude/latitude, as defined by [GeoJSON]. |
37
37
| Electric consumption model | Supported | Not supported |
38
-
| Localization | Use the "language" parameter to localize the language of the route instructions. | Use the “Accept-Language” request header to input a localization code to localize the language of the route instructions. |
38
+
| Localization | Use the "language" parameter to localize the language of the route instructions. | Use the "Accept-Language" request header to input a localization code to localize the language of the route instructions. |
0 commit comments