Skip to content

Commit 0bc301d

Browse files
authored
Merge pull request #245092 from MicrosoftDocs/main
Publish to live, Sunday 4 AM PST, 7/16
2 parents fb38999 + 6705b9a commit 0bc301d

File tree

54 files changed

+1177
-748
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1177
-748
lines changed

articles/active-directory/external-identities/customers/how-to-single-page-app-vanillajs-configure-authentication.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ The application uses the [Implicit Grant Flow](../../develop/v2-oauth2-implicit-
9898

9999
1. Replace the following values with the values from the Azure portal:
100100
- Find the `Enter_the_Application_Id_Here` value and replace it with the **Application ID (clientId)** of the app you registered in the Microsoft Entra admin center.
101-
- In **Authority**, find `Enter_the_Tenant_Subdomain_Here` and replace it with the subdomain of your tenant. For example, if your tenant primary domain is *caseyjensen@onmicrosoft.com*, the value you should enter is *casyjensen*.
102-
1. Save the file.
101+
- In **Authority**, find `Enter_the_Tenant_Subdomain_Here` and replace it with the subdomain of your tenant. For example, if your tenant primary domain is `contoso.onmicrosoft.com`, use `contoso`. If you don't have your tenant name, [learn how to read your tenant details](how-to-create-customer-tenant-portal.md#get-the-customer-tenant-details).
102+
2. Save the file.
103103
104104
## Adding code to the redirection file
105105

articles/active-directory/external-identities/customers/how-to-single-page-app-vanillajs-prepare-tenant.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ ms.date: 06/09/2023
1818

1919
This tutorial series demonstrates how to build a vanilla JavaScript single-page application (SPA) and prepare it for authentication using the Microsoft Entra admin center. You'll use the [Microsoft Authentication Library for JavaScript](/javascript/api/overview/msal-overview) library to authenticate your app with your Azure Active Directory (Azure AD) for customers tenant. Finally, you'll run the application and test the sign-in and sign-out experiences.
2020

21-
In this tutorial, you'll;
21+
In this tutorial;
2222

2323
> [!div class="checklist"]
2424
> * Register a SPA in the Microsoft Entra admin center, and record its identifiers

articles/active-directory/external-identities/customers/how-to-single-page-application-react-prepare-app.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,10 @@ Identity related **npm** packages must be installed in the project to enable use
150150
// };
151151
```
152152
153-
1. Replace the following values with the values from the Azure admin center:
154-
- Replace `Enter_the_Application_Id_Here` with the **Application (client) ID** value that was recorded earlier from the **Overview** page of the registered application.
155-
- In **Authority**, find `Enter_the_Tenant_Subdomain_Here` and replace it with the subdomain of your tenant. For example, if your tenant primary domain is *[email protected]*, the value you should enter is *casyjensen*.
153+
1. Replace the following values with the values from the Azure portal:
154+
- Find the `Enter_the_Application_Id_Here` value and replace it with the **Application ID (clientId)** of the app you registered in the Microsoft Entra admin center.
155+
- In **Authority**, find `Enter_the_Tenant_Subdomain_Here` and replace it with the subdomain of your tenant. For example, if your tenant primary domain is `contoso.onmicrosoft.com`, use `contoso`. If you don't have your tenant name, [learn how to read your tenant details](how-to-create-customer-tenant-portal.md#get-the-customer-tenant-details).
156+
2. Save the file.
156157
157158
## Modify *index.js* to include the authentication provider
158159

articles/aks/supported-kubernetes-versions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ Note important changes to make, before you upgrade to any of the available minor
5959
| 1.24 | Azure policy 1.0.1<br>Metrics-Server 0.6.3<br>KEDA 2.9.3<br>Open Service Mesh 1.2.3<br>Core DNS V1.9.4<br>0.12.0</br>Overlay VPA 0.11.0<br>Azure-Keyvault-SecretsProvider 1.4.1<br>Ingress AppGateway 1.2.1<br>Eraser v1.1.1<br>Azure Workload Identity V1.1.1<br>ASC Defender 1.0.56<br>AAD Pod Identity 1.8.13.6<br>Gitops 1.7.0<br>KMS 0.5.0| Cilium 1.12.8<br>CNI 1.4.44<br> Cluster Autoscaler 1.8.5.3<br> | OS Image Ubuntu 18.04 Cgroups V1 <br>ContainerD 1.7<br>| No Breaking Changes | None
6060
| 1.25 | Azure policy 1.0.1<br>Metrics-Server 0.6.3<br>KEDA 2.9.3<br>Open Service Mesh 1.2.3<br>Core DNS V1.9.4<br>0.12.0</br>Overlay VPA 0.11.0<br>Azure-Keyvault-SecretsProvider 1.4.1<br>Ingress AppGateway 1.2.1<br>Eraser v1.1.1<br>Azure Workload Identity V1.1.1<br>ASC Defender 1.0.56<br>AAD Pod Identity 1.8.13.6<br>Gitops 1.7.0<br>KMS 0.5.0| Cilium 1.12.8<br>CNI 1.4.44<br> Cluster Autoscaler 1.8.5.3<br> | OS Image Ubuntu 18.04 Cgroups V1 <br>ContainerD 1.7<br>| Ubuntu 22.04 by default with cgroupv2 and Overlay VPA 0.13.0 |CgroupsV2 - If you deploy Java applications with the JDK, prefer to use JDK 11.0.16 and later or JDK 15 and later, which fully support cgroup v2
6161
| 1.26 | Azure policy 1.0.1<br>Metrics-Server 0.6.3<br>KEDA 2.9.3<br>Open Service Mesh 1.2.3<br>Core DNS V1.9.4<br>0.12.0</br>Overlay VPA 0.11.0<br>Azure-Keyvault-SecretsProvider 1.4.1<br>Ingress AppGateway 1.2.1<br>Eraser v1.1.1<br>Azure Workload Identity V1.1.1<br>ASC Defender 1.0.56<br>AAD Pod Identity 1.8.13.6<br>Gitops 1.7.0<br>KMS 0.5.0| Cilium 1.12.8<br>CNI 1.4.44<br> Cluster Autoscaler 1.8.5.3<br> | OS Image Ubuntu 22.04 Cgroups V2 <br>ContainerD 1.7<br>|No Breaking Changes |None
62-
| 1.27 Preview | Azure policy 1.0.1<br>Metrics-Server 0.6.3<br>KEDA 2.10.0<br>Open Service Mesh 1.2.3<br>Core DNS V1.9.4<br>0.12.0</br>Overlay VPA 0.11.0<br>Azure-Keyvault-SecretsProvider 1.4.1<br>Ingress AppGateway 1.2.1<br>Eraser v1.1.1<br>Azure Workload Identity V1.1.1<br>ASC Defender 1.0.56<br>AAD Pod Identity 1.8.13.6<br>Gitops 1.7.0<br>KMS 0.5.0|Cilium 1.12.8<br>CNI 1.4.44<br> Cluster Autoscaler 1.8.5.3<br> | OS Image Ubuntu 22.04 Cgroups V1 <br>ContainerD 1.7 for Linux and 1.6 for Windows<br>|Keda 2.10.0 |Because of Ubuntu 22.04 FIPS certification status, we'll switch AKS FIPS nodes from 18.04 to 20.04 from 1.27 preview onwards.
62+
| 1.27 Preview | Azure policy 1.0.1<br>Metrics-Server 0.6.3<br>KEDA 2.10.0<br>Open Service Mesh 1.2.3<br>Core DNS V1.9.4<br>0.12.0</br>Overlay VPA 0.11.0<br>Azure-Keyvault-SecretsProvider 1.4.1<br>Ingress AppGateway 1.2.1<br>Eraser v1.1.1<br>Azure Workload Identity V1.1.1<br>ASC Defender 1.0.56<br>AAD Pod Identity 1.8.13.6<br>Gitops 1.7.0<br>KMS 0.5.0|Cilium 1.12.8<br>CNI 1.4.44<br> Cluster Autoscaler 1.8.5.3<br> | OS Image Ubuntu 22.04 Cgroups V2 <br>ContainerD 1.7 for Linux and 1.6 for Windows<br>|Keda 2.10.0 |Because of Ubuntu 22.04 FIPS certification status, we'll switch AKS FIPS nodes from 18.04 to 20.04 from 1.27 preview onwards.
6363
## Alias minor version
6464

6565
> [!NOTE]

articles/api-management/soft-delete.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Use the API Management [Get By Name](/rest/api/apimanagement/current-ga/deleted-
6060
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/deletedservices/{serviceName}?api-version=2021-08-01
6161
```
6262

63-
If available for undelete, Azure will return a record of the APIM instance showing its `deletionDate` and `scheduledPurgeDate`, for example:
63+
If available for undelete, Azure will return a record of the API Management instance showing its `deletionDate` and `scheduledPurgeDate`, for example:
6464

6565
```json
6666
{
@@ -125,6 +125,23 @@ DELETE https://management.azure.com/subscriptions/{subscriptionId}/providers/Mic
125125

126126
This will permanently delete your API Management instance from Azure.
127127

128+
## Reuse an API Management instance name after deletion
129+
130+
You **can** reuse the name of an API Management instance in a new deployment:
131+
132+
* After the instance has been permanently deleted (purged) from Azure.
133+
134+
* In the same subscription as the original instance.
135+
136+
You **can't** reuse the name of an API Management instance in a new deployment:
137+
138+
* While the instance is soft-deleted.
139+
140+
* In a subscription other than the one used to deploy the original instance, even after the original instance has been permanently deleted (purged) from Azure. This restriction applies whether the new subscription used is in the same or a different Azure Active Directory tenant. The restriction is in effect for several days or longer after deletion, depending on the subscription type.
141+
142+
This restriction is because Azure reserves the service host name to a customer's tenant for a reservation period to prevent the threat of subdomain takeover with dangling DNS entries. For more information, see [Prevent dangling DNS entries and avoid subdomain takeover](/azure/security/fundamentals/subdomain-takeover). To see all dangling DNS entries for subscriptions in an Azure AD tenant, see [Identify dangling DNS entries](/azure/security/fundamentals/subdomain-takeover#identify-dangling-dns-entries).
143+
144+
128145
## Next steps
129146

130147
Learn about long-term API Management backup and recovery options:

articles/azure-functions/create-first-function-cli-python.md

Lines changed: 27 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Create a Python function from the command line - Azure Functions
33
description: Learn how to create a Python function from the command line, then publish the local project to serverless hosting in Azure Functions.
4-
ms.date: 03/22/2023
4+
ms.date: 07/15/2023
55
ms.topic: quickstart
66
ms.devlang: python
77
ms.custom: devx-track-python, devx-track-azurecli, devx-track-azurepowershell, mode-api, devdivchpfy22
@@ -28,12 +28,8 @@ Before you begin, you must have the following requirements in place:
2828

2929
+ An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?ref=microsoft.com&utm_source=microsoft.com&utm_medium=docs&utm_campaign=visualstudio).
3030

31-
::: zone pivot="python-mode-configuration"
3231
+ The [Azure Functions Core Tools](functions-run-local.md#v2) version 4.x.
33-
::: zone-end
34-
::: zone pivot="python-mode-decorators"
35-
+ The [Azure Functions Core Tools](functions-run-local.md#v2) version 4.2.1 or later.
36-
::: zone-end
32+
3733
+ One of the following tools for creating Azure resources:
3834

3935
+ [Azure CLI](/cli/azure/install-azure-cli) version 2.4 or later.
@@ -47,36 +43,6 @@ Before you begin, you must have the following requirements in place:
4743

4844
[!INCLUDE [functions-x86-emulation-on-arm64-note](../../includes/functions-x86-emulation-on-arm64-note.md)]
4945

50-
### Prerequisite check
51-
52-
Verify your prerequisites, which depend on whether you're using Azure CLI or Azure PowerShell for creating Azure resources.
53-
54-
# [Azure CLI](#tab/azure-cli)
55-
56-
::: zone pivot="python-mode-configuration"
57-
+ In a terminal or command window, run `func --version` to check that the Azure Functions Core Tools version is 4.x.
58-
::: zone-end
59-
::: zone pivot="python-mode-decorators"
60-
+ In a terminal or command window, run `func --version` to check that the Azure Functions Core Tools version is 4.0.4785 or later.
61-
::: zone-end
62-
+ Run `az --version` to check that the Azure CLI version is 2.4 or later.
63-
64-
+ Run `az login` to sign in to Azure and verify an active subscription.
65-
66-
+ Run `python --version` (Linux/macOS) or `py --version` (Windows) to check your Python version reports 3.9.x, 3.8.x, or 3.7.x.
67-
68-
# [Azure PowerShell](#tab/azure-powershell)
69-
70-
+ In a terminal or command window, run `func --version` to check that the Azure Functions Core Tools version is 4.x.
71-
72-
+ Run `(Get-Module -ListAvailable Az).Version` and verify version 5.0 or later.
73-
74-
+ Run `Connect-AzAccount` to sign in to Azure and verify an active subscription.
75-
76-
+ Run `python --version` (Linux/macOS) or `py --version` (Windows) to check your Python version reports 3.9.x, 3.8.x, or 3.7.x.
77-
78-
---
79-
8046
## <a name="create-venv"></a>Create and activate a virtual environment
8147

8248
In a suitable folder, run the following commands to create and activate a virtual environment named `.venv`. Make sure that you're using Python 3.9, 3.8, or 3.7, which are supported by Azure Functions.
@@ -146,15 +112,9 @@ In Azure Functions, a function project is a container for one or more individual
146112
func new --name HttpExample --template "HTTP trigger" --authlevel "anonymous"
147113
```
148114

149-
`func new` creates a subfolder matching the function name that contains a code file appropriate to the project's chosen language and a configuration file named *function.json*.
150-
151-
Get the list of templates by using the following command:
152-
153-
```console
154-
func templates list -l python
155-
```
156-
::: zone-end
157-
::: zone pivot="python-mode-decorators"
115+
`func new` creates a subfolder matching the function name that contains a code file appropriate to the project's chosen language and a configuration file named *function.json*.
116+
::: zone-end
117+
::: zone pivot="python-mode-decorators"
158118
1. Run the `func init` command as follows to create a functions project in a folder named *LocalFunctionProj* with the specified runtime and the specified programming model version.
159119

160120
```console
@@ -166,51 +126,33 @@ In Azure Functions, a function project is a container for one or more individual
166126
```console
167127
cd LocalFunctionProj
168128
```
169-
129+
170130
This folder contains various files for the project, including configuration files named [*local.settings.json*](functions-develop-local.md#local-settings-file) and [*host.json*](functions-host-json.md). Because *local.settings.json* can contain secrets downloaded from Azure, the file is excluded from source control by default in the *.gitignore* file.
171131

172132
1. The file `function_app.py` can include all functions within your project. To start with, there's already an HTTP function stored in the file.
173133

174-
```python
175-
import azure.functions as func
176-
177-
app = func.FunctionApp()
178-
179-
@app.function_name(name="HttpTrigger1")
180-
@app.route(route="hello")
181-
def test_function(req: func.HttpRequest) -> func.HttpResponse:
182-
return func.HttpResponse("HttpTrigger1 function processed a request!")
183-
```
184-
::: zone-end
185-
186-
### (Optional) Examine the file contents
187-
188-
If desired, you can skip to [Run the function locally](#run-the-function-locally) and examine the file contents later.
189-
190-
::: zone pivot="python-mode-configuration"
191-
#### \_\_init\_\_.py
192-
193-
*\_\_init\_\_.py* contains a `main()` Python function that's triggered according to the configuration in *function.json*.
194-
195-
:::code language="python" source="~/functions-quickstart-templates/Functions.Templates/Templates/HttpTrigger-Python/__init__.py":::
196-
197-
For an HTTP trigger, the function receives request data in the variable `req` as defined in *function.json*. `req` is an instance of the [azure.functions.HttpRequest class](/python/api/azure-functions/azure.functions.httprequest). The return object, defined as `$return` in *function.json*, is an instance of [azure.functions.HttpResponse class](/python/api/azure-functions/azure.functions.httpresponse). For more information, see [Azure Functions HTTP triggers and bindings](./functions-bindings-http-webhook.md?tabs=python).
198-
199-
#### function.json
200-
201-
*function.json* is a configuration file that defines the input and output `bindings` for the function, including the trigger type.
202-
203-
If desired, you can change `scriptFile` to invoke a different Python file.
204-
205-
:::code language="json" source="~/functions-quickstart-templates/Functions.Templates/Templates/HttpTrigger-Python/function.json":::
206-
207-
Each binding requires a direction, a type, and a unique name. The HTTP trigger has an input binding of type [`httpTrigger`](functions-bindings-http-webhook-trigger.md) and output binding of type [`http`](functions-bindings-http-webhook-output.md).
208-
::: zone-end
209-
::: zone pivot="python-mode-decorators"
210-
`function_app.py` is the entry point to the function and where functions will be stored and/or referenced. This file will include configuration of triggers and bindings through decorators, and the function content itself.
211-
212-
For more information, see [Azure Functions HTTP triggers and bindings](./functions-bindings-http-webhook.md?tabs=python).
134+
```python
135+
import azure.functions as func
136+
137+
app = func.FunctionApp()
138+
139+
@app.function_name(name="HttpTrigger1")
140+
@app.route(route="hello")
141+
def test_function(req: func.HttpRequest) -> func.HttpResponse:
142+
return func.HttpResponse("HttpTrigger1 function processed a request!")
143+
```
144+
145+
1. Open the local.settings.json project file and verify that the `AzureWebJobsFeatureFlags` setting has a value of `EnableWorkerIndexing`. This is required for Functions to interpret your project correctly as the Python v2 model. You'll add this same setting to your application settings after you publish your project to Azure.
146+
147+
1. In the local.settings.json file, update the `AzureWebJobsStorage` setting as in the following example:
148+
149+
```json
150+
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
151+
```
213152

153+
This tells the local Functions host to use the storage emulator for the storage connection currently required by the Python v2 model. When you publish your project to Azure, you'll need to instead use the default storage account. If you're instead using an Azure Storage account, set your storage account connection string here.
154+
::: zone-end
155+
::: zone pivot="python-mode-decorators"
214156
## Start the storage emulator
215157

216158
By default, local development uses the Azurite storage emulator. This emulator is used when the `AzureWebJobsStorage` setting in the *local.settings.json* project file is set to `UseDevelopmentStorage=true`. When using the emulator, you must start the local Azurite storage emulator before running the function.

0 commit comments

Comments
 (0)