Skip to content

Commit b7855db

Browse files
Merge pull request #290594 from ggailey777/post-ignite-flex
[Functions][Main] Post ignite flex
2 parents 2cced1e + 8c057c8 commit b7855db

File tree

3 files changed

+114
-30
lines changed

3 files changed

+114
-30
lines changed

articles/azure-functions/functions-bindings-rabbitmq.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
title: Azure RabbitMQ bindings for Azure Functions
33
description: Learn to send Azure RabbitMQ triggers and bindings in Azure Functions.
4-
author: cachai2
4+
author: ggailey777
55
ms.topic: reference
6-
ms.date: 11/15/2021
7-
ms.author: cachai
6+
ms.date: 11/13/2024
7+
ms.author: glenga
88
ms.custom: devx-track-extended-java, devx-track-js, devx-track-python
99
zone_pivot_groups: programming-languages-set-functions-lang-workers
1010
---
@@ -13,7 +13,7 @@ zone_pivot_groups: programming-languages-set-functions-lang-workers
1313
# RabbitMQ bindings for Azure Functions overview
1414

1515
> [!NOTE]
16-
> The RabbitMQ bindings are only fully supported on [Premium](functions-premium-plan.md) and [Dedicated App Service](dedicated-plan.md) plans. Consumption plans aren't supported.
16+
> The RabbitMQ bindings are only fully supported on [Premium](functions-premium-plan.md) and [Dedicated App Service](dedicated-plan.md) plans. Flex Consumption and Consumption plans aren't yet supported.
1717
> RabbitMQ bindings are only supported for Azure Functions version 3.x and later versions.
1818
1919
Azure Functions integrates with [RabbitMQ](https://www.rabbitmq.com/) via [triggers and bindings](./functions-triggers-bindings.md). The Azure Functions RabbitMQ extension allows you to send and receive messages using the RabbitMQ API with Functions.

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

Lines changed: 107 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ For more information about the `sku` object, see [`SkuDefinition`](/azure/templa
436436
::: zone pivot="dedicated-plan"
437437
In the Dedicated (App Service) plan, your function app runs on dedicated VMs on Basic, Standard, and Premium SKUs in App Service plans, similar to web apps. For more information, see [Dedicated plan](./dedicated-plan.md).
438438

439-
For a sample Bicep file/Azure Resource Manager template, see [Function app on Azure App Service plan]
439+
For a sample Bicep file/Azure Resource Manager template, see [Function app on Azure App Service plan].
440440

441441
In Functions, the Dedicated plan is just a regular App Service plan, which is defined by a `serverfarm` resource. You must provide at least the `name` value. For a list of supported plan names, see the `--sku` setting in [`az appservice plan create`](/cli/azure/appservice/plan#az-appservice-plan-create) for the current list of supported values for a Dedicated plan.
442442

@@ -1208,7 +1208,13 @@ Your Bicep file or ARM template can optionally also define a deployment for your
12081208
+ [Linux container](./functions-how-to-custom-container.md)
12091209
::: zone-end
12101210
::: zone pivot="flex-consumption-plan"
1211-
In the Flex Consumption plan, your project code is deployed from a zip-compressed package published to a Blob storage container. For more information, see [Deployment](flex-consumption-plan.md#deployment). The specific storage account and container used for deployments, the authentication method, and credentials are set in the `functionAppConfig.deployment.storage` element of the `properties` for the site. The container and any application settings must exist when the app is created. For an example of how to create the storage container, see [Deployment container](#deployment-container).
1211+
The Flex Consumption plan maintains your project code in zip-compressed package file in a blob storage container known as the _deployment container_. You can configure both the storage account and container used for deployment. For more information, see [Deployment](flex-consumption-plan.md#deployment).
1212+
1213+
You must use _[one deploy](functions-deployment-technologies.md#one-deploy)_ to publish your code package to the deployment container. During an ARM or Bicep deployment, you can do this by [defining a package source](#deployment-package) that uses the `/onedeploy` extension. If you choose to instead directly upload your package to the container, the package doesn't get automatically deployed.
1214+
1215+
### Deployment container
1216+
1217+
The specific storage account and container used for deployments, the authentication method, and credentials are set in the `functionAppConfig.deployment.storage` element of the `properties` for the site. The container and any application settings must exist when the app is created. For an example of how to create the storage container, see [Deployment container](#deployment-container).
12121218

12131219
This example uses a system assigned managed identity to access the specified blob storage container, which is created elsewhere in the deployment:
12141220

@@ -1238,26 +1244,43 @@ For a complete reference example, see [this ARM template](https://github.com/Azu
12381244

12391245
---
12401246

1247+
This example requires you to know the GUID value for the role being assigned. You can get this ID value for any friendly role name by using the [az role definition list](/cli/azure/role/definition#az-role-definition-list) command, as in this example:
1248+
1249+
```azure-cli
1250+
az role definition list --output tsv --query "[?roleName=='Storage Blob Data Owner'].{name:name}"
1251+
```
1252+
12411253
When using a connection string instead of managed identities, you need to instead set the `authentication.type` to `StorageAccountConnectionString` and set `authentication.storageAccountConnectionStringName` to the name of the application setting that contains the deployment storage account connection string.
1242-
::: zone-end
1243-
::: zone pivot="consumption-plan"
1244-
Your Bicep file or ARM template can optionally also define a deployment for your function code using a [zip deployment package](./deployment-zip-push.md).
1245-
::: zone-end
1246-
::: zone pivot="dedicated-plan,premium-plan,consumption-plan"
1247-
To successfully deploy your application by using Azure Resource Manager, it's important to understand how resources are deployed in Azure. In most examples, top-level configurations are applied by using `siteConfig`. It's important to set these configurations at a top level, because they convey information to the Functions runtime and deployment engine. Top-level information is required before the child `sourcecontrols/web` resource is applied. Although it's possible to configure these settings in the child-level `config/appSettings` resource, in some cases your function app must be deployed _before_ `config/appSettings` is applied.
12481254

1249-
## Zip deployment package
1255+
### Deployment package
12501256

1251-
Zip deployment is a recommended way to deploy your function app code. By default, functions that use zip deployment run in the deployment package itself. For more information, including the requirements for a deployment package, see [Zip deployment for Azure Functions](deployment-zip-push.md). When using resource deployment automation, you can reference the .zip deployment package in your Bicep or ARM template.
1257+
The Flex Consumption plan uses _one deploy_ for deploying your code project. The code package itself is the same as you would use for zip deployment in other Functions hosting plans. However, the name of the package file itself must be `released-package.zip`.
12521258

1253-
To use zip deployment in your template, set the `WEBSITE_RUN_FROM_PACKAGE` setting in the app to `1` and include the `/zipDeploy` resource definition.
1254-
::: zone-end
1255-
::: zone pivot="consumption-plan"
1256-
For a Consumption plan on Linux, instead set the URI of the deployment package directly in the `WEBSITE_RUN_FROM_PACKAGE` setting, as shown in [this example template](https://github.com/Azure-Samples/function-app-arm-templates/tree/main/function-app-linux-consumption#L152).
1257-
::: zone-end
1258-
::: zone pivot="dedicated-plan,premium-plan,consumption-plan"
1259-
This example adds a zip deployment source to an existing app:
1259+
To include a one deploy package in your template, use the `/onedeploy` resource definition for the remote URL that contains the deployment package. The Functions host must be able to access both this remote package source and the deployment container.
1260+
1261+
This example adds a one deploy source to an existing app:
1262+
1263+
### [Bicep](#tab/bicep)
1264+
1265+
```bicep
1266+
@description('The name of the function app.')
1267+
param functionAppName string
12601268
1269+
@description('The location into which the resources should be deployed.')
1270+
param location string = resourceGroup().location
1271+
1272+
@description('The zip content URL for released-package.zip.')
1273+
param packageUri string
1274+
1275+
resource functionAppName_OneDeploy 'Microsoft.Web/sites/extensions@2022-09-01' = {
1276+
name: '${functionAppName}/onedeploy'
1277+
location: location
1278+
properties: {
1279+
packageUri: packageUri
1280+
remoteBuild: false
1281+
}
1282+
}
1283+
```
12611284
### [ARM template](#tab/json)
12621285

12631286
```json
@@ -1268,7 +1291,7 @@ This example adds a zip deployment source to an existing app:
12681291
"functionAppName": {
12691292
"type": "string",
12701293
"metadata": {
1271-
"description": "The name of the Azure Function app."
1294+
"description": "The name of the Azure Functions app."
12721295
}
12731296
},
12741297
"location": {
@@ -1281,15 +1304,15 @@ This example adds a zip deployment source to an existing app:
12811304
"packageUri": {
12821305
"type": "string",
12831306
"metadata": {
1284-
"description": "The zip content url."
1307+
"description": "The zip content URL for released-package.zip."
12851308
}
12861309
}
12871310
},
12881311
"resources": [
12891312
{
1290-
"name": "[concat(parameters('functionAppName'), '/ZipDeploy')]",
1313+
"name": "[concat(parameters('functionAppName'), '/onedeploy')]",
12911314
"type": "Microsoft.Web/sites/extensions",
1292-
"apiVersion": "2021-02-01",
1315+
"apiVersion": "2022-09-01",
12931316
"location": "[parameters('location')]",
12941317
"properties": {
12951318
"packageUri": "[parameters('packageUri')]"
@@ -1298,6 +1321,27 @@ This example adds a zip deployment source to an existing app:
12981321
]
12991322
}
13001323
```
1324+
---
1325+
1326+
::: zone-end
1327+
::: zone pivot="consumption-plan"
1328+
Your Bicep file or ARM template can optionally also define a deployment for your function code using a [zip deployment package](./deployment-zip-push.md).
1329+
::: zone-end
1330+
::: zone pivot="dedicated-plan,premium-plan,consumption-plan"
1331+
To successfully deploy your application by using Azure Resource Manager, it's important to understand how resources are deployed in Azure. In most examples, top-level configurations are applied by using `siteConfig`. It's important to set these configurations at a top level, because they convey information to the Functions runtime and deployment engine. Top-level information is required before the child `sourcecontrols/web` resource is applied. Although it's possible to configure these settings in the child-level `config/appSettings` resource, in some cases your function app must be deployed _before_ `config/appSettings` is applied.
1332+
1333+
## Zip deployment package
1334+
1335+
Zip deployment is a recommended way to deploy your function app code. By default, functions that use zip deployment run in the deployment package itself. For more information, including the requirements for a deployment package, see [Zip deployment for Azure Functions](deployment-zip-push.md). When using resource deployment automation, you can reference the .zip deployment package in your Bicep or ARM template.
1336+
1337+
To use zip deployment in your template, set the `WEBSITE_RUN_FROM_PACKAGE` setting in the app to `1` and include the `/zipDeploy` resource definition.
1338+
::: zone-end
1339+
::: zone pivot="consumption-plan"
1340+
For a Consumption plan on Linux, instead set the URI of the deployment package directly in the `WEBSITE_RUN_FROM_PACKAGE` setting, as shown in [this example template](https://github.com/Azure-Samples/function-app-arm-templates/tree/main/function-app-linux-consumption#L152).
1341+
::: zone-end
1342+
::: zone pivot="dedicated-plan,premium-plan,consumption-plan"
1343+
This example adds a zip deployment source to an existing app:
1344+
13011345
### [Bicep](#tab/bicep)
13021346

13031347
```bicep
@@ -1318,6 +1362,46 @@ resource functionAppName_ZipDeploy 'Microsoft.Web/sites/extensions@2021-02-01' =
13181362
}
13191363
}
13201364
```
1365+
### [ARM template](#tab/json)
1366+
1367+
```json
1368+
{
1369+
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
1370+
"contentVersion": "1.0.0.0",
1371+
"parameters": {
1372+
"functionAppName": {
1373+
"type": "string",
1374+
"metadata": {
1375+
"description": "The name of the Azure Functions app."
1376+
}
1377+
},
1378+
"location": {
1379+
"type": "string",
1380+
"defaultValue": "[resourceGroup().location]",
1381+
"metadata": {
1382+
"description": "The location into which the resources should be deployed."
1383+
}
1384+
},
1385+
"packageUri": {
1386+
"type": "string",
1387+
"metadata": {
1388+
"description": "The zip content url."
1389+
}
1390+
}
1391+
},
1392+
"resources": [
1393+
{
1394+
"name": "[concat(parameters('functionAppName'), '/ZipDeploy')]",
1395+
"type": "Microsoft.Web/sites/extensions",
1396+
"apiVersion": "2021-02-01",
1397+
"location": "[parameters('location')]",
1398+
"properties": {
1399+
"packageUri": "[parameters('packageUri')]"
1400+
}
1401+
}
1402+
]
1403+
}
1404+
```
13211405
---
13221406

13231407
Keep the following things in mind when including zip deployment resources in your template:
@@ -1838,7 +1922,7 @@ These application settings are required for container deployments:
18381922

18391923
Keep these considerations in mind when working with site and application settings using Bicep files or ARM templates:
18401924
::: zone pivot="flex-consumption-plan"
1841-
+ The optional `alwaysReady` setting contains an array of one or more `{name,instanceCount}` objects, with one for each [per-function scale group](flex-consumption-plan.md#per-function-scaling). These are the scale groups being used to make always-ready scale decisions. This example sets always-ready counts for both the `http` group and a single function named `helloworld`, which is of a non-grouped trigger type:
1925+
+ The optional `alwaysReady` setting contains an array of one or more `{name,instanceCount}` objects, with one for each [per-function scale group](flex-consumption-plan.md#per-function-scaling). These are the scale groups being used to make always-ready scale decisions. This example sets always-ready counts for both the `http` group and a single function named `helloworld`, which is of a nongrouped trigger type:
18421926
### [Bicep](#tab/bicep)
18431927
```bicep
18441928
alwaysReady: [
@@ -2068,7 +2152,7 @@ Here's an example that uses HTML:
20682152

20692153
### Deploy using PowerShell
20702154

2071-
The following PowerShell commands create a resource group and deploy a Bicep file or ARM template that creates a function app with its required resources. To run locally, you must have [Azure PowerShell](/powershell/azure/install-azure-powershell) installed. Run [`Connect-AzAccount`](/powershell/module/az.accounts/connect-azaccount) to sign in.
2155+
The following PowerShell commands create a resource group and deploy a Bicep file or ARM template that creates a function app with its required resources. To run locally, you must have [Azure PowerShell](/powershell/azure/install-azure-powershell) installed. To sign in to Azure, you must first run [`Connect-AzAccount`](/powershell/module/az.accounts/connect-azaccount).
20722156

20732157
#### [Bicep](#tab/bicep)
20742158

articles/zone-pivot-groups.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -211,16 +211,16 @@ groups:
211211
title: Function app hosting options
212212
prompt: Choose a hosting option for your function app
213213
pivots:
214-
- id: consumption-plan
215-
title: Consumption plan
216214
- id: flex-consumption-plan
217-
title: Flex Consumption plan (preview)
215+
title: Flex Consumption plan
218216
- id: premium-plan
219217
title: Premium plan
220218
- id: dedicated-plan
221219
title: Dedicated plan
222220
- id: container-apps
223221
title: Container Apps
222+
- id: consumption-plan
223+
title: Consumption plan
224224
- id: azure-arc
225225
title: Azure Arc
226226
### end azure-functions

0 commit comments

Comments
 (0)