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/configure-networking-how-to.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ Complete the following tutorial to create a new function app a secured storage a
29
29
30
30
# [Deployment templates](#tab/templates)
31
31
32
-
Use Bicep or Azure Resource Manager (ARM) [quickstart templates](https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.web/function-app-storage-private-endpoints) to create secured function app and storage account resources.
32
+
Use Bicep files or Azure Resource Manager (ARM) templates to create a secured function app and storage account resources. When you create a secured storage account in an automated deployment, you must also specifically set the `WEBSITE_CONTENTSHARE` setting and create the file share as part of your deployment. For more information, including links to example deployments, see [Secured deployments](functions-infrastructure-as-code.md#secured-deployments).
Copy file name to clipboardExpand all lines: articles/azure-functions/functions-app-settings.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -637,7 +637,7 @@ The share is created when your function app is created. Changing or removing thi
637
637
The following considerations apply when using an Azure Resource Manager (ARM) template or Bicep file to create a function app during deployment:
638
638
639
639
+ When you don't set a `WEBSITE_CONTENTSHARE` value for the main function app or any apps in slots, unique share values are generated for you. Not setting `WEBSITE_CONTENTSHARE`_is the recommended approach_ for an ARM template deployment.
640
-
+ There are scenarios where you must set the `WEBSITE_CONTENTSHARE` value to a predefined share, such as when you [use a secured storage account in a virtual network](configure-networking-how-to.md#restrict-your-storage-account-to-a-virtual-network). In this case, you must set a unique share name for the main function app and the app for each deployment slot.
640
+
+ There are scenarios where you must set the `WEBSITE_CONTENTSHARE` value to a predefined value, such as when you [use a secured storage account in a virtual network](configure-networking-how-to.md#restrict-your-storage-account-to-a-virtual-network). In this case, you must set a unique share name for the main function app and the app for each deployment slot. In the case of a storage account secured by a virtual network, you must also create the share itself as part of your automated deployment. For more information, see [Secured deployments](functions-infrastructure-as-code.md#secured-deployments).
641
641
+ Don't make `WEBSITE_CONTENTSHARE` a slot setting.
642
642
+ When you specify `WEBSITE_CONTENTSHARE`, the value must follow [this guidance for share names](/rest/api/storageservices/naming-and-referencing-shares--directories--files--and-metadata#share-names).
Copy file name to clipboardExpand all lines: articles/azure-functions/functions-bindings-storage-queue-trigger.md
+25-3Lines changed: 25 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -489,22 +489,43 @@ Access the queue message via the parameter typed as [QueueMessage](/python/api/a
489
489
490
490
## <aname="message-metadata"></a>Metadata
491
491
492
-
The queue trigger provides several [metadata properties](./functions-bindings-expressions-patterns.md#trigger-metadata). These properties can be used as part of binding expressions in other bindings or as parameters in your code.
492
+
The queue trigger provides several [metadata properties](./functions-bindings-expressions-patterns.md#trigger-metadata). These properties can be used as part of binding expressions in other bindings or as parameters in your code, for language workers that provide this access to message metadata.
493
493
494
494
::: zone pivot="programming-language-csharp"
495
-
The properties are members of the [CloudQueueMessage] class.
495
+
The message metadata properties are members of the [CloudQueueMessage] class.
496
+
::: zone-end
497
+
::: zone pivot="programming-language-javascript,programming-language-typescript"
498
+
The message metadata properties can be accessed from `context.triggerMetadata`.
499
+
::: zone-end
500
+
::: zone pivot="programming-language-powershell"
501
+
The message metadata properties can be accessed from the passed `$TriggerMetadata` parameter.
496
502
::: zone-end
497
503
498
504
|Property|Type|Description|
499
505
|--------|----|-----------|
500
506
|`QueueTrigger`|`string`|Queue payload (if a valid string). If the queue message payload is a string, `QueueTrigger` has the same value as the variable named by the `name` property in *function.json*.|
501
-
|`DequeueCount`|`int`|The number of times this message has been dequeued.|
507
+
|`DequeueCount`|`long`|The number of times this message has been dequeued.|
502
508
|`ExpirationTime`|`DateTimeOffset`|The time that the message expires.|
503
509
|`Id`|`string`|Queue message ID.|
504
510
|`InsertionTime`|`DateTimeOffset`|The time that the message was added to the queue.|
505
511
|`NextVisibleTime`|`DateTimeOffset`|The time that the message will next be visible.|
506
512
|`PopReceipt`|`string`|The message's pop receipt.|
507
513
514
+
::: zone pivot="programming-language-python"
515
+
The following message metadata properties can be accessed from the passed binding parameter (`msg` in previous [examples](#example)).
516
+
517
+
|Property|Description|
518
+
|--------|----------|
519
+
|`body`| Queue payload as a string.|
520
+
|`dequeue_count`| The number of times this message has been dequeued.|
521
+
|`expiration_time`|The time that the message expires.|
522
+
|`id`| Queue message ID.|
523
+
|`insertion_time`|The time that the message was added to the queue.|
524
+
|`time_next_visible`|The time that the message will next be visible.|
@@ -515,6 +536,7 @@ To handle poison messages manually, check the [dequeueCount](#message-metadata)
515
536
516
537
517
538
## Peek lock
539
+
518
540
The peek-lock pattern happens automatically for queue triggers. As messages are dequeued, they are marked as invisible and associated with a 10-minute timeout managed by the Storage service. This timeout can't be changed.
519
541
520
542
When the function starts, it starts processing a message under the following conditions.
Copy file name to clipboardExpand all lines: articles/azure-functions/functions-infrastructure-as-code.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1665,7 +1665,9 @@ Keep the following considerations in mind when working with slot deployments:
1665
1665
:::zone pivot="premium-plan,dedicated-plan"
1666
1666
## Secured deployments
1667
1667
1668
-
You can create your function app in a deployment where one or more of the resources have been secured by integrating with virtual networks. Virtual network integration for your function app is defined by a `Microsoft.Web/sites/networkConfig` resource. This integration depends on both the referenced function app and virtual network resources. You function app might also depend on other private networking resources, such as private endpoints and routes. For more information, see [Azure Functions networking options](functions-networking-options.md).
1668
+
You can create your function app in a deployment where one or more of the resources have been secured by integrating with virtual networks. Virtual network integration for your function app is defined by a `Microsoft.Web/sites/networkConfig` resource. This integration depends on both the referenced function app and virtual network resources. You function app might also depend on other private networking resources, such as private endpoints and routes. For more information, see [Azure Functions networking options](functions-networking-options.md).
1669
+
1670
+
When creating a deployment that uses a secured storage account, you must both explicitly set the `WEBSITE_CONTENTSHARE` setting and create the file share resource named in this setting. Make sure you create a `Microsoft.Storage/storageAccounts/fileServices/shares` resource using the value of `WEBSITE_CONTENTSHARE`, as shown in this example ([ARM template](https://github.com/Azure-Samples/function-app-arm-templates/blob/main/function-app-private-endpoints-storage-private-endpoints/azuredeploy.json#L467)|[Bicep file](https://github.com/Azure-Samples/function-app-arm-templates/blob/main/function-app-private-endpoints-storage-private-endpoints/main.bicep#L351)).
1669
1671
1670
1672
These projects provide both Bicep and ARM template examples of how to deploy your function apps in a virtual network, including with network access restrictions:
Copy file name to clipboardExpand all lines: articles/azure-functions/functions-manually-run-non-http.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: Manually run a non HTTP-triggered Azure Functions
3
3
description: Use an HTTP request to run a non-HTTP triggered Azure Functions
4
4
ms.topic: article
5
-
ms.date: 11/29/2023
5
+
ms.date: 01/15/2024
6
6
---
7
7
8
8
# Manually run a non HTTP-triggered function
@@ -83,7 +83,9 @@ In this example, replace `<APP_NAME>` and `<RESOURCE_GROUP>` with the name of yo
83
83
84
84
:::image type="content" source="./media/functions-manually-run-non-http/functions-manually-run-non-http-body.png" alt-text="Postman body settings." border="true":::
85
85
86
-
The `<TRIGGER_INPUT>` you supply depends on the type of trigger. For services that use JSON payloads, such as Azure Service Bus, the test JSON payload should be escaped and serialized as a string. If you don't want to pass input data to the function, you must still supply an empty dictionary `{}` as the body of the POST request. For more information, see the reference article for the specific non-HTTP trigger.
86
+
The specific `<TRIGGER_INPUT>` you supply depends on the type of trigger, but it can only be a string, numeric, or boolean value. For services that use JSON payloads, such as Azure Service Bus, the test JSON payload should be escaped and serialized as a string.
87
+
88
+
If you don't want to pass input data to the function, you must still supply an empty dictionary `{}` as the body of the POST request. For more information, see the reference article for the specific non-HTTP trigger.
87
89
88
90
1. Select **Send**.
89
91
@@ -95,6 +97,8 @@ In this example, replace `<APP_NAME>` and `<RESOURCE_GROUP>` with the name of yo
95
97
96
98
:::image type="content" source="./media/functions-manually-run-non-http/azure-portal-functions-master-key-logs.png" alt-text="View the logs to see the master key test results." border="true":::
97
99
100
+
The way that you access data sent to the trigger depends on the type of trigger and your function language. For more information, see the reference examples for your [specific trigger](functions-triggers-bindings.md).
0 commit comments