Skip to content

Commit 70a97a7

Browse files
Merge pull request #263427 from ggailey777/fixup
[Functions] Customer public PRs clean-up
2 parents ab3af71 + 173e452 commit 70a97a7

6 files changed

+38
-10
lines changed

articles/azure-functions/configure-networking-how-to.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Complete the following tutorial to create a new function app a secured storage a
2929

3030
# [Deployment templates](#tab/templates)
3131

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).
3333

3434
---
3535

articles/azure-functions/functions-app-settings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,7 @@ The share is created when your function app is created. Changing or removing thi
637637
The following considerations apply when using an Azure Resource Manager (ARM) template or Bicep file to create a function app during deployment:
638638

639639
+ 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).
641641
+ Don't make `WEBSITE_CONTENTSHARE` a slot setting.
642642
+ 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).
643643

articles/azure-functions/functions-bindings-storage-queue-trigger.md

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -489,22 +489,43 @@ Access the queue message via the parameter typed as [QueueMessage](/python/api/a
489489

490490
## <a name="message-metadata"></a>Metadata
491491

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.
493493

494494
::: 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.
496502
::: zone-end
497503

498504
|Property|Type|Description|
499505
|--------|----|-----------|
500506
|`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.|
502508
|`ExpirationTime`|`DateTimeOffset`|The time that the message expires.|
503509
|`Id`|`string`|Queue message ID.|
504510
|`InsertionTime`|`DateTimeOffset`|The time that the message was added to the queue.|
505511
|`NextVisibleTime`|`DateTimeOffset`|The time that the message will next be visible.|
506512
|`PopReceipt`|`string`|The message's pop receipt.|
507513

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.|
525+
|`pop_receipt`|The message's pop receipt.|
526+
527+
::: zone-end
528+
508529
[!INCLUDE [functions-storage-queue-connections](../../includes/functions-storage-queue-connections.md)]
509530

510531
## Poison messages
@@ -515,6 +536,7 @@ To handle poison messages manually, check the [dequeueCount](#message-metadata)
515536

516537

517538
## Peek lock
539+
518540
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.
519541

520542
When the function starts, it starts processing a message under the following conditions.

articles/azure-functions/functions-infrastructure-as-code.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1665,7 +1665,9 @@ Keep the following considerations in mind when working with slot deployments:
16651665
:::zone pivot="premium-plan,dedicated-plan"
16661666
## Secured deployments
16671667

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)).
16691671

16701672
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:
16711673

articles/azure-functions/functions-manually-run-non-http.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Manually run a non HTTP-triggered Azure Functions
33
description: Use an HTTP request to run a non-HTTP triggered Azure Functions
44
ms.topic: article
5-
ms.date: 11/29/2023
5+
ms.date: 01/15/2024
66
---
77

88
# 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
8383

8484
:::image type="content" source="./media/functions-manually-run-non-http/functions-manually-run-non-http-body.png" alt-text="Postman body settings." border="true":::
8585

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.
8789

8890
1. Select **Send**.
8991

@@ -95,6 +97,8 @@ In this example, replace `<APP_NAME>` and `<RESOURCE_GROUP>` with the name of yo
9597

9698
:::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":::
9799

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).
101+
98102
## Next steps
99103

100104
> [!div class="nextstepaction"]

includes/functions-cosmosdb-trigger-attributes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
author: ggailey777
33
ms.service: azure-functions
44
ms.topic: include
5-
ms.date: 01/31/2022
5+
ms.date: 01/21/2024
66
ms.author: glenga
77
ms.custom: include file
88
---
@@ -20,7 +20,7 @@ ms.custom: include file
2020
"createLeaseCollectionIfNotExists": true
2121
}
2222
```
23-
# [Functions 4.x+ (preview)](#tab/extensionv4)
23+
# [Functions 4.x+](#tab/extensionv4)
2424
```json
2525
{
2626
"type": "cosmosDBTrigger",

0 commit comments

Comments
 (0)