Updates from: 10/17/2024 01:10:10
Service Microsoft Docs article Related commit history on GitHub Change details
api-management Api Management Howto Properties https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-howto-properties.md
Using key vault secrets is recommended because it helps improve API Management s
* Granular [access policies](/azure/key-vault/general/security-features#privileged-access) can be applied to secrets * Secrets updated in the key vault are automatically rotated in API Management. After update in the key vault, a named value in API Management is updated within 4 hours. You can also manually refresh the secret using the Azure portal or via the management REST API.
+> [!NOTE]
+> The secrets stored in Azure Key Vault must be between 1 and 4096 characters, as API Management cannot retrieve values that exceed this limit.
## Prerequisites * If you have not created an API Management service instance yet, see [Create an API Management service instance](get-started-create-service-instance.md).
api-management Virtual Network Injection Resources https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/virtual-network-injection-resources.md
The minimum size of the subnet in which API Management can be deployed is /29, w
* **/25 subnet**: 128 possible IP addresses - 5 reserved Azure IP addresses - 2 API Management IP addresses for one instance - 1 IP address for internal load balancer, if used in internal mode = 120 remaining IP addresses left for 60 scale-out units (2 IP addresses/scale-out unit) for a total of 61 units. This is a large, theoretical number of scale-out units. > [!NOTE]
-> It is currently possible to scale the Premium SKU to 31 units. If you foresee demand approaching this limit, consider the /26 subnet or /25 submit.
+> It is currently possible to scale the Premium SKU to 31 units. If you foresee demand approaching this limit, consider the /26 subnet or /25 subnet.
> [!IMPORTANT] > The private IP addresses of internal load balancer and API Management units are assigned dynamically. Therefore, it is impossible to anticipate the private IP of the API Management instance prior to its deployment. Additionally, changing to a different subnet and then returning might cause a change in the private IP address.
app-service Configure Authentication Provider Aad https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/configure-authentication-provider-aad.md
Either:
- Select **Provide the details of an existing app registration** and provide: - Application (client) ID. - Client secret (recommended). A secret value that the application uses to prove its identity when requesting a token. This value is saved in your app's configuration as a slot-sticky application setting named `MICROSOFT_PROVIDER_AUTHENTICATION_SECRET`. If the client secret isn't set, sign-in operations from the service use the OAuth 2.0 implicit grant flow, which *isn't* recommended.
- - Issuer URL, which takes the form `<authentication-endpoint>/<tenant-id>/v2.0`. Replace `<authentication-endpoint>` with the authentication endpoint [value specific to the cloud environment](/entra/identity-platform/authentication-national-cloud#azure-ad-authentication-endpoints). For example, a workforce tenant in global Azure would use "https://login.microsoftonline.com" as its authentication endpoint.
+ - Issuer URL, which takes the form `<authentication-endpoint>/<tenant-id>/v2.0`. Replace `<authentication-endpoint>` with the authentication endpoint [value specific to the cloud environment](/entra/identity-platform/authentication-national-cloud#azure-ad-authentication-endpoints). For example, a workforce tenant in global Azure would use "https://sts.windows.net" as its authentication endpoint.
If you need to manually create an app registration in a workforce tenant, follow the [register an application](/entra/identity-platform/quickstart-register-app) quickstart. As you go through the registration process, be sure to note the application (client) ID and client secret values.
app-service Configure Ssl Certificate https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/configure-ssl-certificate.md
If you use Azure Key Vault to manage your certificates, you can import a PKCS12
By default, the App Service resource provider doesn't have access to your key vault. To use a key vault for a certificate deployment, you must authorize read access for the resource provider (App Service) to the key vault. You can grant access either with access policy or RBAC.
-> [!NOTE]
-> Currently, the Azure portal does not allow you to configure an App Service certificate in Key Vault to use the RBAC model. You can, however, use Azure CLI, Azure PowerShell, or an ARM template deployment to perform this configuration.
- ### [RBAC permissions](#tab/RBAC) | Resource provider | Service principal app ID / assignee | Key vault RBAC role | |--|--|--|
app-service Deploy Staging Slots https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/deploy-staging-slots.md
When you swap two slots (usually from a staging slot *as the source* into the pr
- [Continuous deployment](deploy-continuous-deployment.md) settings, if enabled. - [App Service authentication](overview-authentication-authorization.md) settings, if enabled.
- Any of these cases trigger all instances in the source slot to restart. During [swap with preview](#Multi-Phase), this marks the end of the first phase. The swap operation is paused, and you can validate that the source slot works correctly with the target slot's settings.
+ When any of the settings is applied to the source slot, the change triggers all instances in the source slot to restart. During [swap with preview](#Multi-Phase), this marks the end of the first phase. The swap operation is paused, and you can validate that the source slot works correctly with the target slot's settings.
1. Wait for every instance in the source slot to complete its restart. If any instance fails to restart, the swap operation reverts all changes to the source slot and stops the operation. 1. If [local cache](overview-local-cache.md) is enabled, trigger local cache initialization by making an HTTP request to the application root ("/") on each instance of the source slot. Wait until each instance returns any HTTP response. Local cache initialization causes another restart on each instance.
-1. If [auto swap](#Auto-Swap) is enabled with [custom warm-up](#Warm-up), trigger [Application Initiation](/iis/get-started/whats-new-in-iis-8/iis-80-application-initialization) by making an HTTP request to the application root ("/") on each instance of the source slot.
+1. If [auto swap](#Auto-Swap) is enabled with [custom warm-up](#Warm-up), trigger the custom [Application Initiation](/iis/get-started/whats-new-in-iis-8/iis-80-application-initialization) on each instance of the source slot.
If `applicationInitialization` isn't specified, trigger an HTTP request to the application root of the source slot on each instance.
app-service Overview Authentication Authorization https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/overview-authentication-authorization.md
If you don't need to work with tokens in your app, you can disable the token sto
If you [enable application logging](troubleshoot-diagnostic-logs.md), you will see authentication and authorization traces directly in your log files. If you see an authentication error that you didn't expect, you can conveniently find all the details by looking in your existing application logs. If you enable [failed request tracing](troubleshoot-diagnostic-logs.md), you can see exactly what role the authentication and authorization module may have played in a failed request. In the trace logs, look for references to a module named `EasyAuthModule_32/64`.
-### Considerations when using Azure Front Door
+### Cross-site request forgery mitigation
-When using Azure App Service with Easy Auth behind Azure Front Door or other reverse proxies, a few additional things have to be taken into consideration.
+App Service authentication mitigates CSRF by inspecting client requests for the following conditions:
-1) Disable Caching for the authentication workflow
+- It's a POST request that authenticated using a session cookie.
+- The request came from a known browser (as determined by the HTTP `User-Agent` header).
+- The HTTP `Origin` or HTTP `Referer` header is missing or is not in the configured list of approved external domains for redirection.
+- The HTTP `Origin` header is missing or is not in the configured list of CORS origins.
+
+When a request fulfills all these conditions, App Service authentication automatically rejects it. You can workaround this mitigation logic by adding your external domain to the redirect list to **Authentication** > **Edit authentication settings** > **Allowed external redirect URLs**.
+
+## Considerations when using Azure Front Door
+
+When using Azure App Service with authentication behind Azure Front Door or other reverse proxies, a few additional things have to be taken into consideration.
+
+- Disable caching for the authentication workflow.
See [Disable cache for auth workflow](../static-web-apps/front-door-manual.md#disable-cache-for-auth-workflow) to learn more on how to configure rules in Azure Front Door to disable caching for authentication and authorization-related pages.
-2) Use the Front Door endpoint for redirects
+- Use the Front Door endpoint for redirects.
App Service is usually not accessible directly when exposed via Azure Front Door. This can be prevented, for example, by exposing App Service via Private Link in Azure Front Door Premium. To prevent the authentication workflow to redirect traffic back to App Service directly, it is important to configure the application to redirect back to `https://<front-door-endpoint>/.auth/login/<provider>/callback`.
-3) Ensure that App Service is using the right redirect URI
+- Ensure that App Service is using the right redirect URI
In some configurations, the App Service is using the App Service FQDN as the redirect URI instead of the Front Door FQDN. This will lead to an issue when the client is being redirected to App Service instead of Front Door. To change that, the `forwardProxy` setting needs to be set to `Standard` to make App Service respect the `X-Forwarded-Host` header set by Azure Front Door.
app-service Overview Managed Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/overview-managed-identity.md
The principalId is a unique identifier for the identity that's used for Microsof
You may need to configure the target resource to allow access from your app or function. For example, if you [request a token](#connect-to-azure-services-in-app-code) to access Key Vault, you must also add an access policy that includes the managed identity of your app or function. Otherwise, your calls to Key Vault will be rejected, even if you use a valid token. The same is true for Azure SQL Database. To learn more about which resources support Microsoft Entra tokens, see [Azure services that support Microsoft Entra authentication](../active-directory/managed-identities-azure-resources/services-support-managed-identities.md#azure-services-that-support-azure-ad-authentication). > [!IMPORTANT]
-> The back-end services for managed identities maintain a cache per resource URI for around 24 hours. If you update the access policy of a particular target resource and immediately retrieve a token for that resource, you may continue to get a cached token with outdated permissions until that token expires. There's currently no way to force a token refresh.
+> The back-end services for managed identities maintain a cache per resource URI for around 24 hours. This means that it can take several hours for changes to a managed identity's group or role membership to take effect. Today, it is not possible to force a managed identity's token to be refreshed before its expiry. If you change a managed identityΓÇÖs group or role membership to add or remove permissions, you may therefore need to wait several hours for the Azure resource using the identity to have the correct access. For alternatives to groups or role memberships, see [Limitation of using managed identities for authorization](/entra/identity/managed-identities-azure-resources/managed-identity-best-practice-recommendations).
## Connect to Azure services in app code
App Service and Azure Functions provide an internally accessible [REST endpoint]
# [HTTP GET](#tab/http)
-A raw HTTP GET request looks like the following example:
+A raw HTTP GET request uses the [two supplied environment variables](#rest-endpoint-reference) and looks like the following example:
```http GET /MSI/token?resource=https://vault.azure.net&api-version=2019-08-01 HTTP/1.1
-Host: localhost:4141
-X-IDENTITY-HEADER: 853b9a84-5bfa-4b22-a3f3-0b9a43d9ad8a
+Host: <ip-address-:-port-in-IDENTITY_ENDPOINT>
+X-IDENTITY-HEADER: <value-of-IDENTITY_HEADER>
``` And a sample response might look like the following:
app-service Reference App Settings https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/reference-app-settings.md
Title: Environment variables and app settings reference description: Describes the commonly used environment variables, and which ones can be modified with app settings. Previously updated : 09/27/2024 Last updated : 10/16/2024
WEBSITE_DISABLE_PRELOAD_HANG_MITIGATION
| Setting name| Description | Example | |-|-|-| | `WEBSITE_HTTPLOGGING_ENABLED` | Read-only. Shows whether the web server logging for Windows native apps is enabled (`1`) or not (`0`). ||
-| `WEBSITE_HTTPLOGGING_RETENTION_DAYS` | Retention period in days of web server logs for Windows native apps, if web server logs are enabled. | `10` |
+| `WEBSITE_HTTPLOGGING_RETENTION_DAYS` | Retention period in days of web server logs, if web server logs are enabled for a Windows native or Linux app. | `10` |
| `WEBSITE_HTTPLOGGING_CONTAINER_URL` | SAS URL of the blob storage container to store web server logs for Windows native apps, if web server logs are enabled. If not set, web server logs are stored in the app's file system (default shared storage). | | | `DIAGNOSTICS_AZUREBLOBRETENTIONINDAYS` | Retention period in days of application logs for Windows native apps, if application logs are enabled. | `10` | | `DIAGNOSTICS_AZUREBLOBCONTAINERSASURL` | SAS URL of the blob storage container to store application logs for Windows native apps, if application logs are enabled. | |
app-service Tutorial Connect Msi Sql Database https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-connect-msi-sql-database.md
The steps you follow for your project depends on whether you're using [Entity Fr
Next, you configure your App Service app to connect to SQL Database with a system-assigned managed identity. > [!NOTE]
-> While the instructions in this section are for a system-assigned identity, a user-assigned identity can just as easily be used. To do this. you would need the change the `az webapp identity assign command` to assign the desired user-assigned identity. Then, when creating the SQL user, make sure to use the name of the user-assigned identity resource rather than the site name.
+> The instructions in this section are for a system-assigned identity, To use a user-assigned identity, see [Tutorial: Connect to Azure databases from App Service without secrets using a managed identity](tutorial-connect-msi-azure-database.md).
### Enable managed identity on app
application-gateway Application Gateway Backend Health Troubleshooting https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/application-gateway-backend-health-troubleshooting.md
BackendAddressPools :
BackendAddressPoolsText : [ { "BackendAddressPool": {
- "Id": "/subscriptions/536d30b8-665b-40fc-bd7e-68c65f816365/resourceGroups/rgOne/providers/Microsoft.Network/applicationGateways/appgw1/b
+ "Id": "/subscriptions/aaaa0000-bb11-2222-33cc-444444dddddd/resourceGroups/rgOne/providers/Microsoft.Network/applicationGateways/appgw1/b
ackendAddressPools/appGatewayBackendPool" }, "BackendHttpSettingsCollection": [ { "BackendHttpSettings": { "TrustedRootCertificates": [],
- "Id": "/subscriptions/536d30b8-665b-40fc-bd7e-68c65f816365/resourceGroups/rgOne/providers/Microsoft.Network/applicationGateways/appg
+ "Id": "/subscriptions/aaaa0000-bb11-2222-33cc-444444dddddd/resourceGroups/rgOne/providers/Microsoft.Network/applicationGateways/appg
w1/backendHttpSettingsCollection/appGatewayBackendHttpSettings" }, "Servers": [
application-gateway Application Gateway For Containers Components https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/for-containers/application-gateway-for-containers-components.md
Previously updated : 5/9/2024 Last updated : 10/15/2024
Application Gateway for Containers inserts three extra headers to all requests b
**x-forwarded-proto** returns the protocol received by Application Gateway for Containers from the client. The value is either http or https.
-**x-request-id** is a unique guid generated by Application Gateway for Containers for each client request and presented in the forwarded request to the backend target. The guid consists of 32 alphanumeric characters, separated by dashes (for example: d23387ab-e629-458a-9c93-6108d374bc75). This guid can be used to correlate a request received by Application Gateway for Containers and initiated to a backend target as defined in access logs.
+**x-request-id** is a unique guid generated by Application Gateway for Containers for each client request and presented in the forwarded request to the backend target. The guid consists of 32 alphanumeric characters, separated by dashes (for example: aaaa0000-bb11-2222-33cc-444444dddddd). This guid can be used to correlate a request received by Application Gateway for Containers and initiated to a backend target as defined in access logs.
## Request timeouts
application-gateway Quickstart Deploy Application Gateway For Containers Alb Controller https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/for-containers/quickstart-deploy-application-gateway-for-containers-alb-controller.md
You need to complete the following tasks before deploying Application Gateway fo
ALB Controller can be installed by running the following commands: ```azurecli-interactive
- HELM_NAMESPACE='<your cluster name>'
+ HELM_NAMESPACE='<namespace for deployment>'
CONTROLLER_NAMESPACE='azure-alb-system' az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_NAME helm install alb-controller oci://mcr.microsoft.com/application-lb/charts/alb-controller \
application-gateway Troubleshooting Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/for-containers/troubleshooting-guide.md
Previously updated : 9/16/2024 Last updated : 10/15/2024
The following logs are repeated by the primary alb-controller pod.
```text {"level":"info","version":"x.x.x","Timestamp":"2024-02-26T20:31:53.760150719Z","message":"Stream opened for config updates"}
-{"level":"info","version":"x.x.x","operationID":"1ea7ffd4-b2c4-460b-bce7-4d3f855ce8d5","Timestamp":"2024-02-26T20:31:53.760313623Z","message":"Successfully sent config update request"}
-{"level":"error","version":"x.x.x","error":"rpc error: code = PermissionDenied desc = ALB Controller with object id '5b26a949-297d-40c7-b10f-5d1cf2e3259d' does not have authorization to perform action on Application Gateway for Containers resource.Please check RBAC delegations to the Application Gateway for Containers resource.","Timestamp":"2024-02-26T20:31:53.769444995Z","message":"Unable to capture config update response"}
+{"level":"info","version":"x.x.x","operationID":"aaaa0000-bb11-2222-33cc-444444dddddd","Timestamp":"2024-02-26T20:31:53.760313623Z","message":"Successfully sent config update request"}
+{"level":"error","version":"x.x.x","error":"rpc error: code = PermissionDenied desc = ALB Controller with object id 'aaaa0000-bb11-2222-33cc-444444dddddd' does not have authorization to perform action on Application Gateway for Containers resource.Please check RBAC delegations to the Application Gateway for Containers resource.","Timestamp":"2024-02-26T20:31:53.769444995Z","message":"Unable to capture config update response"}
{"level":"info","version":"x.x.x","Timestamp":"2024-02-26T20:31:53.769504489Z","message":"Retrying to open config update stream"} {"level":"info","version":"x.x.x","Timestamp":"2024-02-26T20:31:54.461487406Z","message":"Stream opened up for endpoint updates"} {"level":"info","version":"x.x.x","operationID":"808825c2-b0a8-476b-b83a-8e7357c55750","Timestamp":"2024-02-26T20:31:54.462070039Z","message":"Successfully sent endpoint update request"}
-{"level":"error","version":"x.x.x","error":"rpc error: code = PermissionDenied desc = ALB Controller with object id '5b26a949-297d-40c7-b10f-5d1cf2e3259d' does not have authorization to perform action on Application Gateway for Containers resource.Please check RBAC delegations to the Application Gateway for Containers resource.","Timestamp":"2024-02-26T20:31:54.470728646Z","message":"Unable to capture endpoint update response"}
+{"level":"error","version":"x.x.x","error":"rpc error: code = PermissionDenied desc = ALB Controller with object id 'aaaa0000-bb11-2222-33cc-444444dddddd' does not have authorization to perform action on Application Gateway for Containers resource.Please check RBAC delegations to the Application Gateway for Containers resource.","Timestamp":"2024-02-26T20:31:54.470728646Z","message":"Unable to capture endpoint update response"}
{"level":"info","version":"x.x.x","Timestamp":"2024-02-26T20:31:54.47077373Z","message":"Retrying to open up endpoint update stream"} ```
status:
Assertion Subject: 'system:serviceaccount:azure-application-lb-system:gateway-controller-sa'. Assertion Audience: 'api://AzureADTokenExchange'. https://docs.microsoft.com/en-us/azure/active-directory/develop/workload-identity-federation\\r\\nTrace ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\\r\\nCorrelation ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\\r\\nTimestamp:
- 2023-04-28 22:08:46Z\",\"error_codes\":[70021],\"timestamp\":\"2023-04-28 22:08:46Z\",\"trace_id\":\"08079978-7238-4ae3-9406-ba3b479db000\",\"correlation_id\":\"b2f10283-8dc6-4493-bb0e-b0cd009b17fb\",\"error_uri\":\"https://login.microsoftonline.com/error?code=70021\"}
+ 2023-04-28 22:08:46Z\",\"error_codes\":[70021],\"timestamp\":\"2023-04-28 22:08:46Z\",\"trace_id\":\"aaaa0000-bb11-2222-33cc-444444dddddd\",\"correlation_id\":\"aaaa0000-bb11-2222-33cc-444444dddddd\",\"error_uri\":\"https://login.microsoftonline.com/error?code=70021\"}
DefaultAzureCredential: failed to acquire a token.\nAttempted credentials:\n\tEnvironmentCredential: incomplete environment variable configuration. Only AZURE_TENANT_ID and AZURE_CLIENT_ID are set\n\tManagedIdentityCredential: IMDS token request timed out\n\tAzureCLICredential:
application-gateway Ingress Controller Add Health Probes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-add-health-probes.md
By default, the Application Gateway Ingress Controller (AGIC) provisions an HTTP `GET` probe for exposed Azure Kubernetes Service (AKS) pods. You can customize the probe properties by adding a [readiness or liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) to your deployment or pod specification.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution. For more information, see [Custom health probe for Application Gateway for Containers](for-containers/custom-health-probe.md).
+ ## Code for adding a readiness or liveness probe ```yaml
Any property that the readiness or liveness probe can't infer uses the following
## Related content -- [What is Application Gateway for Containers?](for-containers/overview.md)
+- [Application Gateway for Containers](for-containers/overview.md)
application-gateway Ingress Controller Annotations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-annotations.md
Use the following annotation to attach an existing web application firewall (WAF
### Usage ```yaml
-appgw.ingress.kubernetes.io/waf-policy-for-path: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/AGICWAFPolcy"
+appgw.ingress.kubernetes.io/waf-policy-for-path: "/subscriptions/aaaa0000-bb11-2222-33cc-444444dddddd/resourceGroups/SampleRG/providers/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/AGICWAFPolcy"
```
application-gateway Ingress Controller Autoscale Pods https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-autoscale-pods.md
Title: Autoscale AKS pods with Azure Application Gateway metrics
-description: This article provides instructions on how to scale your AKS back-end pods by using Application Gateway metrics and the Azure Kubernetes Metrics Adapter.
+description: This article provides instructions on how to scale your AKS backend pods by using Application Gateway metrics and the Azure Kubernetes Metrics Adapter.
As incoming traffic increases, it becomes crucial to scale up your applications based on the demand.
-This article explains how you can use the `AvgRequestCountPerHealthyHost` metric in Azure Application Gateway to scale up Azure Kubernetes Service (AKS) pods for an application. The `AvgRequestCountPerHealthyHost` metric measures average requests sent to a specific combination of a back-end pool and a back-end HTTP setting.
+This article explains how you can use the `AvgRequestCountPerHealthyHost` metric in Azure Application Gateway to scale up Azure Kubernetes Service (AKS) pods for an application. The `AvgRequestCountPerHealthyHost` metric measures average requests sent to a specific combination of a backend pool and a backend HTTP setting.
Use the following two components:
Use the following two components:
> [!NOTE] > The Azure Kubernetes Metrics Adapter is no longer maintained. Kubernetes Event-driven Autoscaling (KEDA) is an alternative.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution. For more information, see [Scaling and availability for Application Gateway for Containers](for-containers/scaling-zone-resiliency.md).
+ ## Set up the Azure Kubernetes Metrics Adapter
-1. Create a Microsoft Entra service principal and assign it `Monitoring Reader` access over the Application Gateway instance's resource group:
+1. Create a Microsoft Entra service principal and assign it `Monitoring Reader` access over the Application Gateway deployment's resource group:
```azurecli applicationGatewayGroupName="<application-gateway-group-id>"
Use the following two components:
kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/Azure/azure-k8s-metrics-adapter/master/deploy/adapter.yaml -n custom-metrics ```
-1. Create an `ExternalMetric` resource with the name `appgw-request-count-metric`. This resource instructs the metric adapter to expose the `AvgRequestCountPerHealthyHost` metric for the `myApplicationGateway` resource in the `myResourceGroup` resource group. You can use the `filter` field to target a specific back-end pool and back-end HTTP setting in the Application Gateway instance.
+1. Create an `ExternalMetric` resource with the name `appgw-request-count-metric`. This resource instructs the metric adapter to expose the `AvgRequestCountPerHealthyHost` metric for the `myApplicationGateway` resource in the `myResourceGroup` resource group. You can use the `filter` field to target a specific backend pool and backend HTTP setting in the Application Gateway deployment.
```yaml apiVersion: azure.com/v1alpha2
Use the following two components:
spec: type: azuremonitor azure:
- resourceGroup: myResourceGroup # replace with your Application Gateway instance's resource group name
- resourceName: myApplicationGateway # replace with your Application Gateway instance's name
+ resourceGroup: myResourceGroup # replace with your Application Gateway deployment's resource group name
+ resourceName: myApplicationGateway # replace with your Application Gateway deployment's name
resourceProviderNamespace: Microsoft.Network resourceType: applicationGateways metric:
Test your setup by using a load test tool like ApacheBench:
ab -n10000 http://<applicaiton-gateway-ip-address>/ ```
-## Next steps
+## Related content
- [Troubleshoot Application Gateway Ingress Controller issues](ingress-controller-troubleshoot.md)-- [What is Application Gateway for Containers?](for-containers/overview.md)
+- [Application Gateway for Containers](for-containers/overview.md)
application-gateway Ingress Controller Cookie Affinity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-cookie-affinity.md
As outlined in the [Azure Application Gateway documentation](./application-gateway-components.md#http-settings), Application Gateway supports cookie-based affinity. This support means that the service can direct subsequent traffic from a user session to the same server for processing.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution. For more information, see [Application Gateway for Containers session affinity overview](for-containers/session-affinity.md).
+ ## Example ```yaml
spec:
## Related content -- [What is Application Gateway for Containers?](for-containers/overview.md)
+- [Application Gateway for Containers](for-containers/overview.md)
application-gateway Ingress Controller Disable Addon https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-disable-addon.md
When you deploy the Application Gateway Ingress Controller (AGIC) as an Azure Kubernetes Service (AKS) add-on, you can enable and disable the add-on with one line in the Azure CLI.
-The life cycle of the Azure Application Gateway instance differs when you disable the AGIC add-on, depending on whether you created the Application Gateway instance by using the AGIC add-on or you deployed it separately from the add-on. You can run the same command to re-enable the AGIC add-on if you ever disable it, or to enable the AGIC add-on by using an existing AKS cluster and Application Gateway instance.
+The life cycle of the Azure Application Gateway deployment differs when you disable the AGIC add-on, depending on whether you created the Application Gateway deployment by using the AGIC add-on or you deployed it separately from the add-on. You can run the same command to re-enable the AGIC add-on if you ever disable it, or to enable the AGIC add-on by using an existing AKS cluster and Application Gateway deployment.
-## Disable the AGIC add-on with an associated Application Gateway instance
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution.
+
+## Disable the AGIC add-on with an associated Application Gateway deployment
-If the AGIC add-on automatically deployed the Application Gateway instance for you when you first set up everything, then disabling the AGIC add-on might delete the Application Gateway instance by default. The AGIC add-on considers two criteria to determine if it should delete the associated Application Gateway instance:
+If the AGIC add-on automatically deployed Application Gateway for you when you first set up everything, then disabling the AGIC add-on might delete the Application Gateway deployment by default. The AGIC add-on considers two criteria to determine if it should delete the associated Application Gateway deployment:
-- Is the Application Gateway instance deployed in the `MC_*` node resource group?-- Does the Application Gateway instance have the tag `created-by: ingress-appgw`? AGIC uses the tag to determine whether or not the add-on deployed the Application Gateway instance.
+- Is Application Gateway deployed in the `MC_*` node resource group?
+- Does the Application Gateway deployment have the tag `created-by: ingress-appgw`? AGIC uses the tag to determine whether or not the add-on deployed Application Gateway.
-If both criteria are met, the AGIC add-on deletes the Application Gateway instance when you disable the add-on. However, the AGIC add-on doesn't delete the public IP address or the subnet in which it deployed the Application Gateway instance.
+If both criteria are met, the AGIC add-on deletes the Application Gateway deployment when you disable the add-on. However, the AGIC add-on doesn't delete the public IP address or the subnet in which it deployed Application Gateway.
-If the first criterion isn't met, disabling the add-on doesn't delete the Application Gateway instance, even if the instance has the `created-by: ingress-appgw` tag. Likewise, if the second criterion isn't met (that is, the Application Gateway instance lacks that tag), disabling the add-on doesn't delete the Application Gateway instance in the `MC_*` node resource group.
+If the first criterion isn't met, disabling the add-on doesn't delete the Application Gateway deployment, even if the deployment has the `created-by: ingress-appgw` tag. Likewise, if the second criterion isn't met (that is, the Application Gateway deployment lacks that tag), disabling the add-on doesn't delete the Application Gateway deployment in the `MC_*` node resource group.
> [!TIP]
-> If you don't want the add-on to delete your Application Gateway instance when you disable the add-on, but the instance meets both criteria, remove the `created-by: ingress-appgw` tag.
+> If you don't want the add-on to delete your Application Gateway deployment when you disable the add-on, but the deployment meets both criteria, remove the `created-by: ingress-appgw` tag.
To disable the AGIC add-on, run the following command:
To disable the AGIC add-on, run the following command:
az aks disable-addons -n <AKS-cluster-name> -g <AKS-resource-group-name> -a ingress-appgw ```
-## Enable the AGIC add-on on an existing Application Gateway instance and AKS cluster
+## Enable the AGIC add-on on an existing Application Gateway deployment and AKS cluster
-If you ever disable the AGIC add-on and need to re-enable it, or you want to enable the add-on by using an existing Application Gateway instance and AKS cluster, run the following command:
+If you ever disable the AGIC add-on and need to re-enable it, or you want to enable the add-on by using an existing Application Gateway deployment and AKS cluster, run the following command:
```azurecli-interactive appgwId=$(az network application-gateway show -n <application-gateway-name> -g <resource-group-name> -o tsv --query "id")
az aks enable-addons -n <AKS-cluster-name> -g <AKS-cluster-resource-group> -a in
## Related content -- For more information on how to enable the AGIC add-on by using an existing Application Gateway instance and AKS cluster, see [this tutorial](tutorial-ingress-controller-add-on-existing.md).-- For information about Application Gateway for Containers, see [What is Application Gateway for Containers?](for-containers/overview.md).
+- For more information on how to enable the AGIC add-on by using an existing Application Gateway deployment and AKS cluster, see [this tutorial](tutorial-ingress-controller-add-on-existing.md).
+- For information about Application Gateway for Containers, see [this overview article](for-containers/overview.md).
application-gateway Ingress Controller Expose Service Over Http Https https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-expose-service-over-http-https.md
This article illustrates the usage of [Kubernetes ingress resources](https://kubernetes.io/docs/concepts/services-networking/ingress/) to expose an example Azure Kubernetes Service (AKS) service through [Azure Application Gateway](https://azure.microsoft.com/services/application-gateway/) over HTTP or HTTPS.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution.
+ ## Prerequisites - An installed `ingress-azure` Helm chart: - [Greenfield deployment](ingress-controller-install-new.md): If you're starting from scratch, refer to these installation instructions, which outline steps to deploy an AKS cluster with Application Gateway and install the Application Gateway Ingress Controller (AGIC) on the AKS cluster.
- - [Brownfield deployment](ingress-controller-install-existing.md): If you have an existing AKS cluster and Application Gateway instance, refer to these instructions to install AGIC on the AKS cluster.
+ - [Brownfield deployment](ingress-controller-install-existing.md): If you have an existing AKS cluster and Application Gateway deployment, refer to these instructions to install AGIC on the AKS cluster.
- An x509 certificate and its private key, if you want to use HTTPS on this application. ## Deploy the guestbook application
-The `guestbook` application is a canonical Kubernetes application that consists of a web UI front end, a back end, and a Redis database.
+The `guestbook` application is a canonical Kubernetes application that consists of a web UI frontend, a backend, and a Redis database.
By default, `guestbook` exposes its application through a service with the name `frontend` on port `80`. Without a Kubernetes ingress resource, the service isn't accessible from outside the AKS cluster. You use the application, and set up ingress resources to access the application, through HTTP and HTTPS.
spec:
servicePort: 80 ```
-This ingress exposes the `frontend` service of the `guestbook-all-in-one` deployment as a default back end of the Application Gateway instance.
+This ingress exposes the `frontend` service of the `guestbook-all-in-one` deployment as a default backend of the Application Gateway deployment.
Save the preceding ingress resource as `ing-guestbook.yaml`:
Save the preceding ingress resource as `ing-guestbook.yaml`:
1. Check the log of the ingress controller for the deployment status.
-Now the `guestbook` application should be available. You can check the availability by visiting the public address of the Application Gateway instance.
+Now the `guestbook` application should be available. You can check the availability by visiting the public address of the Application Gateway deployment.
## Expose services over HTTPS ### Without a specified host name
-If you don't specify a host name, the `guestbook` service is available on all the host names that point to the Application Gateway instance.
+If you don't specify a host name, the `guestbook` service is available on all the host names that point to the Application Gateway deployment.
1. Before you deploy the ingress resource, create a Kubernetes secret to host the certificate and private key:
spec:
## Related content -- [What is Application Gateway for Containers?](for-containers/overview.md)
+- [Application Gateway for Containers](for-containers/overview.md)
application-gateway Ingress Controller Expose Websocket Server https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-expose-websocket-server.md
Azure Application Gateway v2 [provides native support for the WebSocket and HTTP/2 protocols](features.md#websocket-and-http2-traffic). Both Application Gateway and the Kubernetes ingress don't have a user-configurable setting to selectively enable or disable WebSocket support.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution.
+ ## YAML for WebSocket server deployment The following Kubernetes deployment YAML shows the minimum configuration for deploying a WebSocket server, which is the same as deploying a regular web server:
spec:
servicePort: 80 ```
-Assuming that all the prerequisites are fulfilled, and you have an Application Gateway instance controlled by a Kubernetes ingress in Azure Kubernetes Service (AKS), the preceding deployment would result in a WebSocket server exposed on port 80 of your Application Gateway instance's public IP address and the `ws.contoso.com` domain.
+Assuming that all the prerequisites are fulfilled, and you have an Application Gateway deployment controlled by a Kubernetes ingress in Azure Kubernetes Service (AKS), the preceding deployment would result in a WebSocket server exposed on port 80 of your Application Gateway deployment's public IP address and the `ws.contoso.com` domain.
The following cURL command would test the WebSocket server deployment:
To avoid the `502 Bad Gateway` error, you might need to add an HTTP `GET` handle
## Related content -- [What is Application Gateway for Containers?](for-containers/overview.md)
+- [Application Gateway for Containers](for-containers/overview.md)
application-gateway Ingress Controller Install Existing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-install-existing.md
Title: Create an ingress controller by using an existing Application Gateway instance
-description: This article provides information on how to deploy the Application Gateway Ingress Controller by using an existing Application Gateway instance.
+ Title: Create an ingress controller by using an existing Application Gateway deployment
+description: This article provides information on how to deploy the Application Gateway Ingress Controller by using an existing Application Gateway deployment.
Last updated 9/17/2024
-# Install AGIC by using an existing Application Gateway instance
+# Install AGIC by using an existing Application Gateway deployment
The Application Gateway Ingress Controller (AGIC) is a pod within your Azure Kubernetes Service (AKS) cluster. AGIC monitors the Kubernetes [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resources. It creates and applies an Azure Application Gateway configuration based on the status of the Kubernetes cluster.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution. For more information, see [Quickstart: Deploy Application Gateway for Containers ALB Controller](for-containers/quickstart-deploy-application-gateway-for-containers-alb-controller.md).
+ ## Prerequisites This article assumes that you already installed the following tools and infrastructure:
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admi
helm init --tiller-namespace kube-system --service-account tiller-sa ```
-## Back up the Application Gateway instance
+## Back up the Application Gateway deployment
-Before you install AGIC, back up your Application Gateway instance's configuration:
+Before you install AGIC, back up your Application Gateway deployment's configuration:
-1. In the [Azure portal](https://portal.azure.com/), go to your Application Gateway instance.
+1. In the [Azure portal](https://portal.azure.com/), go to your Application Gateway deployment.
2. In the **Automation** section, select **Export template** and then select **Download**. The downloaded .zip file contains JSON templates, Bash scripts, and PowerShell scripts that you can use to restore Application Gateway, if a restoration becomes necessary.
For this configuration, you need authorization for the AGIC pod to make HTTP req
az identity list -g $resourceGroup --query "[?name == '$identityName'].principalId | [0]" -o tsv ```
-1. Grant the identity **Contributor** access to your Application Gateway instance. You need the ID of the Application Gateway instance, which looks like `/subscriptions/A/resourceGroups/B/providers/Microsoft.Network/applicationGateways/C`.
+1. Grant the identity **Contributor** access to your Application Gateway deployment. You need the ID of the Application Gateway deployment, which looks like `/subscriptions/A/resourceGroups/B/providers/Microsoft.Network/applicationGateways/C`.
First, get the list of Application Gateway IDs in your subscription by running the following command:
Use [Cloud Shell](https://shell.azure.com/) to install the AGIC Helm package:
1. Check the log of the newly created pod to verify that it started properly.
-To understand how you can expose an AKS service to the internet over HTTP or HTTPS by using an Azure Application Gateway instance, see [this how-to guide](ingress-controller-expose-service-over-http-https.md).
+To understand how you can expose an AKS service to the internet over HTTP or HTTPS by using an Azure Application Gateway deployment, see [this how-to guide](ingress-controller-expose-service-over-http-https.md).
-## Set up a shared Application Gateway instance
+## Set up a shared Application Gateway deployment
-By default, AGIC assumes full ownership of the Application Gateway instance that it's linked to. AGIC version 0.8.0 and later can share a single Application Gateway instance with other Azure components. For example, you could use the same Application Gateway instance for an app
+By default, AGIC assumes full ownership of the Application Gateway deployment that it's linked to. AGIC version 0.8.0 and later can share a single Application Gateway deployment with other Azure components. For example, you could use the same Application Gateway deployment for an app
that's hosted on an [Azure virtual machine scale set](https://azure.microsoft.com/services/virtual-machine-scale-sets/) and an AKS cluster. ### Example scenario
-Let's look at an imaginary Application Gateway instance that manages traffic for two websites:
+Let's look at an imaginary Application Gateway deployment that manages traffic for two websites:
- `dev.contoso.com`: Hosted on a new AKS cluster by using Application Gateway and AGIC. - `prod.contoso.com`: Hosted on a virtual machine scale set.
-With default settings, AGIC assumes 100% ownership of the Application Gateway instance that it's pointed to. AGIC overwrites all of the App Gateway configuration. If you manually create a listener for `prod.contoso.com` on Application Gateway without defining it in the Kubernetes ingress, AGIC deletes the `prod.contoso.com` configuration within seconds.
+With default settings, AGIC assumes 100% ownership of the Application Gateway deployment that it's pointed to. AGIC overwrites all of the App Gateway configuration. If you manually create a listener for `prod.contoso.com` on Application Gateway without defining it in the Kubernetes ingress, AGIC deletes the `prod.contoso.com` configuration within seconds.
To install AGIC and also serve `prod.contoso.com` from the machines that use the virtual machine scale set, you must constrain AGIC to configuring `dev.contoso.com` only. You facilitate this constraint by instantiating the following [custom resource definition (CRD)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/):
The preceding command creates an `AzureIngressProhibitedTarget` object. This obj
the Application Gateway configuration for `prod.contoso.com`. This object also explicitly instructs AGIC to avoid changing any configuration related to that host name.
-### Enable a shared Application Gateway instance by using a new AGIC installation
+### Enable a shared Application Gateway deployment by using a new AGIC installation
To limit AGIC (version 0.8.0 and later) to a subset of the Application Gateway configuration, modify the `helm-config.yaml` template. In the `appgw:` section, add a `shared` key and set it to `true`:
Because Helm with `appgw.shared=true` and the default `prohibit-all-targets` blo
kubectl delete AzureIngressProhibitedTarget prohibit-all-targets ```
-### Enable a shared Application Gateway instance for an existing AGIC installation
+### Enable a shared Application Gateway deployment for an existing AGIC installation
-Assume that you already have a working AKS cluster and an Application Gateway instance, and you configured AGIC in your cluster. You have an Ingress for `prod.contoso.com` and are successfully serving traffic for it from the cluster.
+Assume that you already have a working AKS cluster and an Application Gateway deployment, and you configured AGIC in your cluster. You have an Ingress for `prod.contoso.com` and are successfully serving traffic for it from the cluster.
-You want to add `staging.contoso.com` to your existing Application Gateway instance, but you need to host it on a [virtual machine](https://azure.microsoft.com/services/virtual-machines/). You're going to reuse the existing Application Gateway instance and manually configure a listener and back-end pools for `staging.contoso.com`. But manually tweaking the Application Gateway configuration (by using the [Azure portal](https://portal.azure.com), [Resource Manager APIs](/rest/api/resources/), or [Terraform](https://www.terraform.io/)) would conflict with AGIC's assumptions of full ownership. Shortly after you apply changes, AGIC overwrites or deletes them.
+You want to add `staging.contoso.com` to your existing Application Gateway deployment, but you need to host it on a [virtual machine](https://azure.microsoft.com/services/virtual-machines/). You're going to reuse the existing Application Gateway deployment and manually configure a listener and backend pools for `staging.contoso.com`. But manually tweaking the Application Gateway configuration (by using the [Azure portal](https://portal.azure.com), [Resource Manager APIs](/rest/api/resources/), or [Terraform](https://www.terraform.io/)) would conflict with AGIC's assumptions of full ownership. Shortly after you apply changes, AGIC overwrites or deletes them.
You can prohibit AGIC from making changes to a subset of the configuration:
You can prohibit AGIC from making changes to a subset of the configuration:
kubectl get AzureIngressProhibitedTargets ```
-3. Modify the Application Gateway configuration from the Azure portal. For example, add listeners, routing rules, and back ends. The new object that you created (`manually-configured-staging-environment`) prohibits AGIC from overwriting the Application Gateway configuration related to
+3. Modify the Application Gateway configuration from the Azure portal. For example, add listeners, routing rules, and backends. The new object that you created (`manually-configured-staging-environment`) prohibits AGIC from overwriting the Application Gateway configuration related to
`staging.contoso.com`. ## Related content -- [What is Application Gateway for Containers?](for-containers/overview.md)
+- [Application Gateway for Containers](for-containers/overview.md)
application-gateway Ingress Controller Install New https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-install-new.md
Title: Create an ingress controller by using a new Application Gateway instance
-description: This article provides information on how to deploy the Application Gateway Ingress Controller by using a new Application Gateway instance.
+ Title: Create an ingress controller by using a new Application Gateway deployment
+description: This article provides information on how to deploy the Application Gateway Ingress Controller by using a new Application Gateway deployment.
Previously updated : 9/17/2024 Last updated : 10/15/2024
-# Install AGIC by using a new Application Gateway instance
+# Install AGIC by using a new Application Gateway deployment
The instructions in this article assume that you want to install the Application Gateway Ingress Controller (AGIC) in an environment that has no preexisting components.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution. For more information, see [Quickstart: Deploy Application Gateway for Containers ALB Controller](for-containers/quickstart-deploy-application-gateway-for-containers-alb-controller.md).
+ ## Install required command-line tools We recommend the use of [Azure Cloud Shell](https://shell.azure.com/) for all the command-line operations in this article. You can open Cloud Shell by selecting the **Launch Cloud Shell** button.
To deploy the components:
## Set up AGIC
-With the instructions in the previous section, you created and configured a new AKS cluster and an Application Gateway instance. You're now ready to deploy a sample app and an ingress controller to your new Kubernetes infrastructure.
+With the instructions in the previous section, you created and configured a new AKS cluster and an Application Gateway deployment. You're now ready to deploy a sample app and an ingress controller to your new Kubernetes infrastructure.
### Set up Kubernetes credentials
If you use [Cloud Shell](https://shell.azure.com/), you don't need to install He
- `verbosityLevel`: Sets the verbosity level of the AGIC logging infrastructure. For possible values, see [Logging levels](https://github.com/Azure/application-gateway-kubernetes-ingress/blob/463a87213bbc3106af6fce0f4023477216d2ad78/docs/troubleshooting.md#logging-levels). - `appgw.environment`: Sets the cloud environment. Possible values: `AZURECHINACLOUD`, `AZUREGERMANCLOUD`, `AZUREPUBLICCLOUD`, `AZUREUSGOVERNMENTCLOUD`.
- - `appgw.subscriptionId`: The Azure subscription ID in which Application Gateway resides. Example: `a123b234-a3b4-557d-b2df-a0bc12de1234`.
- - `appgw.resourceGroup`: Name of the Azure resource group in which you created the Application Gateway instance. Example: `app-gw-resource-group`.
- - `appgw.name`: Name of the Application Gateway instance. Example: `applicationgatewayd0f0`.
- - `appgw.shared`: Boolean flag that defaults to `false`. Set it to `true` if you need a [shared Application Gateway instance](https://github.com/Azure/application-gateway-kubernetes-ingress/blob/072626cb4e37f7b7a1b0c4578c38d1eadc3e8701/docs/setup/install-existing.md#multi-cluster--shared-app-gateway).
+ - `appgw.subscriptionId`: The Azure subscription ID in which Application Gateway resides. Example: `aaaa0000-bb11-2222-33cc-444444dddddd`.
+ - `appgw.resourceGroup`: Name of the Azure resource group in which you created the Application Gateway deployment. Example: `app-gw-resource-group`.
+ - `appgw.name`: Name of the Application Gateway deployment. Example: `applicationgatewayd0f0`.
+ - `appgw.shared`: Boolean flag that defaults to `false`. Set it to `true` if you need a [shared Application Gateway deployment](https://github.com/Azure/application-gateway-kubernetes-ingress/blob/072626cb4e37f7b7a1b0c4578c38d1eadc3e8701/docs/setup/install-existing.md#multi-cluster--shared-app-gateway).
- `kubernetes.watchNamespace`: Specifies the namespace that AGIC should watch. The namespace value can be a single string value or a comma-separated list of namespaces. - `armAuth.type`: Could be `aadPodIdentity` or `servicePrincipal`. - `armAuth.identityResourceID`: Resource ID of the Azure managed identity.
If you use [Cloud Shell](https://shell.azure.com/), you don't need to install He
> az identity show -g <resource-group> -n <identity-name> > ``` >
- > In the command, `<resource-group>` is the resource group of your Application Gateway instance. The `<identity-name>` placeholder is the name of the created identity. You can list all identities for a particular subscription by using `az identity list`.
+ > In the command, `<resource-group>` is the resource group of your Application Gateway deployment. The `<identity-name>` placeholder is the name of the created identity. You can list all identities for a particular subscription by using `az identity list`.
1. Install the AGIC package:
application-gateway Ingress Controller Letsencrypt Certificate Application Gateway https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-letsencrypt-certificate-application-gateway.md
Title: Use Let's Encrypt certificates with Application Gateway
-description: This article provides information on how to obtain a certificate from Let's Encrypt and use it on your Application Gateway instance for AKS clusters.
+description: This article provides information on how to obtain a certificate from Let's Encrypt and use it on your Application Gateway deployment for AKS clusters.
You can configure your Azure Kubernetes Service (AKS) instance to use [Let's Enc
The setup that this article describes uses the [cert-manager](https://github.com/jetstack/cert-manager) Kubernetes add-on, which automates the creation and management of certificates.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution.
+ ## Install the add-on Use the following steps to install [cert-manager](https://docs.cert-manager.io) on your existing AKS cluster:
Use the following steps to install [cert-manager](https://docs.cert-manager.io)
EOF ```
-3. Create an ingress resource to expose the `guestbook` application by using the Application Gateway instance with the Let's Encrypt certificate.
+3. Create an ingress resource to expose the `guestbook` application by using the Application Gateway deployment with the Let's Encrypt certificate.
- Ensure that your Application Gateway instance has a public front-end IP configuration with a DNS name. Use the default `azure.com` domain, or provision an Azure DNS zone and then assign your own custom domain. The annotation `certmanager.k8s.io/cluster-issuer: letsencrypt-staging` tells cert-manager to process the tagged ingress resource.
+ Ensure that your Application Gateway deployment has a public frontend IP configuration with a DNS name. Use the default `azure.com` domain, or provision an Azure DNS zone and then assign your own custom domain. The annotation `certmanager.k8s.io/cluster-issuer: letsencrypt-staging` tells cert-manager to process the tagged ingress resource.
In the following YAML, be sure to replace `<PLACEHOLDERS.COM>` with your own domain or with the Application Gateway domain (for example, `kh-aks-ingress.westeurope.cloudapp.azure.com`).
Before the Let's Encrypt certificate expires, `cert-manager` automatically updat
## Related content -- [What is Application Gateway for Containers?](for-containers/overview.md)
+- [Application Gateway for Containers](for-containers/overview.md)
application-gateway Ingress Controller Multiple Namespace Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-multiple-namespace-support.md
[Kubernetes namespaces](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) make it possible for a Kubernetes cluster to be partitioned and allocated to subgroups of a larger team. These subgroups can then deploy and manage infrastructure with finer controls of resources, security, and configuration. Kubernetes allows for one or more ingress resources to be defined independently within each namespace.
-As of version 0.7, the [Application Gateway Kubernetes Ingress Controller](https://github.com/Azure/application-gateway-kubernetes-ingress/blob/master/README.md) (AGIC) can ingest events from and observe multiple namespaces. If an Azure Kubernetes Service (AKS) administrator decides to use [Azure Application Gateway](https://azure.microsoft.com/services/application-gateway/) as an ingress, all namespaces use the same instance of Application Gateway. A single installation of AGIC monitors accessible namespaces and configures the Application Gateway instance that it's associated with.
+As of version 0.7, the [Application Gateway Kubernetes Ingress Controller](https://github.com/Azure/application-gateway-kubernetes-ingress/blob/master/README.md) (AGIC) can ingest events from and observe multiple namespaces. If an Azure Kubernetes Service (AKS) administrator decides to use [Azure Application Gateway](https://azure.microsoft.com/services/application-gateway/) as an ingress, all namespaces use the same deployment of Application Gateway. A single installation of AGIC monitors accessible namespaces and configures the Application Gateway deployment that it's associated with.
Version 0.7 of AGIC continues to exclusively observe the `default` namespace, unless you explicitly change it to one or more different namespaces in the Helm configuration.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution.
+ ## Enable multiple-namespace support 1. Modify the [helm-config.yaml](#sample-helm-configuration-file) file in one of the following ways:
After you deploy AGIC with the ability to observe multiple namespaces, it perfor
- Lists ingress resources from all accessible namespaces - Filters to ingress resources annotated with `kubernetes.io/ingress.class: azure/application-gateway` - Composes a combined [Application Gateway configuration](https://github.com/Azure/azure-sdk-for-go/blob/37f3f4162dfce955ef5225ead57216cf8c1b2c70/services/network/mgmt/2016-06-01/network/models.go#L1710-L1744)-- Applies the configuration to the associated Application Gateway instance via [Azure Resource Manager](../azure-resource-manager/management/overview.md)
+- Applies the configuration to the associated Application Gateway deployment via [Azure Resource Manager](../azure-resource-manager/management/overview.md)
## Handle conflicting configurations
-Multiple-namespaced [ingress resources](https://kubernetes.io/docs/concepts/services-networking/ingress/#the-ingress-resource) could instruct AGIC to create conflicting configurations for a single Application Gateway instance. That is, two ingresses could claim the same domain for an instance.
+Multiple-namespaced [ingress resources](https://kubernetes.io/docs/concepts/services-networking/ingress/#the-ingress-resource) could instruct AGIC to create conflicting configurations for a single Application Gateway deployment. That is, two ingresses could claim the same domain.
-At the top of the hierarchy, AGIC could create *listeners* (IP address, port, and host) and *routing rules* (binding listener, back-end pool, and HTTP settings). Multiple namespaces and ingresses could share them.
+At the top of the hierarchy, AGIC could create *listeners* (IP address, port, and host) and *routing rules* (binding listener, backend pool, and HTTP settings). Multiple namespaces and ingresses could share them.
-On the other hand, AGIC could create paths, back-end pools, HTTP settings, and TLS certificates for one namespace only and remove duplicates.
+On the other hand, AGIC could create paths, backend pools, HTTP settings, and TLS certificates for one namespace only and remove duplicates.
For example, consider the following duplicate ingress resources defined in the `staging` and `production` namespaces for `www.contoso.com`:
spec:
servicePort: 80 ```
-Despite the two ingress resources demanding traffic for `www.contoso.com` to be routed to the respective Kubernetes namespaces, only one back end can service the traffic. AGIC creates a configuration on a "first in, first out" basis for one of the resources. If two ingress resources are created at the same time, the one earlier in the alphabet takes precedence. Based on this property, AGIC creates settings for the `production` ingress. Application Gateway is configured with the following resources:
+Despite the two ingress resources demanding traffic for `www.contoso.com` to be routed to the respective Kubernetes namespaces, only one backend can service the traffic. AGIC creates a configuration on a "first in, first out" basis for one of the resources. If two ingress resources are created at the same time, the one earlier in the alphabet takes precedence. Based on this property, AGIC creates settings for the `production` ingress. Application Gateway is configured with the following resources:
- Listener: `fl-www.contoso.com-80` - Routing rule: `rr-www.contoso.com-80`-- Back-end pool: `pool-production-contoso-web-service-80-bp-80`
+- Backend pool: `pool-production-contoso-web-service-80-bp-80`
- HTTP settings: `bp-production-contoso-web-service-80-80-websocket-ingress` - Health probe: `pb-production-contoso-web-service-80-websocket-ingress`
Despite the two ingress resources demanding traffic for `www.contoso.com` to be
If the two ingress resources are introduced into the AKS cluster at different points in time, AGIC is likely to end up in a scenario where it reconfigures Application Gateway and reroutes traffic from `namespace-B` to `namespace-A`.
-For example, if you add `staging` first, AGIC configures Application Gateway to route traffic to the staging back-end pool. At a later stage, introducing `production` ingress causes AGIC to reprogram Application Gateway, which starts routing traffic to the `production` back-end pool.
+For example, if you add `staging` first, AGIC configures Application Gateway to route traffic to the staging backend pool. At a later stage, introducing `production` ingress causes AGIC to reprogram Application Gateway, which starts routing traffic to the `production` backend pool.
## Restrict access to namespaces
By default, AGIC configures Application Gateway based on annotated ingress withi
## Related content -- [What is Application Gateway for Containers?](for-containers/overview.md)
+- [Application Gateway for Containers](for-containers/overview.md)
application-gateway Ingress Controller Private Ip https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-private-ip.md
You can use a private IP address for internal routing to expose an ingress endpo
There are two ways to configure a controller to use a private IP for ingress: assigning the private IP to a particular ingress or assigning it globally.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution.
+ ## Prerequisites To complete the tasks in this article, you need Azure Application Gateway with a [private IP configuration](./configure-application-gateway-with-private-frontend-ip.md).
To expose a particular ingress over private IP, use the annotation [`appgw.ingre
appgw.ingress.kubernetes.io/use-private-ip: "true" ```
-For Application Gateway instances without a private IP, ingresses annotated with `appgw.ingress.kubernetes.io/use-private-ip: "true"` are ignored. The ingress event and the Application Gateway Ingress Controller (AGIC) pod log indicate this problem:
+For Application Gateway deployments without a private IP, ingresses annotated with `appgw.ingress.kubernetes.io/use-private-ip: "true"` are ignored. The ingress event and the Application Gateway Ingress Controller (AGIC) pod log indicate this problem:
- Here's the error as indicated in the ingress event:
appgw:
usePrivateIP: true ```
-This code makes the ingress controller filter the IP address configurations for a private IP when it's configuring the front-end listeners on the Application Gateway instance. AGIC can stop working if the value of `usePrivateIP` is `true` and no private IP is assigned.
+This code makes the ingress controller filter the IP address configurations for a private IP when it's configuring the frontend listeners on the Application Gateway deployment. AGIC can stop working if the value of `usePrivateIP` is `true` and no private IP is assigned.
> [!NOTE]
-> Application Gateway v2 requires a public IP. If you require Application Gateway to be private, attach a [network security group](../virtual-network/network-security-groups-overview.md) to the Application Gateway instance's subnet to restrict traffic.
+> Application Gateway v2 requires a public IP. If you require Application Gateway to be private, attach a [network security group](../virtual-network/network-security-groups-overview.md) to the Application Gateway deployment's subnet to restrict traffic.
## Related content -- [What is Application Gateway for Containers?](for-containers/overview.md)
+- [Application Gateway for Containers](for-containers/overview.md)
application-gateway Ingress Controller Update Ingress Controller https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/ingress-controller-update-ingress-controller.md
You can upgrade the Azure Application Gateway Ingress Controller (AGIC) for Kubernetes by using a Helm repository hosted on Azure Storage.
+> [!TIP]
+> Consider [Application Gateway for Containers](for-containers/overview.md) for your Kubernetes ingress solution. For more information, see [Quickstart: Deploy Application Gateway for Containers ALB Controller](for-containers/quickstart-deploy-application-gateway-for-containers-alb-controller.md).
+ ## Add the repository Before you begin the upgrade procedure, ensure that you've added the required repository:
If the Helm deployment fails, you can roll back to a previous release:
## Related content -- [What is Application Gateway for Containers?](for-containers/overview.md)
+- [Application Gateway for Containers](for-containers/overview.md)
application-gateway Migrate V1 V2 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/migrate-v1-v2.md
To run the script:
```azurepowershell AzureAppGWMigration.ps1 `
- -resourceId /subscriptions/8b1d0fea-8d57-4975-adfb-308f1f4d12aa/resourceGroups/MyResourceGroup/providers/Microsoft.Network/applicationGateways/myv1appgateway `
+ -resourceId /subscriptions/aaaa0000-bb11-2222-33cc-444444dddddd/resourceGroups/MyResourceGroup/providers/Microsoft.Network/applicationGateways/myv1appgateway `
-subnetAddressRange 10.0.0.0/24 ` -appgwname "MynewV2gw" ` -AppGWResourceGroupName "MyResourceGroup" ` -sslCertificates $mySslCert1,$mySslCert2 ` -trustedRootCertificates $trustedCert ` -privateIpAddress "10.0.0.1" `
- -publicIpResourceId "/subscriptions/8b1d0fea-8d57-4975-adfb-308f1f4d12aa/resourceGroups/MyResourceGroup/providers/Microsoft.Network/publicIPAddresses/MyPublicIP" `
+ -publicIpResourceId "/subscriptions/aaaa0000-bb11-2222-33cc-444444dddddd/resourceGroups/MyResourceGroup/providers/Microsoft.Network/publicIPAddresses/MyPublicIP" `
-validateMigration -enableAutoScale ```
application-gateway Monitor Application Gateway Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/monitor-application-gateway-reference.md
Title: Monitoring data reference for Azure Application Gateway description: This article contains important reference material you need when you monitor Azure Application Gateway. Previously updated : 06/17/2024 Last updated : 10/15/2024
For Application Gateway Standard and WAF SKU (v1):
"category": "ApplicationGatewayAccessLog", "properties": { "instanceId": "ApplicationGatewayRole_IN_0",
- "clientIP": "191.96.249.97",
+ "clientIP": "203.0.113.97",
"clientPort": 46886, "httpMethod": "GET", "requestUri": "/phpmyadmin/scripts/setup.php",
- "requestQuery": "X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=874f1f0f-6807-41c9-b7bc-f3cfa74aa0b1&SERVER-STATUS=404",
+ "requestQuery": "X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=aaaa0000-bb11-2222-33cc-444444dddddd&SERVER-STATUS=404",
"userAgent": "-", "httpStatus": 404, "httpVersion": "HTTP/1.0",
azure-functions Dotnet Isolated Process Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/dotnet-isolated-process-guide.md
The following packages are required to run your .NET functions in an isolated wo
#### Version 2.x (Preview)
-The 2.x versions of the core packages change the supported framework assets and bring in support for new .NET APIs from these later versions. When using .NET 9 (Preview) or later, your app needs to reference version 2.0.0-preview1 or later of both packages.
+The 2.x versions of the core packages change the supported frameworks and bring in support for new .NET APIs from these later versions. When you target .NET 9 (Preview) or later, your app needs to reference version 2.0.0-preview1 or later of both packages.
The initial preview versions are compatible with code written against version 1.x. However, during the preview period, newer versions may introduce behavior changes that could influence the code you write.
-When updating to the 2.x versions, please note the following changes:
+When updating to the 2.x versions, note the following changes:
- Starting with version 2.0.0-preview2, [Microsoft.Azure.Functions.Worker.Sdk] adds default configurations for [SDK container builds](/dotnet/core/docker/publish-as-container).-
+- Starting with version 2.0.0-preview2 of [Microsoft.Azure.Functions.Worker]:
+ - This version adds support for `IHostApplicationBuilder`. Some examples in this guide include tabs to show alternatives using `IHostApplicationBuilder`. These examples require the 2.x versions.
+ - Service provider scope validation is included by default if run in a development environment. This behavior matches ASP.NET Core.
+ - The `EnableUserCodeException` option is enabled by default. The property is now marked as obsolete.
+ - The `IncludeEmptyEntriesInMessagePayload` option is enabled by default. With this option enabled, trigger payloads that represent collections always include empty entries. For example, if a message is sent without a body, an empty entry would still be present in `string[]` for the trigger data. The inclusion of empty entries facilitates cross-referencing with metadata arrays which the function may also reference. You can disable this behavior by setting `IncludeEmptyEntriesInMessagePayload` to `false` in the `WorkerOptions` service configuration.
+ - The `ILoggerExtensions` class is renamed to `FunctionsLoggerExtensions`. The rename prevents an ambiguous call error when using `LogMetric()` on an `ILogger` instance.
### Extension packages
You find these extension packages under [Microsoft.Azure.Functions.Worker.Extens
## Start-up and configuration
-When using .NET isolated functions, you have access to the start-up of your function app, which is usually in `Program.cs`. You're responsible for creating and starting your own host instance. As such, you also have direct access to the configuration pipeline for your app. With .NET Functions isolated worker process, you can much more easily add configurations, inject dependencies, and run your own middleware.
+When you use the isolated worker model, you have access to the start-up of your function app, which is usually in `Program.cs`. You're responsible for creating and starting your own host instance. As such, you also have direct access to the configuration pipeline for your app. With .NET Functions isolated worker process, you can much more easily add configurations, inject dependencies, and run your own middleware.
+
+# [IHostBuilder](#tab/hostbuilder)
The following code shows an example of a [HostBuilder] pipeline:
The following code shows an example of a [HostBuilder] pipeline:
This code requires `using Microsoft.Extensions.DependencyInjection;`.
-Before calling `Build()` on the `HostBuilder`, you should:
+Before calling `Build()` on the `IHostBuilder`, you should:
- Call either `ConfigureFunctionsWebApplication()` if using [ASP.NET Core integration](#aspnet-core-integration) or `ConfigureFunctionsWorkerDefaults()` otherwise. See [HTTP trigger](#http-trigger) for details on these options. If you're writing your application using F#, some trigger and binding extensions require extra configuration. See the setup documentation for the [Blobs extension][fsharp-blobs], the [Tables extension][fsharp-tables], and the [Cosmos DB extension][fsharp-cosmos] when you plan to use these extensions in an F# app.
The [HostBuilder] is used to build and return a fully initialized [`IHost`][IHos
:::code language="csharp" source="~/azure-functions-dotnet-worker/samples/FunctionApp/Program.cs" id="docsnippet_host_run":::
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+_To use `IHostApplicationBuilder`, your app must use version 2.x or later of the [core packages](#core-packages)._
+
+The following code shows an example of an [IHostApplicationBuilder] pipeline:
+
+```csharp
+using Microsoft.Azure.Functions.Worker;
+using Microsoft.Azure.Functions.Worker.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+
+var builder = FunctionsApplication.CreateBuilder(args);
+
+builder.Services
+ .AddApplicationInsightsTelemetryWorkerService()
+ .ConfigureFunctionsApplicationInsights()
+ .AddSingleton<IHttpResponderService, DefaultHttpResponderService>()
+ .Configure<LoggerFilterOptions>(options =>
+ {
+ // The Application Insights SDK adds a default logging filter that instructs ILogger to capture only Warning and more severe logs. Application Insights requires an explicit override.
+ // Log levels can also be configured using appsettings.json. For more information, see https://learn.microsoft.com/azure/azure-monitor/app/worker-service#ilogger-logs
+ LoggerFilterRule toRemove = options.Rules.FirstOrDefault(rule => rule.ProviderName
+ == "Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider");
+
+ if (toRemove is not null)
+ {
+ options.Rules.Remove(toRemove);
+ }
+ });
+
+var host = builder.Build();
+```
+
+Before calling `Build()` on the `IHostApplicationBuilder`, you should:
+
+- If you want to use [ASP.NET Core integration](#aspnet-core-integration), call `builder.ConfigureFunctionsWebApplication()`.
+- If you're writing your application using F#, you might need to register some binding extensions. See the setup documentation for the [Blobs extension][fsharp-blobs], the [Tables extension][fsharp-tables], and the [Cosmos DB extension][fsharp-cosmos] when you plan to use these extensions in an F# app.
+- Configure any services or app configuration your project requires. See [Configuration](#configuration) for details.
+- If you're planning to use Application Insights, you need to call `AddApplicationInsightsTelemetryWorkerService()` and `ConfigureFunctionsApplicationInsights()` against the builder's `Services` property. See [Application Insights](#application-insights) for details.
+
+If your project targets .NET Framework 4.8, you also need to add `FunctionsDebugger.Enable();` before creating the HostBuilder. It should be the first line of your `Main()` method. For more information, see [Debugging when targeting .NET Framework](#debugging-when-targeting-net-framework).
+
+The [IHostApplicationBuilder] is used to build and return a fully initialized [`IHost`][IHost] instance, which you run asynchronously to start your function app.
+
+```csharp
+await host.RunAsync();
+```
+++ [fsharp-blobs]: ./functions-bindings-storage-blob.md#install-extension [fsharp-tables]: ./functions-bindings-storage-table.md#install-extension [fsharp-cosmos]: ./functions-bindings-cosmosdb-v2.md#install-extension ### Configuration
-The [ConfigureFunctionsWorkerDefaults] method is used to add the settings required for the function app to run in an isolated worker process, which includes the following functionality:
+The type of builder you use determines how you can configure the application.
+
+# [IHostBuilder](#tab/hostbuilder)
+
+The [ConfigureFunctionsWorkerDefaults] method is used to add the settings required for the function app to run. The method includes the following functionality:
+ Default set of converters. + Set the default [JsonSerializerOptions] to ignore casing on property names. + Integrate with Azure Functions logging. + Output binding middleware and features. + Function execution middleware.
-+ Default gRPC support.
++ Default gRPC support. :::code language="csharp" source="~/azure-functions-dotnet-worker/samples/FunctionApp/Program.cs" id="docsnippet_configure_defaults" :::
-Having access to the host builder pipeline means that you can also set any app-specific configurations during initialization. You can call the [ConfigureAppConfiguration] method on [HostBuilder] one or more times to add the configurations required by your function app. To learn more about app configuration, see [Configuration in ASP.NET Core](/aspnet/core/fundamentals/configuration/?view=aspnetcore-5.0&preserve-view=true).
+Having access to the host builder pipeline means that you can also set any app-specific configurations during initialization. You can call the [ConfigureAppConfiguration] method on [HostBuilder] one or more times to add any configuration sources required by your code. To learn more about app configuration, see [Configuration in ASP.NET Core](/aspnet/core/fundamentals/configuration).
+
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+The `FunctionsApplication.CreateBuilder()` method is used to add the settings required for the function app to run. The method includes the following functionality:
+++ Default set of converters.++ Set the default [JsonSerializerOptions] to ignore casing on property names.++ Integrate with Azure Functions logging.++ Output binding middleware and features.++ Function execution middleware.++ Default gRPC support.++ Apply other defaults from [Host.CreateDefaultBuilder()](/dotnet/api/microsoft.extensions.hosting.host.createdefaultbuilder).+
+Having access to the builder pipeline means that you can also set any app-specific configurations during initialization. You can call extension methods on the builder's `Configuration` property to add any configuration sources required by your code. To learn more about app configuration, see [Configuration in ASP.NET Core](/aspnet/core/fundamentals/configuration).
++
-These configurations apply to your function app running in a separate process. To make changes to the functions host or trigger and binding configuration, you still need to use the [host.json file](functions-host-json.md).
+These configurations only apply to the worker code you author, and they don't directly influence the configuration of the Functions host or triggers and bindings. To make changes to the functions host or trigger and binding configuration, you still need to use the [host.json file](functions-host-json.md).
> [!NOTE] > Custom configuration sources cannot be used for configuration of triggers and bindings. Trigger and binding configuration must be available to the Functions platform, and not just your application code. You can provide this configuration through the [application settings](../app-service/configure-common.md#configure-app-settings), [Key Vault references](../app-service/app-service-key-vault-references.md?toc=%2Fazure%2Fazure-functions%2Ftoc.json), or [App Configuration references](../app-service/app-service-configuration-references.md?toc=%2Fazure%2Fazure-functions%2Ftoc.json) features. ### Dependency injection
-Dependency injection is simplified when compared to .NET in-process functions, which requires you to create a startup class to register services.
-
-For a .NET isolated process app, you use the .NET standard way of call [ConfigureServices] on the host builder and use the extension methods on [IServiceCollection] to inject specific services.
+The isolated worker model uses standard .NET mechanisms for injecting services.
+
+# [IHostBuilder](#tab/hostbuilder)
-The following example injects a singleton service dependency:
+When you use a `HostBuilder`, call [ConfigureServices] on the host builder and use the extension methods on [IServiceCollection] to inject specific services. The following example injects a singleton service dependency:
```csharp .ConfigureServices(services =>
The following example injects a singleton service dependency:
}) ```
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+When you use an `IHostApplicationBuilder`, you can use its `Services` property to access the [IServiceCollection]. The following example injects a singleton service dependency:
+
+```csharp
+builder.Services.AddSingleton<IHttpResponderService, DefaultHttpResponderService>();
+```
+++ This code requires `using Microsoft.Extensions.DependencyInjection;`. To learn more, see [Dependency injection in ASP.NET Core](/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-5.0&preserve-view=true). #### Register Azure clients Dependency injection can be used to interact with other Azure services. You can inject clients from the [Azure SDK for .NET](/dotnet/azure/sdk/azure-sdk-for-dotnet) using the [Microsoft.Extensions.Azure](https://www.nuget.org/packages/Microsoft.Extensions.Azure) package. After installing the package, [register the clients](/dotnet/azure/sdk/dependency-injection#register-clients) by calling `AddAzureClients()` on the service collection in `Program.cs`. The following example configures a [named client](/dotnet/azure/sdk/dependency-injection#configure-multiple-service-clients-with-different-names) for Azure Blobs:
+# [IHostBuilder](#tab/hostbuilder)
+ ```csharp using Microsoft.Azure.Functions.Worker; using Microsoft.Extensions.Azure;
var host = new HostBuilder()
host.Run(); ```
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+```csharp
+using Microsoft.Azure.Functions.Worker;
+using Microsoft.Azure.Functions.Worker.Builder;
+using Microsoft.Extensions.Azure;
+using Microsoft.Extensions.Hosting;
+
+var builder = FunctionsApplication.CreateBuilder(args);
+
+builder.Services
+ .AddAzureClients(clientBuilder =>
+ {
+ clientBuilder.AddBlobServiceClient(builder.Configuration.GetSection("MyStorageConnection"))
+ .WithName("copierOutputBlob");
+ });
+
+builder.Build().Run();
+```
+++ The following example shows how we can use this registration and [SDK types](#sdk-types) to copy blob contents as a stream from one container to another using an injected client: ```csharp
The isolated worker model also supports middleware registration, again by using
The [ConfigureFunctionsWorkerDefaults] extension method has an overload that lets you register your own middleware, as you can see in the following example.
+# [IHostBuilder](#tab/hostbuilder)
+ :::code language="csharp" source="~/azure-functions-dotnet-worker/samples/CustomMiddleware/Program.cs" id="docsnippet_middleware_register" :::
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+```csharp
+using Microsoft.Azure.Functions.Worker;
+using Microsoft.Azure.Functions.Worker.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+
+var builder = FunctionsApplication.CreateBuilder(args);
+
+// Register our custom middlewares with the worker
+builder
+ .UseMiddleware<ExceptionHandlingMiddleware>()
+ .UseMiddleware<MyCustomMiddleware>()
+ .UseWhen<StampHttpHeaderMiddleware>((context) =>
+ {
+ // We want to use this middleware only for http trigger invocations.
+ return context.FunctionDefinition.InputBindings.Values
+ .First(a => a.Type.EndsWith("Trigger")).Type == "httpTrigger";
+ });
+
+builder.Build().Run();
+```
+++ The `UseWhen` extension method can be used to register a middleware that gets executed conditionally. You must pass to this method a predicate that returns a boolean value, and the middleware participates in the invocation processing pipeline when the return value of the predicate is `true`. The following extension methods on [FunctionContext] make it easier to work with middleware in the isolated model.
This middleware checks for the presence of a specific request header(x-correlati
### Customizing JSON serialization
-The isolated worker model uses `System.Text.Json` by default. You can customize the behavior of the serializer by configuring services as part of your `Program.cs` file. This section covers general-purpose serialization and will not influence [HTTP trigger JSON serialization with ASP.NET Core integration](#json-serialization-with-aspnet-core-integration), which must be configured separately.
+The isolated worker model uses `System.Text.Json` by default. You can customize the behavior of the serializer by configuring services as part of your `Program.cs` file. This section covers general-purpose serialization and won't influence [HTTP trigger JSON serialization with ASP.NET Core integration](#json-serialization-with-aspnet-core-integration), which must be configured separately.
+
+# [IHostBuilder](#tab/hostbuilder)
The following example shows this using `ConfigureFunctionsWebApplication`, but it will also work for `ConfigureFunctionsWorkerDefaults`:
var host = new HostBuilder()
host.Run(); ```
-You might wish to instead use JSON.NET (`Newtonsoft.Json`) for serialization. To do this, you would install the [`Microsoft.Azure.Core.NewtonsoftJson`](https://www.nuget.org/packages/Microsoft.Azure.Core.NewtonsoftJson) package. Then, in your service registration, you would reassign the `Serializer` property on the `WorkerOptions` configuration. The following example shows this using `ConfigureFunctionsWebApplication`, but it will also work for `ConfigureFunctionsWorkerDefaults`:
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+```csharp
+using Microsoft.Azure.Functions.Worker.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+
+var builder = FunctionsApplication.CreateBuilder(args);
+
+builder.ConfigureFunctionsWebApplication();
+
+builder.Services.Configure<JsonSerializerOptions>(jsonSerializerOptions =>
+ {
+ jsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
+ jsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
+ jsonSerializerOptions.ReferenceHandler = ReferenceHandler.Preserve;
+
+ // override the default value
+ jsonSerializerOptions.PropertyNameCaseInsensitive = false;
+ });
+
+builder.Build().Run();
+```
+++
+You might want to instead use JSON.NET (`Newtonsoft.Json`) for serialization. To do this, you would install the [`Microsoft.Azure.Core.NewtonsoftJson`](https://www.nuget.org/packages/Microsoft.Azure.Core.NewtonsoftJson) package. Then, in your service registration, you would reassign the `Serializer` property on the `WorkerOptions` configuration. The following example shows this using `ConfigureFunctionsWebApplication`, but it will also work for `ConfigureFunctionsWorkerDefaults`:
+
+# [IHostBuilder](#tab/hostbuilder)
```csharp using Microsoft.Azure.Functions.Worker;
var host = new HostBuilder()
host.Run(); ```
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+```csharp
+using Microsoft.Azure.Functions.Worker;
+using Microsoft.Azure.Functions.Worker.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+
+var builder = FunctionsApplication.CreateBuilder(args);
+
+builder.ConfigureFunctionsWebApplication();
+
+builder.Services.Configure<WorkerOptions>(workerOptions =>
+ {
+ var settings = NewtonsoftJsonObjectSerializer.CreateJsonSerializerSettings();
+ settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
+ settings.NullValueHandling = NullValueHandling.Ignore;
+
+ workerOptions.Serializer = new NewtonsoftJsonObjectSerializer(settings);
+ });
+
+builder.Build().Run();
+```
+++ ## Methods recognized as functions A function method is a public method of a public class with a `Function` attribute applied to the method and a trigger attribute applied to an input parameter, as shown in the following example:
To enable ASP.NET Core integration for HTTP:
+ [Microsoft.Azure.Functions.Worker.Sdk](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk/), version 1.11.0. or later + [Microsoft.Azure.Functions.Worker](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker/), version 1.16.0 or later.
-1. In your `Program.cs` file, update the host builder configuration to use `ConfigureFunctionsWebApplication()` instead of `ConfigureFunctionsWorkerDefaults()`. The following example shows a minimal setup without other customizations:
+1. In your `Program.cs` file, update the host builder configuration to call `ConfigureFunctionsWebApplication()`. This replaces `ConfigureFunctionsWorkerDefaults()` if you would use that method otherwise. The following example shows a minimal setup without other customizations:
+ # [IHostBuilder](#tab/hostbuilder)
+
```csharp
- using Microsoft.Extensions.Hosting;
using Microsoft.Azure.Functions.Worker;
+ using Microsoft.Extensions.Hosting;
var host = new HostBuilder() .ConfigureFunctionsWebApplication()
To enable ASP.NET Core integration for HTTP:
host.Run(); ```
+
+ # [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+ > [!NOTE]
+ > Your application must reference version 2.0.0-preview2 or later of [Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore/) to use ASP.NET Core integration with `IHostApplicationBuilder`.
+
+ ```csharp
+ using Microsoft.Azure.Functions.Worker.Builder;
+ using Microsoft.Extensions.Hosting;
+
+ var builder = FunctionsApplication.CreateBuilder(args);
+
+ builder.ConfigureFunctionsWebApplication();
+
+ builder.Build().Run();
+ ```
+
+
1. Update any existing HTTP-triggered functions to use the ASP.NET Core types. This example shows the standard `HttpRequest` and an `IActionResult` used for a simple "hello, world" function:
To enable ASP.NET Core integration for HTTP:
ASP.NET Core has its own serialization layer, and it is not affected by [customizing general serialization configuration](#customizing-json-serialization). To customize the serialization behavior used for your HTTP triggers, you need to include an `.AddMvc()` call as part of service registration. The returned `IMvcBuilder` can be used to modify ASP.NET Core's JSON serialization settings. The following example shows how to configure JSON.NET (`Newtonsoft.Json`) for serialization using this approach:
+# [IHostBuilder](#tab/hostbuilder)
+ ```csharp using Microsoft.Azure.Functions.Worker; using Microsoft.Extensions.DependencyInjection;
var host = new HostBuilder()
host.Run(); ```
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+```csharp
+using Microsoft.Azure.Functions.Worker;
+using Microsoft.Azure.Functions.Worker.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+
+var builder = FunctionsApplication.CreateBuilder(args);
+
+builder.ConfigureFunctionsWebApplication();
+
+builder.Services
+ .AddApplicationInsightsTelemetryWorkerService()
+ .ConfigureFunctionsApplicationInsights();
+
+builder.Services.AddMvc().AddNewtonsoftJson();
+
+builder.Build().Run();
+```
+++ ### Built-in HTTP model In the built-in model, the system translates the incoming HTTP request message into an [HttpRequestData] object that is passed to the function. This object provides data from the request, including `Headers`, `Cookies`, `Identities`, `URL`, and optionally a message `Body`. This object is a representation of the HTTP request but isn't directly connected to the underlying HTTP listener or the received message.
The following example demonstrates the use of `HttpRequestData` and `HttpRespons
## Logging
-In .NET isolated, you can write to logs by using an [`ILogger<T>`][ILogger&lt;T&gt;] or [`ILogger`][ILogger] instance. The logger can be obtained through [dependency injection](#dependency-injection) of an [`ILogger<T>`][ILogger&lt;T&gt;] or of an [ILoggerFactory]:
+You can write to logs by using an [`ILogger<T>`][ILogger&lt;T&gt;] or [`ILogger`][ILogger] instance. The logger can be obtained through [dependency injection](#dependency-injection) of an [`ILogger<T>`][ILogger&lt;T&gt;] or of an [ILoggerFactory]:
```csharp public class MyFunction {
The logger can also be obtained from a [FunctionContext] object passed to your f
Use the methods of [`ILogger<T>`][ILogger&lt;T&gt;] and [`ILogger`][ILogger] to write various log levels, such as `LogWarning` or `LogError`. To learn more about log levels, see the [monitoring article](functions-monitoring.md#log-levels-and-categories). You can customize the log levels for components added to your code by registering filters:
+# [IHostBuilder](#tab/hostbuilder)
+ ```csharp using Microsoft.Azure.Functions.Worker; using Microsoft.Extensions.DependencyInjection;
var host = new HostBuilder()
.Build(); ```
-As part of configuring your app in `Program.cs`, you can also define the behavior for how errors are surfaced to your logs. By default, exceptions thrown by your code can end up wrapped in an `RpcException`. To remove this extra layer, set the `EnableUserCodeException` property to "true" as part of configuring the builder:
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+```csharp
+using Microsoft.Azure.Functions.Worker;
+using Microsoft.Azure.Functions.Worker.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+
+var builder = FunctionsApplication.CreateBuilder(args);
+
+builder.ConfigureFunctionsWebApplication();
+
+// Registers IHttpClientFactory.
+// By default this sends a lot of Information-level logs.
+builder.Services.AddHttpClient();
+
+// Disable IHttpClientFactory Informational logs.
+// Note -- you can also remove the handler that does the logging: https://github.com/aspnet/HttpClientFactory/issues/196#issuecomment-432755765
+builder.Logging.AddFilter("System.Net.Http.HttpClient", LogLevel.Warning);
+
+builder.Build().Run();
+```
+++
+As part of configuring your app in `Program.cs`, you can also define the behavior for how errors are surfaced to your logs. The default behavior depends on the type of builder you're using.
+
+# [IHostBuilder](#tab/hostbuilder)
+
+When you use a `HostBuilder`, by default, exceptions thrown by your code can end up wrapped in an `RpcException`. To remove this extra layer, set the `EnableUserCodeException` property to "true" as part of configuring the builder:
```csharp using Microsoft.Azure.Functions.Worker;
var host = new HostBuilder()
host.Run(); ```
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+When you use an `IHostApplicationBuilder`, by default, exceptions thrown by your code flow through the system without changes. No other configuration is required.
+++ ### Application Insights You can configure your isolated process application to emit logs directly to [Application Insights](/azure/azure-monitor/app/app-insights-overview?tabs=net). This behavior replaces the default behavior of [relaying logs through the host](./configure-monitoring.md#custom-application-logs), and is recommended because it gives you control over how those logs are emitted.
dotnet add package Microsoft.Azure.Functions.Worker.ApplicationInsights
With the packages installed, you must call `AddApplicationInsightsTelemetryWorkerService()` and `ConfigureFunctionsApplicationInsights()` during service configuration in your `Program.cs` file, as in this example:
+# [IHostBuilder](#tab/hostbuilder)
+ ```csharp using Microsoft.Azure.Functions.Worker; using Microsoft.Extensions.DependencyInjection;
var host = new HostBuilder()
host.Run(); ```
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+```csharp
+using Microsoft.Azure.Functions.Worker;
+using Microsoft.Azure.Functions.Worker.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+
+var builder = FunctionsApplication.CreateBuilder(args);
+
+builder.Services
+ .AddApplicationInsightsTelemetryWorkerService()
+ .ConfigureFunctionsApplicationInsights();
+
+builder.Build().Run();
+```
+++ The call to `ConfigureFunctionsApplicationInsights()` adds an `ITelemetryModule`, which listens to a Functions-defined `ActivitySource`. This creates the dependency telemetry required to support distributed tracing. To learn more about `AddApplicationInsightsTelemetryWorkerService()` and how to use it, see [Application Insights for Worker Service applications](/azure/azure-monitor/app/worker-service). #### Managing log levels
The call to `ConfigureFunctionsApplicationInsights()` adds an `ITelemetryModule`
The rest of your application continues to work with `ILogger` and `ILogger<T>`. However, by default, the Application Insights SDK adds a logging filter that instructs the logger to capture only warnings and more severe logs. If you want to disable this behavior, remove the filter rule as part of service configuration:
+# [IHostBuilder](#tab/hostbuilder)
+ ```csharp using Microsoft.Azure.Functions.Worker; using Microsoft.Extensions.DependencyInjection;
var host = new HostBuilder()
host.Run(); ```
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+```csharp
+using Microsoft.Azure.Functions.Worker;
+using Microsoft.Azure.Functions.Worker.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+
+var builder = FunctionsApplication.CreateBuilder(args);
+
+builder.Services
+ .AddApplicationInsightsTelemetryWorkerService()
+ .ConfigureFunctionsApplicationInsights();
+
+builder.Logging.Services.Configure<LoggerFilterOptions>(options =>
+ {
+ LoggerFilterRule defaultRule = options.Rules.FirstOrDefault(rule => rule.ProviderName
+ == "Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider");
+ if (defaultRule is not null)
+ {
+ options.Rules.Remove(defaultRule);
+ }
+ });
+
+builder.Build().Run();
+```
+++ ## Performance optimizations This section outlines options you can enable that improve performance around [cold start](./event-driven-scaling.md#cold-start).
For more information, see [Deployment technologies in Azure Functions](functions
#### Deployment payload
-Many of the deployment methods make use of a zip archive. If you are creating the zip archive yourself, it must follow the structure outlined in this section. If it does not, your app may experience errors at startup.
+Many of the deployment methods make use of a zip archive. If you're creating the zip archive yourself, it must follow the structure outlined in this section. If it doesn't, your app may experience errors at startup.
The deployment payload should match the output of a `dotnet publish` command, though without the enclosing parent folder. The zip archive should be made from the following files:
The deployment payload should match the output of a `dotnet publish` command, th
- Your project executable (a console app) - Other supporting files and directories peer to that executable
-These files are generated by the build process, and they are not meant to be edited directly.
+These files are generated by the build process, and they aren't meant to be edited directly.
When preparing a zip archive for deployment, you should only compress the contents of the output directory, not the enclosing directory itself. When the archive is extracted into the current working directory, the files listed above need to be immediately visible.
If your isolated project targets .NET Framework 4.8, the current preview scope r
Your app should start with a call to `FunctionsDebugger.Enable();` as its first operation. This occurs in the `Main()` method before initializing a HostBuilder. Your `Program.cs` file should look similar to this:
+# [IHostBuilder](#tab/hostbuilder)
+ ```csharp using System; using System.Diagnostics;
namespace MyDotnetFrameworkProject
} ```
+# [IHostApplicationBuilder (Preview)](#tab/ihostapplicationbuilder)
+
+```csharp
+using System;
+using System.Diagnostics;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Azure.Functions.Worker;
+using NetFxWorker;
+
+namespace MyDotnetFrameworkProject
+{
+ internal class Program
+ {
+ static void Main(string[] args)
+ {
+ FunctionsDebugger.Enable();
+
+ var host = FunctionsApplication
+ .CreateBuilder(args)
+ .Build();
+
+ host.Run();
+ }
+ }
+}
+```
+++ Next, you need to manually attach to the process using a .NET Framework debugger. Visual Studio doesn't do this automatically for isolated worker process .NET Framework apps yet, and the "Start Debugging" operation should be avoided. In your project directory (or its build output directory), run:
To use Azure Functions with a preview version of .NET, you need to update your p
1. Installing the relevant .NET SDK version in your development 1. Changing the `TargetFramework` setting in your `.csproj` file
-When you deploy to your function app in Azure, you also need to ensure that the framework is made available to the app. During the preview period, some tools and experiences may not surface the new preview version as an option. If you do not see the preview version included in the Azure Portal, for example, you can use the REST API, Bicep templates, or the Azure CLI to configure the version manually.
+When you deploy to your function app in Azure, you also need to ensure that the framework is made available to the app. During the preview period, some tools and experiences may not surface the new preview version as an option. If you don't see the preview version included in the Azure portal, for example, you can use the REST API, Bicep templates, or the Azure CLI to configure the version manually.
### [Windows](#tab/windows)
Keep these considerations in mind when using Functions with preview versions of
[Microsoft.Azure.Functions.Worker.Sdk]: https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk/ [HostBuilder]: /dotnet/api/microsoft.extensions.hosting.hostbuilder
+[IHostApplicationBuilder]: /dotnet/api/microsoft.extensions.hosting.ihostapplicationbuilder
[IHost]: /dotnet/api/microsoft.extensions.hosting.ihost [ConfigureFunctionsWorkerDefaults]: /dotnet/api/microsoft.extensions.hosting.workerhostbuilderextensions.configurefunctionsworkerdefaults?view=azure-dotnet&preserve-view=true#Microsoft_Extensions_Hosting_WorkerHostBuilderExtensions_ConfigureFunctionsWorkerDefaults_Microsoft_Extensions_Hosting_IHostBuilder_ [ConfigureAppConfiguration]: /dotnet/api/microsoft.extensions.hosting.hostbuilder.configureappconfiguration
azure-government Documentation Government Get Started Connect To Storage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-government/documentation-government-get-started-connect-to-storage.md
Previously updated : 10/01/2021 Last updated : 10/16/2024 # Develop with Storage API on Azure Government
For more information about Azure Storage Explorer, see [Get started with Storage
### Getting Started with Storage API
-One important difference to remember when connecting with the Storage API is that the URL for storage in Azure Government is different than the URL for storage in commercial Azure. Specifically, the domain ends with "core.usgovcloudapi.net", rather than "core.windows.net".
+One important difference to remember when connecting with the Storage API is that the URL for storage in Azure Government is different than the URL for storage in commercial Azure. Specifically, the domain ends with `core.usgovcloudapi.net`, rather than `core.windows.net`. These endpoint differences must be taken into account when you connect to storage in Azure Government with a client library.
-These endpoint differences must be taken into account when you connect to storage in Azure Government with C#.
-1. Go to the [Azure Government portal](https://portal.azure.us) and select your storage account and then click the "Access Keys" tab:
+Application requests to Azure Storage must be authorized. Using the `DefaultAzureCredential` class provided by the Azure Identity client library is the recommended approach for implementing passwordless connections to Azure services in your code.
- ![storage4](./media/documentation-government-get-started-connect-with-storage-img4.png)
-2. Copy/paste the storage account connection string.
+You can also authorize requests to Azure Storage by using the account access key. However, this approach should be used with caution. Developers must be diligent to never expose the access key in an unsecure location. Anyone who has the access key is able to authorize requests against the storage account, and effectively has access to all the data. `DefaultAzureCredential` offers improved management and security benefits over the account key to allow passwordless authentication. Both options are demonstrated in the following examples.
-#### C#
+#### C#/.NET
-1. Open Visual Studio and create a new project. Add a reference to the [Azure Tables client library for .NET](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/tables/Azure.Data.Tables). This package contains classes for connecting to your Storage Table account.
+Open Visual Studio and create a new project. Add a reference to the [Azure Tables client library for .NET](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/tables/Azure.Data.Tables). This package contains classes for connecting to your Storage Table account.
-2. Add these two lines of C# code to connect:
+#### [Passwordless (recommended)](#tab/passwordless)
- ```cs
- var credentials = new TableSharedKeyCredential(storageAccountName, Environment.GetEnvironmentVariable("STORAGE_ACCOUNT_KEY"));
- var storageTableUri = Environment.GetEnvironmentVariable("STORAGE_TABLE_URI");
- var tableServiceClient = new TableServiceClient(new Uri(storageTableUri), credentials);
- ```
+An easy and secure way to authorize access and connect to Azure Storage is to obtain an OAuth token by creating a [DefaultAzureCredential](/dotnet/api/azure.identity.defaultazurecredential) instance. You can then use that credential to create a `TableServiceClient` object, as shown in the following code example:
-3. At this point, we can interact with Storage as we normally would. For example, if we want to retrieve a specific entity from our Table Storage, we could do it like this:
+```csharp
+var credentialOptions = new DefaultAzureCredentialOptions()
+{
+ AuthorityHost = AzureAuthorityHosts.AzureGovernment,
+};
- ```cs
- var tableClient = tableServiceClient.GetTableClient("Contacts");
- ContactEntity contact = tableClient.GetEntity<ContactEntity>("gov-partition1", "0fb52a6c-3784-4dc5-aa6d-ecda4426dbda");
- Console.WriteLine($"Contact: {contact.FirstName} {contact.LastName}");
- ```
+var credential = new DefaultAzureCredential(credentialOptions);
+var storageTableUri = Environment.GetEnvironmentVariable("STORAGE_TABLE_URI");
+var tableServiceClient = new TableServiceClient(
+ new Uri(storageTableUri)
+ credential);
+```
+
+To learn more about authorizing access to data in Azure Storage, see [Authenticate to Azure and authorize access to data](../../articles/storage/blobs/storage-quickstart-blobs-dotnet.md#authenticate-to-azure-and-authorize-access-to-blob-data).
+
+#### [Connection string](#tab/connectionstring)
+
+Add these lines of C# code to connect using a connection string:
+
+```csharp
+var connectionString = Environment.GetEnvironmentVariable("AZURE_STORAGE_CONNECTION_STRING");
+var tableServiceClient = new TableServiceClient(connectionString);
+```
+
+You can also connect using an account key, as shown in the following code example:
+
+```csharp
+var credentials = new TableSharedKeyCredential(
+ storageAccountName,
+ Environment.GetEnvironmentVariable("STORAGE_ACCOUNT_KEY"));
+var storageTableUri = Environment.GetEnvironmentVariable("STORAGE_TABLE_URI");
+var tableServiceClient = new TableServiceClient(new Uri(storageTableUri), credentials);
+```
+
+> [!IMPORTANT]
+> The account access key should be used with caution. If your account access key is lost or accidentally placed in an insecure location, your service may become vulnerable. Anyone who has the access key is able to authorize requests against the storage account, and effectively has access to all the data. `DefaultAzureCredential` provides enhanced security features and benefits and is the recommended approach for managing authorization to Azure services.
+++
+At this point, we can interact with Storage as we normally would. The following example shows how to retrieve a specific entity from Table Storage:
+
+```csharp
+var tableClient = tableServiceClient.GetTableClient("Contacts");
+ContactEntity contact = tableClient.GetEntity<ContactEntity>("gov-partition-test", "0abc123e-1111-1a2b-3c4d-fghi5678j9k0");
+Console.WriteLine($"Contact: {contact.FirstName} {contact.LastName}");
+```
#### Java
-1. Download the [Azure Tables client library for Java](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/tables/azure-data-tables) and configure your project correctly.
-2. Create a "test" class where we'll access Azure Table Storage using the Azure Tables client library.
-
- Copy and paste the code below, and **paste** your Storage Account connection string into the `AZURE_STORAGE_CONNECTION_STRING` environment variable.
-
- ```java
- import com.azure.data.tables.implementation.ModelHelper;
- import com.azure.data.tables.models.*;
- import java.util.HashMap;
- public class test {
- public static final String storageConnectionString = System.getEnv("AZURE_STORAGE_CONNECTION_STRING");
- public static void main(String[] args) {
- try
- {
- // Create the table service client.
- TableServiceClient tableServiceClient = new TableServiceClientBuilder()
- .connectionString(storageConnectionString)
- .buildClient();
- // Create the table if it doesn't exist.
- String tableName = "Contacts";
- TableClient tableClient = tableServiceClient.createTableIfNotExists(tableName);
- // Create a new customer entity.
- TableEntity customer1 = ModelHelper.createEntity(new HashMap<String, Object>() {{
- put("PartitionKey", "Brown");
- put("RowKey", "Walter");
- put("Email", "Walter@contoso.com");
- }});
- // Insert table entry into table
- tableClient.createEntity(customer1);
- }
- catch (Exception e)
- {
- // Output the stack trace.
- e.printStackTrace();
- }
- }
+
+Download the [Azure Tables client library for Java](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/tables/azure-data-tables) and configure your project correctly.
+
+#### [Passwordless (recommended)](#tab/passwordless)
+
+An easy and secure way to authorize access and connect to Azure Storage is to obtain an OAuth token by creating a [DefaultAzureCredential](/java/api/overview/azure/identity-readme#defaultazurecredential) instance. You can then use that credential to create a `TableServiceClient` object, as shown in the following code example:
+
+```java
+import com.azure.data.tables.implementation.ModelHelper;
+import com.azure.data.tables.models.*;
+import java.util.HashMap;
+public class test {
+ public static final String storageConnectionString = System.getEnv("AZURE_STORAGE_CONNECTION_STRING");
+ public static void main(String[] args) {
+ try
+ {
+ DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost("https://management.usgovcloudapi.net/.default")
+ .build();
+
+ // Create the table service client.
+ TableServiceClient tableServiceClient = new TableServiceClientBuilder()
+ .endpoint("https://<storage-account-name>.table.core.usgovcloudapi.net/")
+ .credential(credential)
+ .buildClient();
+
+ // Create the table if it doesn't exist.
+ String tableName = "Contacts";
+ TableClient tableClient = tableServiceClient.createTableIfNotExists(tableName);
+ // Create a new customer entity.
+ TableEntity customer1 = ModelHelper.createEntity(new HashMap<String, Object>() {{
+ put("PartitionKey", "Brown");
+ put("RowKey", "Walter");
+ put("Email", "Walter@contoso.com");
+ }});
+ // Insert table entry into table
+ tableClient.createEntity(customer1);
+ }
+ catch (Exception e)
+ {
+ // Output the stack trace.
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+To learn more about authorizing access to data in Azure Storage, see [Authenticate to Azure and authorize access to data](../../articles/storage/blobs/storage-quickstart-blobs-java.md#authenticate-to-azure-and-authorize-access-to-blob-data).
+
+#### [Connection string](#tab/connectionstring)
+
+Create a "test" class where we'll access Azure Table Storage using the Azure Tables client library.
+
+Copy and paste the code below, and **paste** your Storage Account connection string into the `AZURE_STORAGE_CONNECTION_STRING` environment variable.
+
+```java
+import com.azure.data.tables.implementation.ModelHelper;
+import com.azure.data.tables.models.*;
+import java.util.HashMap;
+public class test {
+ public static final String storageConnectionString = System.getEnv("AZURE_STORAGE_CONNECTION_STRING");
+ public static void main(String[] args) {
+ try
+ {
+ // Create the table service client.
+ TableServiceClient tableServiceClient = new TableServiceClientBuilder()
+ .connectionString(storageConnectionString)
+ .buildClient();
+ // Create the table if it doesn't exist.
+ String tableName = "Contacts";
+ TableClient tableClient = tableServiceClient.createTableIfNotExists(tableName);
+ // Create a new customer entity.
+ TableEntity customer1 = ModelHelper.createEntity(new HashMap<String, Object>() {{
+ put("PartitionKey", "Brown");
+ put("RowKey", "Walter");
+ put("Email", "Walter@contoso.com");
+ }});
+ // Insert table entry into table
+ tableClient.createEntity(customer1);
+ }
+ catch (Exception e)
+ {
+ // Output the stack trace.
+ e.printStackTrace();
}
- ```
+ }
+}
+```
+
+> [!IMPORTANT]
+> The account access key should be used with caution. If your account access key is lost or accidentally placed in an insecure location, your service may become vulnerable. Anyone who has the access key is able to authorize requests against the storage account, and effectively has access to all the data. `DefaultAzureCredential` provides enhanced security features and benefits and is the recommended approach for managing authorization to Azure services.
++ #### Node.js
-1. Download the [Azure Storage Blob client library for Node.js](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-blob) and configure your application correctly.
-2. The following code below connects to Azure Blob Storage and creates a Container using the Azure Storage API.
- **Paste** your Azure Storage account connection string into the `AZURE_STORAGE_CONNECTION_STRING` environment variable.
-
- ```javascript
- var { BlobServiceClient } = require("@azure/storage-blob");
- var storageConnectionString = process.env["AZURE_STORAGE_CONNECTION_STRING"];
- var blobServiceClient = BlobServiceClient.fromConnectionString(storageConnectionString);
- var containerClient = blobServiceClient.getContainerClient('testing');
- containerClient.createIfNotExists();
- ```
+
+Download the [Azure Storage Blob client library for Node.js](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-blob) and configure your application correctly.
+
+#### [Passwordless (recommended)](#tab/passwordless)
+
+An easy and secure way to authorize access and connect to Azure Storage is to obtain an OAuth token by creating a [DefaultAzureCredential](/javascript/api/overview/azure/identity-readme#defaultazurecredential) instance. You can then use that credential to create a `BlobServiceClient` object, as shown in the following code example:
+
+```javascript
+const { BlobServiceClient } = require('@azure/storage-blob');
+const {
+ DefaultAzureCredential,
+ DefaultAzureCredentialOptions,
+ AzureAuthorityHosts
+} = require('@azure/identity');
+
+const credentialOptions = new DefaultAzureCredentialOptions(
+ {
+ authorityHost: AzureAuthorityHosts.AzureGovernment
+ }
+);
+
+const blobServiceClient = new BlobServiceClient(
+ `https://<storage-account-name>.blob.core.usgovcloudapi.net`,
+ new DefaultAzureCredential(credentialOptions)
+);
+
+var containerClient = blobServiceClient.getContainerClient('testing');
+containerClient.createIfNotExists();
+```
+
+To learn more about authorizing access to data in Azure Storage, see [Authenticate to Azure and authorize access to data](../../articles/storage/blobs/storage-quickstart-blobs-nodejs.md#authenticate-to-azure-and-authorize-access-to-blob-data).
+
+#### [Connection string](#tab/connectionstring)
+
+The following code below connects to Azure Blob Storage and creates a Container using the Azure Storage API.
+**Paste** your Azure Storage account connection string into the `AZURE_STORAGE_CONNECTION_STRING` environment variable.
+
+```javascript
+var { BlobServiceClient } = require("@azure/storage-blob");
+var storageConnectionString = process.env["AZURE_STORAGE_CONNECTION_STRING"];
+var blobServiceClient = BlobServiceClient.fromConnectionString(storageConnectionString);
+var containerClient = blobServiceClient.getContainerClient('testing');
+containerClient.createIfNotExists();
+```
+
+> [!IMPORTANT]
+> The account access key should be used with caution. If your account access key is lost or accidentally placed in an insecure location, your service may become vulnerable. Anyone who has the access key is able to authorize requests against the storage account, and effectively has access to all the data. `DefaultAzureCredential` provides enhanced security features and benefits and is the recommended approach for managing authorization to Azure services.
++ #### Python
-1. Download the [Azure Storage Blob client library for Python](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob).
-2. When using the Storage library for Python to connect to Azure Government, paste your Azure storage connection string in the `AZURE_STORAGE_CONNECTION_STRING` environment variable.
+
+Download the [Azure Storage Blob client library for Python](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob).
+
+#### [Passwordless (recommended)](#tab/passwordless)
+
+An easy and secure way to authorize access and connect to Azure Storage is to obtain an OAuth token by creating a [DefaultAzureCredential](/python/api/overview/azure/identity-readme#defaultazurecredential) instance. You can then use that credential to create a `BlobServiceClient` object, as shown in the following code example:
+
+```python
+from azure.identity import DefaultAzureCredential, AzureAuthorityHosts
+from azure.storage.blob import BlobServiceClient
+
+credential = DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)
+
+blob_service_client = BlobServiceClient("https://<storage-account-name>.blob.core.usgovcloudapi.net", credential=credential)
+
+container_name ="<container-name>"
+container = blob_service_client.get_container_client(container=container_name)
+generator = container.list_blobs()
+for blob in generator:
+ print("\t Blob name: " + blob.name)
+```
+
+To learn more about authorizing access to data in Azure Storage, see [Authenticate to Azure and authorize access to data](../../articles/storage/blobs/storage-quickstart-blobs-python.md#authenticate-to-azure-and-authorize-access-to-blob-data).
+
+#### [Connection string](#tab/connectionstring)
+
+When using the Storage library for Python to connect to Azure Government, paste your Azure storage connection string in the `AZURE_STORAGE_CONNECTION_STRING` environment variable.
- ```python
- # Create the BlobServiceClient that is used to call the Blob service for the storage account
- connection_string = os.getenv("AZURE_STORAGE_CONNECTION_STRING")
- blob_service_client = BlobServiceClient.from_connection_string(conn_str=connection_string)
- container_name ='ml-gov-demo'
- container = blob_service_client.get_container_client(container=container_name)
- generator = container.list_blobs()
- for blob in generator:
- print("\t Blob name: " + blob.name)
- ```
+```python
+# Create the BlobServiceClient that is used to call the Blob service for the storage account
+connection_string = os.getenv("AZURE_STORAGE_CONNECTION_STRING")
+blob_service_client = BlobServiceClient.from_connection_string(conn_str=connection_string)
+container_name ="<container-name>"
+container = blob_service_client.get_container_client(container=container_name)
+generator = container.list_blobs()
+for blob in generator:
+ print("\t Blob name: " + blob.name)
+```
+
+> [!IMPORTANT]
+> The account access key should be used with caution. If your account access key is lost or accidentally placed in an insecure location, your service may become vulnerable. Anyone who has the access key is able to authorize requests against the storage account, and effectively has access to all the data. `DefaultAzureCredential` provides enhanced security features and benefits and is the recommended approach for managing authorization to Azure services.
++ ## Next steps
azure-maps Creator Indoor Maps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/creator-indoor-maps.md
The Indoor Maps module also supports dynamic map styling for more information, s
### Azure Maps integration
-As you begin to develop solutions for indoor maps, you can discover ways to integrate existing Azure Maps capabilities. For example, you can implement asset tracking or safety scenarios by using the [Geofence service] with Creator indoor maps. For example, you can use the Geofence API to determine whether a worker enters or leaves specific indoor areas. For more information about how to connect Azure Maps with IoT telemetry, see [Tutorial: Implement IoT spatial analytics by using Azure Maps].
+As you begin to develop solutions for indoor maps, you can discover ways to integrate existing Azure Maps capabilities. For example, you can implement asset tracking or safety scenarios by using the [Geofence service] with Creator indoor maps. For example, you can use the Geofence API to determine whether a worker enters or leaves specific indoor areas.
### Data maintenance
The following example shows how to update a dataset, create a new tileset, and d
[Manage Azure Maps Creator]: how-to-manage-creator.md [structure]: creator-facility-ontology.md?pivots=facility-ontology-v2#structure [style picker control]: choose-map-style.md#add-the-style-picker-control
-[Tutorial: Implement IoT spatial analytics by using Azure Maps]: tutorial-iot-hub-maps.md
[verticalPenetration]: creator-facility-ontology.md?pivots=facility-ontology-v2#verticalpenetration <! HTTP Links >
azure-maps Supported Map Styles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/supported-map-styles.md
This map style is a hybrid of roads and labels overlaid on top of satellite and
**grayscale light** is a light version of the road map style. **Applicable APIs:**
This map style is a hybrid of roads and labels overlaid on top of satellite and
**high_contrast_light** is a light map style with a higher contrast than the other styles. **Applicable APIs:**
azure-netapp-files Performance Large Volumes Linux https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/performance-large-volumes-linux.md
na Previously updated : 08/01/2024 Last updated : 10/16/2024 # Azure NetApp Files large volume performance benchmarks for Linux
This article describes the tested performance capabilities of a single [Azure Ne
The Ultra service level was used in these tests.
-* Sequential I/O: 100% sequential writes max out at 8,500 MiB/second, while a single large volume is capable of 10 GiB/second (12,800 MiB/second) throughput.
+* Sequential writes: 100% sequential writes maxed out at 8,500 MiB/second in these benchmarks. (A single large volumeΓÇÖs maximum throughput is capped at 12,800 MiB/second by the service.)
+* Sequential reads: 100% sequential reads maxed out at 10,000 MiB/second in these benchmarks. (At the time of these benchmarks, this limit was the maximum allowed throughput. The limit has increased to 12,800 MiB/second.)
* Random I/O: The same single large volume delivers over 700,000 operations per second.
azure-resource-manager Export Template Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/templates/export-template-portal.md
Title: Export template in Azure portal
description: Use Azure portal to export an Azure Resource Manager template from resources in your subscription. Previously updated : 03/20/2024 Last updated : 10/16/2024 # Use Azure portal to export a template
To export one or more resources from a resource group:
1. Select the resource group that contains the resources you want to export.
-1. Select one or more resources by selecting the checkboxes. To select all, select the checkbox on the left of **Name**. The **Export template** menu item only becomes enabled after you've selected at least one resource.
+1. Select one or more resources by selecting the checkboxes. To select all, select the checkbox on the left of **Name**. The **Export template** from the top menu only becomes enabled after you've selected at least one resource.
:::image type="content" source="./media/export-template-portal/select-all-resources.png" alt-text="Screenshot of selecting all resources for export in Azure portal.":::
- On the screenshot, only the storage account is selected.
-1. Select **Export template**.
+1. Select **Export template** from the top menu. The **Export template** from the left menu exports all the resources in the group to a template.
1. The exported template is displayed, and is available to download and deploy.
To export one resource:
1. The exported template is displayed, and is available to download and deploy. The template only contains the single resource. **Include parameters** is selected by default. When selected, all template parameters are included when the template is generated. If youΓÇÖd like to author your own parameters, toggle this checkbox to not include them.
-## Download template before deployment
-
-The portal has the option of downloading a template before deploying it. This option isn't available through PowerShell or Azure CLI.
-
-1. Select the Azure service you want to deploy.
-
-1. Fill in the values for the new service.
-
-1. After passing validation, but before starting the deployment, select **Download a template for automation**.
-
- :::image type="content" source="./media/export-template-portal/download-before-deployment.png" alt-text="Screenshot of the option to download a template before deployment in Azure portal.":::
-
-1. The template is displayed and is available for download and deploy.
- ## Export template after deployment You can export the template that was used to deploy existing resources. The template you get is exactly the one that was used for deployment.
You can export the template that was used to deploy existing resources. The temp
## Next steps -- Learn how to export templates with [Azure CLI](export-template-cli.md), [Azure PowerShell](export-template-powershell.md), or [REST API](/rest/api/resources/resourcegroups/exporttemplate).-- To learn the Resource Manager template syntax, see [Understand the structure and syntax of Azure Resource Manager templates](./syntax.md).-- To learn how to develop templates, see the [step-by-step tutorials](../index.yml).
+* Learn how to export templates with [Azure CLI](export-template-cli.md), [Azure PowerShell](export-template-powershell.md), or [REST API](/rest/api/resources/resourcegroups/exporttemplate).
+* To learn the Resource Manager template syntax, see [Understand the structure and syntax of Azure Resource Manager templates](./syntax.md).
+* To learn how to develop templates, see the [step-by-step tutorials](../index.yml).
azure-web-pubsub Howto Authorize From Application https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/howto-authorize-from-application.md
Title: Authorize an application request by using Microsoft Entra ID
description: Learn how to authorize an application request to Web PubSub resources by using Microsoft Entra ID. Previously updated : 09/06/2024 Last updated : 10/12/2024
To create a client secret:
:::image type="content" source="media/howto-authorize-from-application/new-client-secret.png" alt-text="Screenshot that shows creating a client secret."::: 1. Enter a description for the client secret, and then choose an **Expires** time for the secret.
-1. Copy the value of the client secret, and then paste it to a secure location to save for later use.
+1. Copy the value of the client secret and paste it in a secure location for later use.
> [!NOTE] > The secret is visible only when you create the secret. You can't view the client secret in the portal later.
azure-web-pubsub Resource Faq https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/resource-faq.md
Previously updated : 03/21/2023 Last updated : 09/18/2024 # Azure Web PubSub service FAQ
-This is the FAQ of Azure Web PubSub service.
+Here are some frequently asked questions (FAQs) for the Azure Web PubSub service.
## Is Azure Web PubSub service ready for production use? Yes, Azure Web PubSub service is generally available. ## How do I choose between Azure SignalR Service and Azure Web PubSub service?
-Both [Azure SignalR Service](https://azure.microsoft.com/services/signalr-service) and [Azure Web PubSub service](https://azure.microsoft.com/services/web-pubsub) help customers build real-time web applications easily with large scale and high availability and enable customers to focus on their business logic instead of managing the messaging infrastructure. In general, you may choose Azure SignalR Service if you already use SignalR library to build real-time application. Instead, if you're looking for a generic solution to build real-time application based on WebSocket and publish-subscribe pattern, you may choose Azure Web PubSub service. The Azure Web PubSub service is **not** a replacement for Azure SignalR Service. They're targeting different scenarios.
+Both [Azure SignalR Service](https://azure.microsoft.com/services/signalr-service) and [Azure Web PubSub service](https://azure.microsoft.com/services/web-pubsub) help customers build real-time web applications easily with large scale and high availability and enable customers to focus on their business logic instead of managing the messaging infrastructure. In general, you might choose Azure SignalR Service if you already use SignalR library to build real-time application. Instead, if you're looking for a generic solution to build real-time application based on WebSocket and publish-subscribe pattern, you might choose Azure Web PubSub service. The Azure Web PubSub service is **not** a replacement for Azure SignalR Service. They're targeting different scenarios.
Azure SignalR Service is more suitable if: - You're already using ASP.NET or ASP.NET Core SignalR, primarily using .NET or need to integrate with .NET ecosystem (like Blazor).-- There's a SignalR client available for your platform. -- You need an established protocol that supports a wide variety of calling patterns (RPC and streaming), transports (WebSocket, server sent events, and long polling) and with a client that manages the connection lifetime on your behalf.
+- You're having a SignalR client available for your platform.
+- You're in need of an established protocol that supports a wide variety of calling patterns, such as Remote Procedure Call (RPC) and streaming. It should also support various transports, including WebSocket, server-sent events, and long polling, along with a client that manages the connection lifetime on your behalf.
Azure Web PubSub service is more suitable for situations where: - You need to build real-time applications based on WebSocket technology or publish-subscribe over WebSocket. - You want to build your own subprotocol or use existing advanced sub-protocols over WebSocket (for example, [GraphQL subscriptions over WebSocket](https://github.com/Azure/azure-webpubsub/tree/main/experimental/sdk/webpubsub-graphql-subscribe)). -- You're looking for a lightweight server, for example, sending messages to client without going through the configured backend.
+- You look for a lightweight server, for example, sending messages to client without going through the configured backend.
## Where does my data reside?
-Azure Web PubSub does not store any customer data. If you use Azure Web PubSub service together with other Azure services, like Azure Storage for diagnostics, see [Azure Privacy Overview (white paper)](https://go.microsoft.com/fwlink/p/?linkid=2220836) for guidance about how to keep data residency in Azure regions.
+Azure Web PubSub doesn't store any customer data. If you use Azure Web PubSub service together with other Azure services, like Azure Storage for diagnostics, see [Azure Privacy Overview (white paper)](https://go.microsoft.com/fwlink/p/?linkid=2220836) for guidance about how to keep data residency in Azure regions.
backup Backup Azure Policy Supported Skus https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/backup/backup-azure-policy-supported-skus.md
Title: Supported VM SKUs for Azure Policy description: 'An article describing the supported VM SKUs (by Publisher, Image Offer and Image SKU) which are supported for the built-in Azure Policies provided by Backup' Previously updated : 09/11/2024 Last updated : 10/16/2024
OpenLogic | CentOS | 6.X, 7.X
OpenLogic | CentOSΓÇôLVM | 6.X, 7.X OpenLogic | CentOSΓÇôSRIOV | 6.X, 7.X cloudera | cloudera-centos-os | 7.X+
+>[!Caution]
+>CentOS is end-of-life. [Learn more](/azure/virtual-machines/workloads/centos/centos-end-of-life).
backup Backup Azure Restore Files From Vm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/backup/backup-azure-restore-files-from-vm.md
Title: Recover files and folders from Azure VM backup description: In this article, learn how to recover files and folders from an Azure virtual machine recovery point. Previously updated : 04/12/2024 Last updated : 10/16/2024
In Linux, the OS of the computer used to restore files must support the file sys
| SLES | 12 and above | | openSUSE | 42.2 and above |
+>[!Caution]
+>CentOS is end-of-life. [Learn more](/azure/virtual-machines/workloads/centos/centos-end-of-life).
+ ### Additional components The script also requires Python and bash components to execute and connect securely to the recovery point.
cdn Cdn Manage Expiration Of Blob Content https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cdn/cdn-manage-expiration-of-blob-content.md
You can use the [Azure Storage services REST API](/rest/api/storageservices/) to
## Testing the Cache-Control header
-You can easily verify the TTL settings of your blobs. With your browser's developer tools, test that your blob includes the `Cache-Control` response header. You can also use a tool such as [Wget](https://www.gnu.org/software/wget/), [Postman](https://www.getpostman.com/), or [Fiddler](https://www.telerik.com/fiddler) to examine the response headers.
+You can easily verify the TTL settings of your blobs. With your browser's developer tools, test that your blob includes the `Cache-Control` response header. You can also use a tool such as [Wget](https://www.gnu.org/software/wget/) or [Fiddler](https://www.telerik.com/fiddler) to examine the response headers.
## Next Steps
cdn Cdn Manage Expiration Of Cloud Service Content https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cdn/cdn-manage-expiration-of-cloud-service-content.md
Response.Cache.SetLastModified(DateTime.Now);
## Testing the Cache-Control header
-You can easily verify the TTL settings of your web content. With your browser's developer tools, test that your web content includes the `Cache-Control` response header. You can also use a tool such as **wget**, [Postman](https://www.getpostman.com/), or [Fiddler](https://www.telerik.com/fiddler) to examine the response headers.
+You can easily verify the TTL settings of your web content. With your browser's developer tools, test that your web content includes the `Cache-Control` response header. You can also use a tool such as **wget** or [Fiddler](https://www.telerik.com/fiddler) to examine the response headers.
## Next Steps
communication-services Breakoutrooms https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/how-tos/calling-sdk/breakoutrooms.md
Title: Tutorial - Integrate Microsoft Teams breakout rooms
-description: Use Azure Communication Services SDKs to access BreakoutRooms.
+description: Use Azure Communication Services SDKs to implement Microsoft Teams breakout rooms.
Last updated 07/15/2024
-# BreakoutRooms
-In this article, you learn how to implement Microsoft Teams breakout rooms with Azure Communication Services. This capability allows Azure Communication Services users in Teams meetings to participate in breakout rooms. Teams administrators control availability of breakout rooms in Teams meeting with Teams meeting policy. You can find additional information about breakout rooms in [Teams documentation](https://support.microsoft.com/office/use-breakout-rooms-in-microsoft-teams-meetings-7de1f48a-da07-466c-a5ab-4ebace28e461).
+# Breakout rooms
+
+This article describes how to implement Microsoft Teams breakout rooms with Azure Communication Services. This capability enables Azure Communication Services users in Teams meetings to participate in breakout rooms. Teams administrators control the availability of breakout rooms in Teams meeting with Teams meeting policy. You can find additional information about breakout rooms in [Teams documentation](https://support.microsoft.com/office/use-breakout-rooms-in-microsoft-teams-meetings-7de1f48a-da07-466c-a5ab-4ebace28e461).
[!INCLUDE [Public Preview Disclaimer](../../includes/public-preview-include-document.md)] ## Prerequisites -- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). -- A deployed Communication Services resource. [Create a Communication Services resource](../../quickstarts/create-communication-resource.md).
+- An Azure account with an active subscription. See [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
+- A deployed Communication Services resource. See [Create a Communication Services resource](../../quickstarts/create-communication-resource.md).
- A user access token to enable the calling client. For more information, see [Create and manage access tokens](../../quickstarts/identity/access-tokens.md).-- Teams meeting organizer needs to assign Teams meeting policy that enables breakout rooms.[Teams meeting policy](/powershell/module/teams/set-csteamsmeetingpolicy?view=teams-ps&preserve-view=true)-- Optional: Complete the quickstart to [add voice calling to your application](../../quickstarts/voice-video-calling/getting-started-with-calling.md)
+- Teams meeting organizer needs to assign Teams meeting policy that enables breakout rooms. See [Teams meeting policy](/powershell/module/teams/set-csteamsmeetingpolicy?view=teams-ps&preserve-view=true).
+- Optional: Complete the quickstart to [add voice calling to your application](../../quickstarts/voice-video-calling/getting-started-with-calling.md).
Only Microsoft 365 Users with Organizer, Co-Organizer, or Breakout Room manager roles can manage the breakout rooms. ## Support+ The following tables define support of breakout rooms in Azure Communication Services.+ ### Identities and call types
-The following tables show support of breakout rooms for specific call type and identity.
+
+The following table shows support in breakout rooms for specific call type and identity.
|Identities | Teams meeting | Room | 1:1 call | Group call | 1:1 Teams interop call | Group Teams interop call | |--|||-|||--| |Communication Services user | ✔️ | | | | | | |Microsoft 365 user | ✔️ | | | | | | -- ### Operations
-The following tables show support of individual APIs in calling SDK to individual identity types.
+
+The following table show support for individual APIs in the calling SDK related to individual identity types.
|Operations | Communication Services user | Microsoft 365 user | |--||-|
The following tables show support of individual APIs in calling SDK to individua
[2] Microsoft 365 users can use Graph API to participate in breakout room chat. The thread ID of the chat is provided in the assigned breakout room object. ### SDKs
-The following tables show support of breakout rooms feature in individual Azure Communication Services SDKs.
+
+The following tables show support for the breakout rooms feature in individual Azure Communication Services SDKs.
| Support status | Web | Web UI | iOS | iOS UI | Android | Android UI | Windows | |-|--|--|--|--|-|--|| | Is Supported | ✔️ | | | | | | |
-## Breakout rooms
- [!INCLUDE [BreakoutRooms Client-side JavaScript](./includes/breakoutrooms/breakoutrooms-web.md)] ## Next steps
communication-services Spotlight https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/how-tos/calling-sdk/spotlight.md
Title: Spotlight states description: Use Azure Communication Services SDKs to send spotlight state.--++ Previously updated : 03/01/2023 Last updated : 10/15/2024 zone_pivot_groups: acs-plat-web-ios-android-windows # Spotlight states
-This article describes how to implement Microsoft Teams spotlight capability with Azure Communication Services Calling SDKs. This capability enables users in the call or meeting to pin and unpin videos for everyone. The maximum limit of pinned videos is seven.
-
-Since the video stream resolution of a participant is increased when spotlighted, it should be noted that the settings done on [Video Constraints](../../concepts/voice-video-calling/video-constraints.md) also apply to spotlight.
+This article describes how to implement spotlight capability with Azure Communication Services Calling SDKs. This capability enables users in the call or meeting to signal to other participants that selected user should be **in the spotlight**. This feature enables users to tag other users in the call and notify all the participants that someone is spotlighted and other clients need to change the User Interface layout for that user.
## Overview
-Spotlighting a video is like pinning it for everyone in the meeting. The organizer, co-organizer, or presenter can choose up to seven people's video feeds (including their own) to highlight for everyone else.
+Spotlight serves as a signaling feature instead of a media capability. Once someone is spotlighted applications can determine how to manage or adjust the spotlighted participant User Interface, typically by highlighting them, placing them at the center of the UI layout, and enlarging their video renderer size while keeping other participants' videos smaller. The maximum limit of spotlighted participants in a call is seven, meaning in a single call a total number of distinct users that are spotlighted is 7.
-The two different ways to spotlight are your own video and someone else's video (up to seven people).
+Spotlighting a participant is possible in both ACS calls and in Teams meetings. In Teams meetings the organizer, coorganizer, or presenter can choose up to seven user's (including themselves) to be in the spotlight. Do remember in a Teams meeting scenario, when a call is set to Large gallery or Together mode participants can't change the UI layout.
-When a user spotlights or pins someone in the meeting, this increases the height or width of the participant grid depending on the orientation.
+To enable higher resolution for a spotlighted user's video, the application must ensure that their video renderer is larger than those of other users displayed on the screen. This allows the ACS SDK to request and subscribe to a higher resolution stream, which matches the renderer's size, provided hardware and network conditions permit. If not optimal, the SDK adjusts the resolution for smooth playback. Resolution can also be controlled using via [Video Constraints](../../concepts/voice-video-calling/video-constraints.md), overriding the default ACS SDK behavior.
-Remind participants that they can't spotlight a video if their view is set to Large gallery or Together mode.
## Prerequisites
The following table shows support for spotlight feature in individual Azure Comm
| | | | | | | 400 | 45900 | ExpectedError | All provided participant IDs are already spotlighted. | Only participants who aren't currently spotlighted can be spotlighted. | | 400 | 45902 | ExpectedError | The maximum number of participants are already spotlighted. | Only seven participants can be in the spotlight state at any given time. |
-| 403 | 45903 | ExpectedError | Only participants with the roles of organizer, co-organizer, or presenter can initiate a spotlight. | Ensure the participant calling the `startSpotlight` operation has the role of organizer, co-organizer, or presenter. |
+| 403 | 45903 | ExpectedError | Only participants with the roles of organizer, coorganizer, or presenter can initiate a spotlight. | Ensure the participant calling the `startSpotlight` operation has the role of organizer, coorganizer, or presenter. |
## Next steps
communication-services Whats New https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/whats-new.md
# What's new in Azure Communication Services
-Use this article to stay updated on new features and other useful information related to Azure Communication Services.
+Use this article to learn about new features and other updates related to Azure Communication Services.
<!-- [!INCLUDE [Survey Request](./includes/survey-request.md)] -->
+## August 2024
+
+### Enhance custom app experiences with Microsoft Teams
+
+WeΓÇÖre announcing a set of enhancements for developers building custom app and website experiences that connect to users on Microsoft Teams. Azure Communication Services and these new capabilities are especially tailored for business-to-customer (B2C) interactions where an external user (the customer) talks to an employee that is using Teams (the business).
+
+In-Teams Enhancements
+
+- Breakout Rooms
+- Together Mode
+- Enhanced Audio
+
+Joining Teams Made Easier
+
+- Short URL
+- Join by Meeting ID
+
+#### Together mode: Bring everyone into the same room
+
+We now support Microsoft Teams' Together Mode in public preview, enhancing the virtual meeting experience for participants joining through Azure Communication Services. This integration enables Azure Communication Services participants to render the Together Mode stream, creating a shared background that makes it feel like everyone is in the same room. ItΓÇÖs a great way to reduce meeting fatigue and help participants feel more engaged and attentive.
++
+Together Mode is useful for making virtual gatherings more immersive and interactive. Whether you're hosting a team meeting, a virtual event, or a classroom session, this feature can make your meetings feel more connected. Plus, organizations can customize these virtual environments to reflect their brand or meeting context through the Teams Developer Portal. Just a heads-up, Teams users need a Teams Premium license to use custom Together Mode scenes.
+
+For more information, see [Together Mode](./how-tos/calling-sdk/together-mode.md).
+
+#### Breakout rooms: Enhance virtual collaboration
+
+Continuing our efforts to make virtual meetings a more dynamic and interactive experience, Microsoft Teams has introduced breakout rooms integrated with Azure Communication Services for an optimized experience. Currently in public preview, this function enables you to divide your meetings into smaller, more focused groups, enhancing the dynamism and engagement of discussions.
++
+Breakout rooms are perfect for diving into specific areas without the distractions of a larger meeting. Whether you're working on a team project, hosting a classroom session, or conducting group therapy, breakout rooms help facilitate in-depth conversations and active participation. This leads to more efficient and productive meetings.
+
+Teams administrators can easily manage the availability of breakout rooms through meeting policies, ensuring they're used effectively. Currently in public preview, this integration offers a glimpse into the future of virtual collaboration, making online meetings more engaging and interactive.
+
+For more information, see [Tutorial - Integrate Microsoft Teams breakout rooms](./how-tos/calling-sdk/breakoutrooms.md).
+
+#### Enhanced support for audio conferencing: Ensuring reliable connections
+
+Microsoft Teams revolutionized seamless communication during virtual appointments by enabling a single Teams meeting to have multiple audio-conferencing setups. This means that participants can join through the most optimal phone line, ensuring they stay connected even if they face internet issues.
+
+Azure Communication Services now exposes this configuration, enabling developers to provide the most optimal phone line to their customers. This feature not only enhances the reliability of virtual appointments but also ensures that participants can always stay connected, making virtual meetings more efficient and stress-free.
+
+For more information, see [Teams Meeting Audio Conferencing](./how-tos/calling-sdk/audio-conferencing.md).
+
+#### Short URL support - web and native
+
+Sharing meeting links just got easier with the new short URL format for Microsoft Teams, now supported by Azure Communication Services. This update enables you to share meeting links more conveniently, making the process smoother for everyone involved.
+
+We updated our SDKs to accommodate this new format, so developers need to update their SDKs to take advantage of it. The shorter URLs not only simplify the sharing process but also enhance the overall user experience by making links easier to distribute and manage.
+
+For more information, see [Quickstart: Join your calling app to a Teams meeting](./quickstarts/voice-video-calling/get-started-teams-interop.md).
+
+#### Join a Teams Meeting by ID ΓÇô native
+
+Azure Communication Services now supports joining Microsoft Teams meetings using a meeting ID and passcode. This feature enables developers to build native applications for iOS, Android, and Windows that connect to Teams meetings with simple, manually entered credentials found in the event invite.
+
+We enabled this straightforward method of joining meetings to makes it easier to stay connected and collaborate across various platforms. This update enhances security and convenience, ensuring seamless access to your Teams meetings.
++
+For more information, see [Manage calls for Teams users > Join a Teams meeting](./how-tos/cte-calling-sdk/manage-calls.md#join-a-teams-meeting).
+
+### More features and enhancements
+
+- Real-time transcription
+- Real-time audio streaming
+- Server programmability for Rooms
+- Rich text support
+
+#### Real-time transcription: Instant insights from your calls
+
+Azure Communication Services now offers real-time transcription in public preview, providing developers with immediate text output from call audio. This feature is incredibly useful for analyzing conversations and gaining insights that can inform business decisions or assist agents in real-time.
+
+With integration into Azure AI's Speech-to-Text service, real-time transcription supports over 140 languages, making it easy to incorporate speech recognition and transcription into your applications. This capability enables you to capture and transcribe audio seamlessly, providing a valuable resource for various use cases
++
+By combining these transcriptions with large language models (LLMs), you can gain more insights such as suggested next steps, summaries, intent, and sentiment analysis.
+
+For more information, see:
+
+- [Generate real-time transcripts](./concepts/call-automation/real-time-transcription.md)
+- [Add real-time transcription into your applications](./how-tos/call-automation/real-time-transcription-tutorial.md)
+
+#### Real-time audio streaming: Capture and analyze conversations
+
+Building on the power of real-time capabilities, developers now have access to real-time audio streams. This enables developers to create server applications that capture and analyze audio for each participant on a call as it happens.
++
+By integrating audio streaming with call automation actions or custom AI models, you can unlock various use cases. These include natural language processing (NLP) for conversation analysis, voice authentication using biometrics, and providing real-time insights and suggestions to agents during active interactions
+
+For more information, see:
+
+- [Audio streaming overview](./concepts/call-automation/audio-streaming-concept.md)
+- [Audio streaming quickstart](./how-tos/call-automation/audio-streaming-quickstart.md)
+
+#### Server programmability for Rooms: Enhance virtual appointments
+
+Real-time programming support for Rooms calls through Azure Communication Services is now in public preview, enabled through the Call Automation API. The first feature in preview enables PSTN dial out from Rooms. PSTN dial out enables independent software vendors (ISVs) to integrate multiple third-party professional services over PSTN into virtual appointments.
+
+For example, interpreters, social services representatives, and other professionals can join telehealth appointments or virtual courtrooms over PSTN. With this new capability, developers can manage these scenarios efficiently, providing robust audio-conferencing features for virtual appointments.
+
+This is just the beginning. Over the coming year, we plan to enhance this integration further, adding AI features to support various virtual appointment scenarios, making the process even more streamlined and effective.
+
+For more information, see [Virtual Rooms overview > How to conduct calls in Virtual Rooms](./concepts/rooms/room-concept.md#how-to-conduct-calls-in-virtual-rooms).
+
+#### Rich text support
+
+Azure Communication Services Chat now supports Rich Text Editor and inline image upload in both the Chat SDK and Web UI library. With this release, the chat experience is more dynamic and visually appealing. The following features are now available:
+
+- Different text styles, including bold, italic, and underline, to make messages stand out.
+- The ability to create bulleted and numbered lists for better organization.
+- Options to adjust text indent for improved readability.
+- The ability to add and update tables to better structure data.
+
+The Web UI library also now supports the Rich Text Editor in both the ChatComposite and the CallWithChatComposite.
+
+##### ChatComposite
++
+##### CallWithChatComposite
++
+To get started:
+
+- [Rich Text Send Box](https://azure.github.io/communication-ui-library/?path=/story/components-sendbox-rich-text-send-box--rich-text-send-box).
+- Rich Text Editor Support for [ChatComposite](https://azure.github.io/communication-ui-library/?path=/story/composites-chatcomposite-rich-text-editor-example--rich-text-editor-example).
+- Or check our storybook on [aka.ms/acsstorybook](https://aka.ms/acsstorybook).
+
+## July 2024
+
+### Closed Captions - Native UI Library
+
+Closed Captions are now generally available in the Native UI Library for Android and iOS. This feature applies to a range of scenarios in which closed captions are essential, enhancing the experience for users with hearing impairments and ensuring inclusivity.
++
+Closed Captions in the Native UI library streamline the integration between Azure Communication Services and Microsoft Teams, making it easier for users to connect and collaborate seamlessly. It simplifies the process and enhances the user experience.
+
+For example, a multinational law firm with a diverse workforce can use closed captions during video conferences to ensure that all employees, regardless of language ability or hearing ability, can fully take part. For example, in meetings involving complex legal discussions, closed captions can help non-native speakers follow along more easily. Additionally, the firm can use this feature during interop scenarios with Microsoft Teams, ensuring seamless communication with clients and partners.
+
+For more information, see:
+
+- [Enable Closed captions using the UI Library](./how-tos/ui-library-sdk/closed-captions.md)
+- [Azure Communication Services Closed Captions overview](./concepts/voice-video-calling/closed-captions.md)
+
+### Rooms roles and capabilities - Native UI Library
+
+The Native UI Library for Android and iOS now includes Rooms Integration in general availability, offering enhanced roles and capabilities for call participants. This integration offers customers greater flexibility and control over their calls, keeping the management on the customer side.
+
+Consider a corporation hosting a virtual town hall meeting with employees worldwide. With Rooms Integration, the company can assign roles such as presenter, attendees and, consumer, ensuring a structured and organized meeting environment. This setup is crucial for keeping order in large meetings, allowing for efficient information dissemination and productive Q&A sessions, enhancing organizational communication and engagement.
+
+To understand how to configure a standard Rooms architecture for validating role assignments and creation, see the following diagram.
++
+The Rooms API enables developers to create rooms, manage users, and adjust the lifetime of rooms. The Rooms API is a back-end service separate from the UI Library.
+
+For more information, see:
+
+- [UI Library use cases > Rooms integration](./concepts/ui-library/ui-library-use-cases.md#rooms-integration)
+- [Azure Communication Services Rooms overview](./concepts/rooms/room-concept.md)
+
+### File sharing in Teams meetings
+
+Now in general availability, share files during a Microsoft Teams meeting with Azure Communication Services Chat service. File sharing enables participants to share documents required for daily business needs such as product information, brochures, or follow-up care instructions.
++
+Use this function to enhance the experience in Teams meetings. File sharing makes it easier for users to collaborate over documents and ask clarifying questions as needed to finish business processes. Business processes can include opening an account, going over results, providing prescriptions or follow up care instructions, and many other scenarios.
+
+For more information, see:
+
+- [Enable file sharing during a Teams meeting](./tutorials/file-sharing-tutorial-interop-chat.md)
+- [Call with Chat composite - UI library](https://azure.github.io/communication-ui-library/?path=/docs/composites-callwithchatcomposite--docs)
+
+### Support for Teams Breakout rooms
+
+The JavaScript Calling SDK now supports Microsoft Teams Breakout rooms in public preview. Azure Communication Services native participants and Microsoft 365 participants using the Calling SDK can participate in Teams meetings breakout rooms. Support for Teams Breakout rooms brings more flexibility and collaboration opportunities to your virtual meetings.
++
+#### What are Breakout Rooms
+
+Teams Breakout rooms enable meeting facilitators to create separate, smaller sessions within a larger Teams meeting. This feature is useful for various scenarios, such as:
+
+- **Healthcare:** During a group virtual visit with healthcare providers, the meeting organizer can assign patients to breakout rooms to discuss specific areas before reconvening in the larger group session. Healthcare providers can visit each breakout room to check in with patients individually.
+
+- **Legal:** In a virtual courtroom hearing, a defendant and their attorney can join a breakout room for a private side-bar conversation.
+
+- **Conferences:** During a virtual industry conference, the meeting organizer can place attendees into separate discussion groups with focused subjects, before coming back to the larger meeting to share insights with the broader audience.
+
+#### How does it work
+
+Microsoft Teams users can create breakout rooms for scheduled meetings. Meeting organizers can assign Calling SDK participants to individual breakout rooms. Participants can seamlessly join and move between breakout rooms and the main meeting, just like any other Teams user.
+
+#### Why is this important
+
+The ability to include ACS users in Teams breakout rooms enhances the collaborative experience, making it more inclusive and versatile. Whether you're conducting a training session, hosting a workshop, or facilitating a brainstorming session, breakout rooms provide the structure needed to foster meaningful interactions and productive discussions.
+
+#### Get started today
+To start using this feature, ensure that you have the latest version of the Calling SDK. For more information about implementing and using Teams Breakout rooms, see [Tutorial - Integrate Microsoft Teams breakout rooms](./how-tos/calling-sdk/breakoutrooms.md).
+
+### End of call survey - native
+
+The End of Call Survey enables developers to customize questions to collect feedback at the end of a call. This feature is in general availability. By gathering valuable insights directly from users, developers can make informed decisions to enhance their services effectively. This feature is now generally available for Android, iOS, and Windows platforms.
+
+Imagine a healthcare provider using this feature to gather feedback after telemedicine consultations. By customizing questions to inquire about the clarity of communication, ease of access, and satisfaction with medical advice, the provider can quickly identify areas needing improvement. This immediate, specific feedback helps the provider enhance patient care quality, streamline operations, and increase patient satisfaction.
+
+For more information, see:
+
+[End of Call Survey](./concepts/voice-video-calling/end-of-call-survey-concept.md)
+[Tutorial: End of Call Survey](./tutorials/end-of-call-survey-tutorial.md)
+
+### Transfer to voicemail
+
+Now in general availability, Microsoft Teams organizers can configure call participants to transferred directly into a Teams userΓÇÖs voicemail, bypassing ringing the Teams user. This is useful when the transferor knows the transferee is unavailable to take the call.
+
+For more information, see [Transfer calls](./how-tos/calling-sdk/transfer-calls.md#transfer-to-voicemail).
+ ## May 2024 ### Data retention with chat threads
For more information, see [Call Diagnostics](./concepts/voice-video-calling/call
Developers can take advantage of calling interoperability for Microsoft Teams users in Azure Communication Services calling workflows. This feature is now in general availability.
-Developers can use [Call Automation APIs](./concepts/call-automation/call-automation.md) to bring Teams users into business-to-consumer (B2C) calling workflows and interactions, which helps you deliver advanced customer service solutions. This interoperability is offered over VoIP to reduce telephony infrastructure overhead. Developers can add Teams users to Azure Communication Services calls by using the participants' Microsoft Entra object IDs (OIDs).
+Developers can use [Call Automation APIs](./concepts/call-automation/call-automation.md) to bring Teams users into business-to-consumer (B2C) calling workflows and interactions, which can help you deliver advanced customer service solutions. This interoperability is offered over VoIP to reduce telephony infrastructure overhead. Developers can add Teams users to Azure Communication Services calls by using the participants' Microsoft Entra object IDs (OIDs).
#### Use cases
Closed captions are never saved and are visible only to the user who enabled the
For more information, see [Closed captions overview](./concepts/voice-video-calling/closed-captions.md).
-## December 2023
-
-### Call Diagnostics
-
-Azure Communication Services Call Diagnostics is available in preview. Call Diagnostics helps developers troubleshoot and improve their applications for voice and video calling.
--
-Call Diagnostics is an Azure Monitor experience that offers specialized telemetry and diagnostic pages in the Azure portal. With Call Diagnostics, you can access and analyze data, visualizations, and insights for each call. Then you can identify and resolve issues that affect the user experience.
-
-Call Diagnostics works with other Azure Communication Services features, such as noise suppression and pre-call troubleshooting, to deliver reliable video-calling experiences that are easy to develop and operate.
-
-For more information, see [Call Diagnostics](./concepts/voice-video-calling/call-diagnostics.md).
-
-### WebJS Calling updates
-
-The following APIs for WebJS Calling features moved to general availability: Media Quality Statistics, Video Constraints, and Data Channel.
-
-#### Media Quality Statistics
-
-Developers can use the Media Quality Statistics API to better understand their video-calling quality and reliability experience in real time from within the Calling SDK. When developers understand from the client side what their customers are experiencing, they can delve deeper into understanding and mitigating any problems that arise for users.
-
-For more information, see [Media quality statistics](./concepts/voice-video-calling/media-quality-sdk.md).
-
-#### Video Constraints
-
-Developers can use the Video Constraints API to better manage the overall quality of calls. For example, if a developer knows that a participant has a poor internet connection, the developer can limit video resolution size on the sender side to use less bandwidth. The result is an improved calling experience for the participant.
-
-For more information about improving the calling experience by using the Video Constraints API, see [Quickstart: Set video constraints in your calling app](./quickstarts/voice-video-calling/get-started-video-constraints.md).
-
-#### Data Channel
-
-The Data Channel API enables real-time messaging during audio and video calls. This function enables developers to manage their own data pipeline and send their own unique messages to remote participants on a call. A data channel enhances communication capabilities by enabling local participants to connect directly to remote participants when the scenario requires it.
-
-Get started with [Quickstart: Add Data Channel messaging to your calling app](./quickstarts/voice-video-calling/get-started-data-channel.md).
- ## Related content - For a complete list of new features and bug fixes, see the [releases page](https://github.com/Azure/Communication/releases) on GitHub.
container-apps Authentication Facebook https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/authentication-facebook.md
Previously updated : 04/06/2022 Last updated : 10/14/2022 # Enable authentication and authorization in Azure Container Apps with Facebook
-This article shows how to configure Azure Container Apps to use Facebook as an authentication provider.
+This article explains how to configure Azure Container Apps to use Facebook as an authentication provider.
-To complete the procedure in this article, you need a Facebook account that has a verified email address and a mobile phone number. To create a new Facebook account, go to [facebook.com](https://facebook.com/).
+To follow the procedure in this article, you need a Facebook account with a verified email address and a mobile phone number. To create a new Facebook account, go to [facebook.com](https://facebook.com/).
## <a name="facebook-register"> </a>Register your application with Facebook
To complete the procedure in this article, you need a Facebook account that has
1. In the **App Secret** field, select **Show**. Copy the values of **App ID** and **App Secret**. You use them later to configure your container app in Azure. > [!IMPORTANT]
- > The app secret is an important security credential. Do not share this secret with anyone or distribute it within a client application.
+ > The app secret is a critical security credential. Don't share this secret with anyone or distribute it within a client application.
> 1. The Facebook account that you used to register the application is an administrator of the app. At this point, only administrators can sign in to this application.
To complete the procedure in this article, you need a Facebook account that has
1. Select **Authentication** in the menu on the left. Select **Add identity provider**. 1. Select **Facebook** in the identity provider dropdown. Paste in the App ID and App Secret values that you obtained previously.
- The secret will be stored as a [secret](manage-secrets.md) in your container app.
+ The secret is stored as a [secret](manage-secrets.md) in your container app.
-1. If you're configuring the first identity provider for this application, you'll be prompted with a **Container Apps authentication settings** section. Otherwise, you may move on to the next step.
+1. If you're configuring the first identity provider for this application, you're prompted with a **Container Apps authentication settings** section. Otherwise, you might move on to the next step.
These options determine how your application responds to unauthenticated requests. The default selections redirect all requests to sign in with this new provider. You can change customize this behavior now or adjust these settings later from the main **Authentication** screen by choosing **Edit** next to **Authentication settings**. To learn more about these options, see [Authentication flow](authentication.md#authentication-flow). 1. (Optional) Select **Next: Scopes** and add any scopes needed by the application. These scopes are requested when a user signs in for browser-based flows. 1. Select **Add**.
-You're now ready to use Facebook for authentication in your app. The provider will be listed on the **Authentication** screen. From there, you can edit or delete this provider configuration.
+You're now ready to use Facebook for authentication in your app. The provider is listed on the **Authentication** screen. From there, you can edit or delete this provider configuration.
## Working with authenticated users
container-apps Authentication Openid https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/authentication-openid.md
Previously updated : 04/20/2022 Last updated : 10/14/2024 # Enable authentication and authorization in Azure Container Apps with a Custom OpenID Connect provider
-This article shows you how to configure Azure Container Apps to use a custom authentication provider that adheres to the [OpenID Connect specification](https://openid.net/connect/). OpenID Connect (OIDC) is an industry standard used by many identity providers (IDPs). You don't need to understand the details of the specification in order to configure your app to use an adherent IDP.
+This article shows you how to configure Azure Container Apps to use a custom authentication provider that adheres to the [OpenID Connect specification](https://openid.net/connect/). OpenID Connect (OIDC) is an industry standard widely adopted by many identity providers (IDPs). You don't need to understand the details of the specification in order to configure your app to use an adherent IDP.
You can configure your app to use one or more OIDC providers. Each must be given a unique alphanumeric name in the configuration, and only one can serve as the default redirect target. ## <a name="openid-register"> </a>Register your application with the identity provider
-Your provider will require you to register the details of your application with it. One of these steps involves specifying a redirect URI. This redirect URI will be of the form `<app-url>/.auth/login/<provider-name>/callback`. Each identity provider should provide more instructions on how to complete these steps.
+Your provider requires you to register the details of your application with it. One of these steps involves specifying a redirect URI. This redirect URI is of the form `<app-url>/.auth/login/<provider-name>/callback`. Each identity provider should provide more instructions on how to complete these steps.
> [!NOTE] > Some providers may require additional steps for their configuration and how to use the values they provide. For example, Apple provides a private key which is not itself used as the OIDC client secret, and you instead must use it craft a JWT which is treated as the secret you provide in your app config (see the "Creating the Client Secret" section of the [Sign in with Apple documentation](https://developer.apple.com/documentation/sign_in_with_apple/generate_and_validate_tokens)) >
-You'll need to collect a **client ID** and **client secret** for your application.
+You need to collect a **client ID** and **client secret** for your application.
> [!IMPORTANT]
-> The client secret is an important security credential. Do not share this secret with anyone or distribute it within a client application.
+> The client secret is a critical security credential. Do not share this secret with anyone or distribute it within a client application.
>
-Additionally, you'll need the OpenID Connect metadata for the provider. This information is often exposed via a [configuration metadata document](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig), which is the provider's Issuer URL suffixed with `/.well-known/openid-configuration`. Gather this configuration URL.
+Additionally, you need the OpenID Connect metadata for the provider. This information is often exposed via a [configuration metadata document](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig), which is the provider's Issuer URL suffixed with `/.well-known/openid-configuration`. Make sure to gather this configuration URL.
-If you're unable to use a configuration metadata document, you'll need to gather the following values separately:
+If you're unable to use a configuration metadata document, you need to gather the following values separately:
- The issuer URL (sometimes shown as `issuer`) - The [OAuth 2.0 Authorization endpoint](https://tools.ietf.org/html/rfc6749#section-3.1) (sometimes shown as `authorization_endpoint`)
If you're unable to use a configuration metadata document, you'll need to gather
1. Provide the earlier collected **Client ID** and **Client Secret** in the appropriate fields.
-1. Specify an application setting name for your client secret. Your client secret will be stored as a [secret](manage-secrets.md) in your container app.
+1. Specify an application setting name for your client secret. Your client secret is stored as a [secret](manage-secrets.md) in your container app.
1. Press the **Add** button to finish setting up the identity provider.
container-apps Deploy Visual Studio https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/deploy-visual-studio.md
Previously updated : 3/04/2022 Last updated : 10/14/2024
Azure Container Apps enables you to run microservices and containerized applications on a serverless platform. With Container Apps, you enjoy the benefits of running containers while leaving behind the concerns of manually configuring cloud infrastructure and complex container orchestrators.
-In this tutorial, you'll deploy a containerized ASP.NET Core 6.0 application to Azure Container Apps using Visual Studio. The steps below also apply to earlier versions of ASP.NET Core.
+In this tutorial, you deploy a containerized ASP.NET Core 8.0 application to Azure Container Apps using Visual Studio. The steps below also apply to earlier versions of ASP.NET Core.
## Prerequisites
In this tutorial, you'll deploy a containerized ASP.NET Core 6.0 application to
## Create the project
-Begin by creating the containerized ASP.NET Core application to deploy to Azure.
+Begin by creating the containerized ASP.NET Core application.
-1) Inside Visual Studio, select **File** and then choose **New => Project**.
+1) In Visual Studio, select **File** and then choose **New => Project**.
2) In the dialog window, search for *ASP.NET*, and then choose **ASP.NET Core Web App** and select **Next**. 3) In the **Project Name** field, name the application *MyContainerApp* and then select **Next**.
-4) On the **Additional Information** screen, make sure to select **Enable Docker**, and then make sure **Linux** is selected for the **Docker OS** setting. Azure Container Apps currently does not support Windows containers. This selection ensures the project template supports containerization by default. While enabled, the project uses a container as it is running or building.
+4) On the **Additional Information** screen, make sure to select **Enable Docker**, and then make sure **Linux** is selected for the **Docker OS** setting. Azure Container Apps currently doesn't support Windows containers. This selection ensures the project template supports containerization by default. While enabled, the project uses a container as it is running or building.
5) Click **Create** and Visual Studio creates and loads the project.
Begin by creating the containerized ASP.NET Core application to deploy to Azure.
## Deploy to Azure Container Apps
-The application includes a Dockerfile because the Enable Docker setting was selected in the project template. Visual Studio uses the Dockerfile to build the container image that is run by Azure Container Apps.
+The application includes a Dockerfile because the project template had the *Enable Docker* setting selected. Visual Studio uses the Dockerfile to build the container image that the Azure Container Apps run.
Refer to [How Visual Studio builds containerized apps](/visualstudio/containers/container-build) if you'd like to learn more about the specifics of this process.
-You are now ready to deploy to the application to Azure Containers Apps.
+You're now ready to deploy to the application to Azure Containers Apps.
### Create the resources
-The Visual Studio publish dialogs will help you choose existing Azure resources, or create new ones to be used to deploy your applications to. It will also build the container image using the Dockerfile in the project, push this image to ACR, and finally deploy the new image to the container app selected.
+The publish dialog windows in Visual Studio help you choose existing Azure resources, or allow you to create new ones for deployment. This process also builds the container image, pushes the image to Azure Container Registry (ACR), and deploys the new container app image.
1) Right-click the **MyContainerApp** project node and select **Publish**.
The Visual Studio publish dialogs will help you choose existing Azure resources,
:::image type="content" source="media/visual-studio/container-apps-publish-azure.png" alt-text="A screenshot showing Container Apps selected.":::
-5) Next, create an Azure Container App to host the project. Select the **green plus icon** on the right to open the create dialog. In the *Create new* dialog, enter the following values:
+5) Next, create an Azure Container App to host the project. Select the **green plus icon** on the right to open the *Create new* dialog. In the *Create new* dialog, enter the following values:
- **Container App name**: Enter a name of `msdocscontainerapp`. - **Subscription name**: Choose the subscription where you would like to host your app.
- - **Resource group**: A resource group acts as a logical container to organize related resources in Azure. You can either select an existing resource group, or select **New** to create one with a name of your choosing, such as `msdocscontainerapps`.
- - **Container Apps Environment**: Container Apps Environment: Every container app must be part of a container app environment. An environment provides an isolated network for one or more container apps, making it possible for them to easily invoke each other. Click **New** to open the Create new dialog for your container app environment. Leave the default values and select **OK** to close the environment dialog.
- - **Container Name**: This is the friendly name of the container that will run for this container app. Use the name `msdocscontainer1` for this quickstart. A container app typically runs a single container, but there are times when having more than one container is needed. One such example is when a sidecar container is required to perform an activity such as specialized logging or communications.
+ - **Resource group**: A resource group acts as a logical container to organize related resources in Azure. You can either select an existing resource group, or select **New** to create one with a name of your choosing, such as `msdocscontainerapps`.
+ - **Container Apps Environment**: Container Apps Environment: Every container app must be part of a container app environment. An environment provides an isolated network for one or more container apps, making it possible for them to easily invoke each other. Click **New** to open the Create new dialog for your container app environment. Leave the default values and select **OK** to close the environment dialog.
+ - **Container Name**: This is the friendly name of the container that runs for this container app. Use the name `msdocscontainer1` for this quickstart. A container app typically runs a single container, but there are times when having more than one container is needed. One such example is when a sidecar container is required to perform an activity such as specialized logging or communications.
:::image type="content" source="media/visual-studio/container-apps-create-new.png" alt-text="A screenshot showing how to create new Container Apps.":::
-6) Select **Create** to finalize the creation or your container app. Visual Studio and Azure create the needed resources on your behalf. This process may take a couple minutes, so allow it to run to completion before moving on.
+6) Select **Create** to finalize the creation or your container app. Visual Studio and Azure create the needed resources on your behalf. This process may take a couple minutes, so allow it to run to completion before moving on.
7) Once the resources are created, choose **Next**. :::image type="content" source="media/visual-studio/container-apps-select-resource.png" alt-text="A screenshot showing how to select the created resource.":::
-8) On the **Registry** screen, you can either select an existing Registry if you have one, or create a new one. To create a new one, click the green **+** icon on the right. On the **Create new** registry screen, fill in the following values:
+8) On the **Registry** screen, you can either select an existing Registry if you have one, or create a new one. To create a new one, click the green **+** icon on the right. On the *Create new* registry screen, fill in the following values:
- **DNS prefix**: Enter a value of `msdocscontainerregistry` or a name of your choosing.
- - **Subscription Name**: Select the subscription you want to use - you may only have one to choose from.
+ - **Subscription Name**: Select the subscription you want to use - you might only have one to choose from.
- **Resource Group**: Choose the msdocs resource group you created previously. - **Sku**: Select **Standard**. - **Registry Location**: Select a region that is geographically close to you. :::image type="content" source="media/visual-studio/container-apps-registry.png" alt-text="A screenshot showing how to create the container registry.":::
-9) After you have populated these values, select **Create**. Visual Studio and Azure will take a moment to create the registry.
+9) Once you populate these values, select **Create**. Visual Studio and Azure take a moment to create the registry.
-10) Once the container registry is created, make sure it is selected, and then choose **Finish**. Visual Studio will take a moment to create the publish profile. This publish profile is where VS stores the publish options and resources you chose so you can quickly publish again whenever you want. You can close the dialog once it finishes.
+10) Once the container registry is created, make sure it's selected, and then choose **Finish**. Visual Studio takes a moment to create the publish profile. This publish profile is where Visual Studio stores the publish options and resources you chose so you can quickly publish again whenever you want. You can close the dialog once it finishes.
:::image type="content" source="media/visual-studio/container-apps-choose-registry.png" alt-text="A screenshot showing how select the created registry.":::
The Visual Studio publish dialogs will help you choose existing Azure resources,
While the resources and publishing profile are created, you still need to publish and deploy the app to Azure.
-Choose **Publish** in the upper right of the publishing profile screen to deploy to the container app you created in Azure. This process may take a moment, so wait for it to complete.
+Choose **Publish** in the upper right of the publishing profile screen to deploy to the container app you created in Azure. This process might take a moment, so wait for it to complete.
:::image type="content" source="media/visual-studio/container-apps-publish.png" alt-text="A screenshot showing how to publish the app.":::
-When the app finishes deploying, Visual Studio opens a browser to the URL of your deployed site. This page may initially display an error if all of the proper resources have not finished provisioning. You can continue to refresh the browser periodically to check if the deployment has fully completed.
+When the app finishes deploying, Visual Studio opens a browser to the URL of your deployed site. This page might initially display an error if all of the proper resources don't finish provisioning. You can continue to refresh the browser periodically to check if the deployment fully completes.
:::image type="content" source="media/visual-studio/container-apps-site.png" alt-text="A screenshot showing the published site."::: ### Publish the app using GitHub Actions
-Container Apps can also be deployed using CI/CD through [GitHub actions](https://docs.github.com/en/actions), which are a powerful tool for automating, customizing, and executing development workflows directly through the GitHub repository of your project.
+Container Apps can also be deployed using CI/CD through [GitHub Actions](https://docs.github.com/en/actions). GitHub Actions is a powerful tool for automating, customizing, and executing development workflows directly through the GitHub repository of your project.
-If Visual Studio detects the project you are publishing is hosted in GitHub, the publish flow presents an additional **Deployment type** step. This stage allows developers to choose whether to publish directly through Visual Studio using the steps shown earlier in the quickstart, or through a GitHub Actions workflow.
+If Visual Studio detects the project you're publishing is hosted in GitHub, the publish flow presents an additional **Deployment type** step. This stage allows developers to choose whether to publish directly through Visual Studio using the steps shown earlier in the quickstart, or through a GitHub Actions workflow.
:::image type="content" source="media/visual-studio/container-apps-deployment-type.png" alt-text="A screenshot showing the deployment type.":::
-If you select the GitHub Actions workflow, Visual Studio will add a *.github* folder to the root directory of the project, along with a generated YAML file inside of it. The YAML file contains GitHub Actions configurations to build and deploy your app to Azure every time you push your code.
+If you select the GitHub Actions workflow, Visual Studio creates a *.github* folder to the root directory of the project, along with a generated YAML file inside of it. The YAML file contains GitHub Actions configurations to build and deploy your app to Azure every time you push your code.
-After you make a change and push your code, you can see the progress of the build and deploy process in GitHub under the **Actions** tab. This page provides detailed logs and indicators regarding the progress and health of the workflow.
+After you make a change and push your code, you can see the progress of the build and deploy process in GitHub under the **Actions** tab. This page provides detailed logs and indicators regarding the progress and health of the workflow.
:::image type="content" source="media/visual-studio/container-apps-github-actions.png" alt-text="A screenshot showing GitHub actions.":::
-Once you see a green checkmark next to the build and deploy jobs the workflow is complete. When you browse to your Container Apps site you should see the latest changes applied. You can always find the URL for your container app using the Azure portal page.
+The workflow is complete when you see a green checkmark next to the build and deploy jobs. When you browse to your Container Apps site, you should see the latest changes applied. You can always find the URL for your container app using the Azure portal page.
## Clean up resources
-If you're not going to continue to use this application, you can delete the Azure Container Apps instance and all the associated services by removing the resource group.
+If you no longer plan to use this application, you can delete the Azure Container Apps instance and all the associated services by removing the resource group.
-Follow these steps in the Azure portal to remove the resources you created:
+To remove the resources you created, follow these steps in the Azure portal:
1. Select the **msdocscontainerapps** resource group from the *Overview* section. 1. Select the **Delete resource group** button at the top of the resource group *Overview*. 1. Enter the resource group name **msdocscontainerapps** in the *Are you sure you want to delete "my-container-apps"* confirmation dialog. 1. Select **Delete**.
- The process to delete the resource group may take a few minutes to complete.
+ The process to delete the resource group might take a few minutes to complete.
> [!TIP] > Having issues? Let us know on GitHub by opening an issue in the [Azure Container Apps repo](https://github.com/microsoft/azure-container-apps).
container-apps Get Started Existing Container Image Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/get-started-existing-container-image-portal.md
Previously updated : 12/13/2021 Last updated : 10/14/2024 zone_pivot_groups: container-apps-registry-types
In the *Basics* tab, do the following actions.
||| | Subscription | Select your Azure subscription. | | Resource group | Select **Create new** and enter **my-container-apps**. |
-| Container app name | Enter **my-container-app**. |
+| Container app name | Enter **my-container-app**. |
#### Create an environment
If you enabled ingress, configure the following settings:
Next, the settings in the Container App are verified. If no errors are found, the *Create* button is enabled.
- If there are errors, any tab containing errors is marked with a red dot. Navigate to the appropriate tab. Fields containing an error will be highlighted in red. Once all errors are fixed, select **Review and create** again.
+ If there are errors, any tab containing errors is marked with a red dot. Navigate to the appropriate tab. Fields containing an error is highlighted in red. Once all errors are fixed, select **Review and create** again.
1. Select **Create**.
- A page with the message *Deployment is in progress* is displayed. Once the deployment is successfully completed, you'll see the message: *Your deployment is complete*.
+ A page with the message *Deployment is in progress* is displayed. Once the deployment is successfully completed, you see the message: *Your deployment is complete*.
### Verify deployment
-You can verify your deployment is successful by querying the Log Analytics workspace. You may need to wait a 5 to 10 minutes for the analytics to arrive for the first time before you are able to query the logs.
+You can verify your deployment is successful by querying the Log Analytics workspace. You might need to wait a 5 to 10 minutes for the analytics to arrive for the first time before you're able to query the logs.
-After about 5 to 10 minutes has passed after creating the container app, use the following steps to view logged messages.
+After 5 to 10 minutes of creating the container app, follow these steps to view logged messages:
1. Select **Go to resource** to view your new container app. 1. Select **Logs** under the *Monitoring* header.
If you're not going to continue to use this application, you can delete the Azur
1. Select the **Delete resource group** button at the top of the resource group *Overview*. 1. Enter the resource group name **my-container-apps** in the *Are you sure you want to delete "my-container-apps"* confirmation dialog. 1. Select **Delete**.
- The process to delete the resource group may take a few minutes to complete.
+ The process to delete the resource group might take a few minutes to complete.
> [!TIP] > Having issues? Let us know on GitHub by opening an issue in the [Azure Container Apps repo](https://github.com/microsoft/azure-container-apps).
container-apps Tutorial Ci Cd Runners Jobs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/tutorial-ci-cd-runners-jobs.md
Previously updated : 10/10/2024 Last updated : 10/16/2024 zone_pivot_groups: container-apps-jobs-self-hosted-ci-cd
To run a self-hosted runner, you need to create a personal access token (PAT) in
AZP_TOKEN="<AZP_TOKEN>" ORGANIZATION_URL="<ORGANIZATION_URL>" AZP_POOL="container-apps"
+ REGISTRATION_TOKEN_API_URL="<YOUR_REGISTRATION_TOKEN_API_URL>"
``` # [Azure PowerShell](#tab/azure-powershell)
To run a self-hosted runner, you need to create a personal access token (PAT) in
$AZP_TOKEN="<AZP_TOKEN>" $ORGANIZATION_URL="<ORGANIZATION_URL>" $AZP_POOL="container-apps"
+ $REGISTRATION_TOKEN_API_URL="<YOUR_REGISTRATION_TOKEN_API_URL>"
```
To run a self-hosted runner, you need to create a personal access token (PAT) in
|||| | `<AZP_TOKEN>` | The Azure DevOps PAT you generated. | | | `<ORGANIZATION_URL>` | The URL of your Azure DevOps organization. Make sure no trailing `/` is present at the end of the URL. | For example, `https://dev.azure.com/myorg` or `https://myorg.visualstudio.com`. |
+ | `<YOUR_REGISTRATION_TOKEN_API_URL>` | The registration token API URL in the *entrypoint.sh* file. | For example, 'https://myapi.example.com/get-token' |
## Build the Azure Pipelines agent container image
cost-management-billing Understand Cost Mgt Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cost-management-billing/costs/understand-cost-mgt-data.md
description: This article helps you better understand data included in Cost Management. It also explains how frequently data is processed, collected, shown, and closed. Previously updated : 09/10/2024 Last updated : 10/16/2024
_┬▓ Historical data for credit-based and pay-in-advance subscriptions might not
_┬│ Quota IDs are the same across Microsoft Customer Agreement and classic subscription offers. Classic Cloud Solution Provider (CSP) subscriptions aren't supported._
-The following offers aren't supported yet:
+The following offers aren't supported:
| **Category** | **Offer name** | **Quota ID** | **Offer number** | | | | | |
+| **Enterprise Agreement (EA)** | EA Azure Sponsorship | | MS-AZR-0136P |
| **Cloud Solution Provider (CSP)** | Microsoft Azure | CSP_2015-05-01 | MS-AZR-0145P | | **Cloud Solution Provider (CSP)** | Azure Government CSP | CSP_2015-05-01 | MS-AZR-USGOV-0145P | | **Cloud Solution Provider (CSP)** | Azure Germany in CSP for Microsoft Cloud Germany | CSP_2015-05-01 | MS-AZR-DE-0145P |
data-factory Connector Deprecation Plan https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/data-factory/connector-deprecation-plan.md
Previously updated : 10/15/2024 Last updated : 10/16/2024 # Planned connector deprecations for Azure Data Factory
This article describes future deprecations for some connectors of Azure Data Fac
| [Salesforce (legacy)](connector-salesforce-legacy.md)   | [Link](connector-salesforce.md#upgrade-the-salesforce-linked-service) | End of support announced and new version available | To be determined | /| | [Salesforce Service Cloud (legacy)](connector-salesforce-service-cloud-legacy.md)   | [Link](connector-salesforce-service-cloud.md#upgrade-the-salesforce-service-cloud-linked-service) | End of support announced and new version available | To be determined |/ | | [PostgreSQL (legacy)](connector-postgresql-legacy.md)   | [Link](connector-postgresql.md#upgrade-the-postgresql-linked-service)| End of support announced and new version available |October 31, 2024 | / |
-| [ServiceNow (legacy)](connector-servicenow-legacy.md)   | [Link](connector-servicenow.md#upgrade-your-servicenow-linked-service) | End of support announced and new version available | December 31, 2024 | / |
+| [ServiceNow (legacy)](connector-servicenow-legacy.md)   | [Link](connector-servicenow.md#upgrade-your-servicenow-linked-service) | End of support announced and new version available | To be determined | / |
| [Snowflake (legacy)](connector-snowflake-legacy.md)   | [Link](connector-snowflake.md#upgrade-the-snowflake-linked-service) | End of support announced and new version available | To be determined | / | | [Azure Database for MariaDB](connector-azure-database-for-mariadb.md) |/ | End of support announced |December 31, 2024 | December 31, 2024 | | [Concur (Preview)](connector-concur.md) |/ | End of support announced | December 31, 2024 | December 31, 2024 |
data-factory Connector Servicenow Legacy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/data-factory/connector-servicenow-legacy.md
Previously updated : 09/26/2024 Last updated : 10/16/2024 # Copy data from ServiceNow using Azure Data Factory or Synapse Analytics (legacy)
Last updated 09/26/2024
This article outlines how to use the Copy Activity in Azure Data Factory and Synapse Analytics pipelines to copy data from ServiceNow. It builds on the [copy activity overview](copy-activity-overview.md) article that presents a general overview of copy activity. >[!IMPORTANT]
->The new ServiceNow connector provides improved native ServiceNow support. If you are using the legacy ServiceNow connector in your solution, please [upgrade your ServiceNow connector](connector-servicenow.md#upgrade-your-servicenow-linked-service) before **December 31, 2024**. Refer to this [section](connector-servicenow.md#differences-between-servicenow-and-servicenow-legacy) for details on the difference between the legacy and latest version.
+>The new ServiceNow connector provides improved native ServiceNow support. If you are using the legacy ServiceNow connector in your solution, you are recommended to [upgrade your ServiceNow connector](connector-servicenow.md#upgrade-your-servicenow-linked-service) at your earliest convenience. Refer to this [section](connector-servicenow.md#differences-between-servicenow-and-servicenow-legacy) for details on the difference between the legacy and latest version.
## Supported capabilities
data-factory Connector Servicenow https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/data-factory/connector-servicenow.md
Previously updated : 09/30/2024 Last updated : 10/16/2024 # Copy data from ServiceNow using Azure Data Factory or Synapse Analytics
Last updated 09/30/2024
This article outlines how to use the Copy Activity in Azure Data Factory and Synapse Analytics pipelines to copy data from ServiceNow. It builds on the [copy activity overview](copy-activity-overview.md) article that presents a general overview of copy activity. >[!IMPORTANT]
->The new ServiceNow connector provides improved native ServiceNow support. If you are using the legacy ServiceNow connector in your solution, please [upgrade your ServiceNow connector](#upgrade-your-servicenow-linked-service) before **December 31, 2024**. Refer to this [section](#differences-between-servicenow-and-servicenow-legacy) for details on the difference between the legacy and latest version.
+>The new ServiceNow connector provides improved native ServiceNow support. If you are using the legacy ServiceNow connector in your solution, you are recommended to [upgrade your ServiceNow connector](#upgrade-your-servicenow-linked-service) at your earliest convenience. Refer to this [section](#differences-between-servicenow-and-servicenow-legacy) for details on the difference between the legacy and latest version.
## Supported capabilities
digital-twins Quickstart 3D Scenes Studio https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/digital-twins/quickstart-3d-scenes-studio.md
The scene will look like this:
You'll need an Azure subscription to complete this quickstart. If you don't have one already, [create one for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) now.
-You'll also need to download a sample glTF (Graphics Language Transmission Format) 3D file to use for the scene in this quickstart. [Select this link to download RobotArms.glb](https://cardboardresources.blob.core.windows.net/public/RobotArms.glb).
+You'll also need to download a sample glTF (Graphics Language Transmission Format) 3D file to use for the scene in this quickstart. Download the following sample file from GitHub: [RobotArms.glb](https://github.com/Azure-Samples/azure-digital-twins-getting-started/blob/main/3dscenes/RobotArms.glb).
## Set up Azure Digital Twins and sample data
dns Dns Private Resolver Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/dns/dns-private-resolver-overview.md
Outbound endpoints have the following limitations:
### Ruleset restrictions - Rulesets can have up to 1000 rules.
+- Cross-tenant linking of Rulesets is not supported.
### Other restrictions
event-grid Publish Iot Hub Events To Logic Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/event-grid/publish-iot-hub-events-to-logic-apps.md
Title: Tutorial - Use IoT Hub events to trigger Azure Logic Apps description: This tutorial shows how to use the event routing service of Azure Event Grid, create automated processes to perform Azure Logic Apps actions based on IoT Hub events. -+ Last updated 09/14/2020
iot-central Concepts Architecture https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/concepts-architecture.md
Last updated 06/13/2024 -+
iot-central Concepts Device Authentication https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/concepts-device-authentication.md
Last updated 03/01/2024 -+
iot-central Concepts Device Implementation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/concepts-device-implementation.md
Last updated 10/14/2024 -+
iot-central Concepts Device Templates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/concepts-device-templates.md
Last updated 07/12/2024 -+ # This article applies to device developers and solution builders.
iot-central Concepts Iot Edge https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/concepts-iot-edge.md
Last updated 03/04/2024 -+
iot-central Concepts Private Endpoints https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/concepts-private-endpoints.md
Last updated 05/22/2023 -+
iot-central Concepts Quotas Limits https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/concepts-quotas-limits.md
Last updated 06/17/2024 -+
iot-central How To Connect Devices X509 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/how-to-connect-devices-x509.md
Last updated 03/01/2024 -+ zone_pivot_groups: programming-languages-set-ten
iot-central How To Connect Iot Edge Transparent Gateway https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/how-to-connect-iot-edge-transparent-gateway.md
Last updated 03/04/2024 -+
iot-central Howto Administer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-administer.md
Last updated 06/14/2023 -+ # Administrator
iot-central Howto Authorize Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-authorize-rest-api.md
Last updated 03/01/2024 -+
iot-central Howto Build Iotc Device Bridge https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-build-iotc-device-bridge.md
Title: Deploy the Azure IoT Central device bridge description: Deploy the IoT Central device bridge to connect other IoT clouds such as Sigfox, Particle Device Cloud, and The Things Network to your application. -+ Last updated 10/14/2024
iot-central Howto Configure File Uploads https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-configure-file-uploads.md
Last updated 06/18/2024 -+ # This topic applies to administrators and device developers.
iot-central Howto Configure Rules Advanced https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-configure-rules-advanced.md
Last updated 02/02/2024 -+ # This article applies to solution builders.
iot-central Howto Configure Rules https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-configure-rules.md
Last updated 04/16/2024 -+ # This article applies to operators, builders, and administrators.
iot-central Howto Connect Secure Vnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-connect-secure-vnet.md
Last updated 05/22/2023 -+ # Administrator
iot-central Howto Control Devices With Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-control-devices-with-rest-api.md
Last updated 10/14/2024 -+
iot-central Howto Create Analytics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-create-analytics.md
Last updated 03/04/2024 -+
iot-central Howto Create Iot Central Application https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-create-iot-central-application.md
Title: Create an IoT Central application description: How to create an IoT Central application by using the Azure portal or a command-line environment. -+ Last updated 04/03/2024
iot-central Howto Create Organizations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-create-organizations.md
Title: Manage IoT Central organizations description: How to create and manage an organization hierarchy to create multi-tenanted IoT Central applications. -+ Last updated 06/14/2023
iot-central Howto Create Private Endpoint https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-create-private-endpoint.md
Last updated 05/19/2023 -+ # Administrator
iot-central Howto Customize Ui https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-customize-ui.md
Last updated 05/22/2023 -+
iot-central Howto Edit Device Template https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-edit-device-template.md
Last updated 03/04/2024 -+
iot-central Howto Export To Azure Data Explorer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-export-to-azure-data-explorer.md
Last updated 03/05/2024 -+ # Export IoT data to Azure Data Explorer
iot-central Howto Export To Blob Storage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-export-to-blob-storage.md
Last updated 03/05/2024 -+
iot-central Howto Export To Event Hubs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-export-to-event-hubs.md
Last updated 03/05/2024 -+
iot-central Howto Export To Service Bus https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-export-to-service-bus.md
Last updated 03/05/2024 -+
iot-central Howto Export To Webhook https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-export-to-webhook.md
Last updated 10/14/2024 -+ # Export IoT data to Webhook
iot-central Howto Integrate With Devops https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-integrate-with-devops.md
Last updated 06/12/2023 -+
iot-central Howto Manage And Monitor Iot Central https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-and-monitor-iot-central.md
Title: Manage and monitor IoT Central description: This article describes how to create, manage, and monitor your IoT Central applications and enable managed identities. -+
iot-central Howto Manage Dashboards https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-dashboards.md
Last updated 03/04/2024 -+
iot-central Howto Manage Data Export With Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-data-export-with-rest-api.md
Last updated 06/13/2023 -+
iot-central Howto Manage Deployment Manifests With Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-deployment-manifests-with-rest-api.md
Last updated 03/04/2024 -+
iot-central Howto Manage Deployment Manifests https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-deployment-manifests.md
Title: Manage Azure IoT Edge deployment manifests description: This article describes how to the deployment manifests for the IT Edge devices that connect to your IoT Central application. -+ Last updated 03/04/2024
iot-central Howto Manage Device Templates With Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-device-templates-with-rest-api.md
Last updated 07/12/2024 -+
iot-central Howto Manage Devices In Bulk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-devices-in-bulk.md
Title: Create and run jobs in your Azure IoT Central application description: Azure IoT Central jobs allow for bulk device management capabilities, such as updating properties or running a command.-+
iot-central Howto Manage Devices Individually https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-devices-individually.md
Last updated 03/01/2024 -+ # Operator
iot-central Howto Manage Devices With Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-devices-with-rest-api.md
Last updated 03/01/2024 -+
iot-central Howto Manage Iot Central With Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-iot-central-with-rest-api.md
Title: Use the REST API to manage IoT Central applications description: This article describes how to create and manage your IoT Central applications with the REST API. Includes managing dashboards and file uploads. -+ Last updated 06/18/2024
iot-central Howto Manage Jobs With Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-jobs-with-rest-api.md
Last updated 06/14/2023 -+
iot-central Howto Manage Organizations With Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-organizations-with-rest-api.md
Last updated 05/22/2023 -+
iot-central Howto Manage Preferences https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-preferences.md
Last updated 06/14/2023 -+ # This article applies to operators, builders, and administrators.
iot-central Howto Manage Users Roles With Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-users-roles-with-rest-api.md
Last updated 06/13/2023 -+
iot-central Howto Manage Users Roles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-manage-users-roles.md
Last updated 03/01/2024 -+ # Administrator
iot-central Howto Map Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-map-data.md
Last updated 07/12/2024 -+
iot-central Howto Migrate To Iot Hub https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-migrate-to-iot-hub.md
Last updated 03/01/2024 -+ # Migrate devices to Azure IoT Hub
iot-central Howto Monitor Devices Azure Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-monitor-devices-azure-cli.md
Last updated 06/13/2023 -+ ms.tool: azure-cli
iot-central Howto Query With Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-query-with-rest-api.md
Last updated 10/14/2024 -+
iot-central Howto Set Up Template https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-set-up-template.md
Last updated 07/12/2024 -+ # This article applies to solution builders and device developers.
iot-central Howto Transform Data Internally https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-transform-data-internally.md
Last updated 06/13/2023 -+ # This topic applies to solution builders.
iot-central Howto Transform Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-transform-data.md
Last updated 10/14/2024 -+ # This topic applies to solution builders.
iot-central Howto Use Audit Logs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-use-audit-logs.md
Last updated 08/14/2023 -+ # CustomerIntent: As an administrator, I want to be able to track changes made to my IoT Central application so that I can understand who made what changes at what time.
iot-central Howto Use Commands https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-use-commands.md
Last updated 02/27/2024 -+ # Device developer
iot-central Howto Use Location Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-use-location-data.md
Last updated 03/04/2024 -+
iot-central Howto Use Properties https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/howto-use-properties.md
Last updated 02/27/2024 -+ # Solution developer
iot-central Iot Central Customer Data Requests https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/iot-central-customer-data-requests.md
Last updated 06/12/2023 -+
iot-central Iot Central Customer Data Residency https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/iot-central-customer-data-residency.md
Last updated 06/12/2023 -+
iot-central Iot Central Supported Browsers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/iot-central-supported-browsers.md
Last updated 06/12/2023 -+ # This article applies to operators, builders, and administrators.
iot-central Overview Iot Central Admin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/overview-iot-central-admin.md
Last updated 03/04/2024 -+
iot-central Overview Iot Central Api Tour https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/overview-iot-central-api-tour.md
Last updated 10/14/2024 -+
iot-central Overview Iot Central Developer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/overview-iot-central-developer.md
Last updated 03/01/2024 -+
iot-central Overview Iot Central Operator https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/overview-iot-central-operator.md
Last updated 10/14/2024 -+
iot-central Overview Iot Central Security https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/overview-iot-central-security.md
Last updated 03/04/2024 -+
iot-central Overview Iot Central Solution Builder https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/overview-iot-central-solution-builder.md
Last updated 02/02/2024 -+
iot-central Overview Iot Central Tour https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/overview-iot-central-tour.md
Last updated 10/14/2024 -+
iot-central Overview Iot Central https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/overview-iot-central.md
Last updated 10/14/2024 -+
iot-central Quick Configure Rules https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/quick-configure-rules.md
Last updated 01/03/2024 -+
iot-central Quick Deploy Iot Central https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/quick-deploy-iot-central.md
Last updated 03/01/2024 -+ # Customer intent: As a new user of IoT Central, I want to learn how to get started with an IoT Central application and an IoT device.
iot-central Quick Export Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/quick-export-data.md
Last updated 03/01/2024 -+ ms.devlang: azurecli
iot-central Troubleshooting https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/troubleshooting.md
Last updated 02/06/2024 -+ #Customer intent: As a device developer, I want to understand why data from my devices isn't showing up in IoT Central, and the steps I can take to rectify the issue.
iot-central Tutorial Connect Device https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/tutorial-connect-device.md
Last updated 10/14/2024 -+ zone_pivot_groups: programming-languages-set-twenty-six
iot-central Tutorial Create Telemetry Rules https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/tutorial-create-telemetry-rules.md
Last updated 04/17/2024 -+ #customer intent: As a solution builder, I want add a rule and action so that I can be notified when a telemetry value reaches a threshold.
iot-central Tutorial Define Gateway Device Type https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/tutorial-define-gateway-device-type.md
Last updated 04/17/2024 -+
iot-central Tutorial Use Device Groups https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/tutorial-use-device-groups.md
Last updated 04/17/2024 -+ #customer intent: As an operator, I want configure device groups so that I can analyze my device telemetry.
iot-central Tutorial Use Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/core/tutorial-use-rest-api.md
Last updated 08/20/2024 -+ # Customer intent: As a solution developer, I want to learn how to use the REST API to manage and interact with and IoT Central application.
iot-central Tutorial Smart Meter App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/energy/tutorial-smart-meter-app.md
Last updated 10/14/2024 -+
iot-central Tutorial Solar Panel App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/energy/tutorial-solar-panel-app.md
Last updated 10/14/2024 -+
iot-central Tutorial Connected Waste Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/government/tutorial-connected-waste-management.md
Last updated 10/14/2024 -+
iot-central Tutorial Water Consumption Monitoring https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/government/tutorial-water-consumption-monitoring.md
Last updated 10/14/2024 -+
iot-central Tutorial Water Quality Monitoring https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/government/tutorial-water-quality-monitoring.md
Last updated 06/13/2024 -+ #customer intent: As a developer, I want to learn how to deploy and use the water quality monitoring application template for IoT Central so that I can build water quality monitoring solutions.
iot-central Tutorial Continuous Patient Monitoring https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/healthcare/tutorial-continuous-patient-monitoring.md
Last updated 10/14/2024 -+
iot-central Tutorial In Store Analytics Create App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/retail/tutorial-in-store-analytics-create-app.md
Last updated 03/27/2024 -+
iot-central Tutorial In Store Analytics Customize Dashboard https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/retail/tutorial-in-store-analytics-customize-dashboard.md
Title: Tutorial - Customize the dashboard in Azure IoT Central description: This tutorial shows how to customize the dashboard in an IoT Central application, and manage devices. -+
iot-central Tutorial In Store Analytics Export Data Visualize Insights https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/retail/tutorial-in-store-analytics-export-data-visualize-insights.md
Last updated 03/27/2024 -+
iot-central Tutorial Iot Central Connected Logistics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/retail/tutorial-iot-central-connected-logistics.md
Title: Tutorial of IoT Connected logistics
description: Learn how to deploy and use an IoT Central connected logistics application from an application template -+ Last updated 06/13/2024
iot-central Tutorial Iot Central Digital Distribution Center https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/retail/tutorial-iot-central-digital-distribution-center.md
Title: Tutorial - Azure IoT Digital Distribution Center
description: This tutorial shows you how to deploy and use the digital distribution center application template for IoT Central -+ Last updated 10/14/2024
iot-central Tutorial Iot Central Smart Inventory Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/retail/tutorial-iot-central-smart-inventory-management.md
Title: Tutorial - Azure IoT smart inventory management
description: This tutorial shows you how to deploy and use a smart inventory-management application template for IoT Central. -+ Last updated 10/14/2024
iot-central Tutorial Micro Fulfillment Center https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-central/retail/tutorial-micro-fulfillment-center.md
Title: "Tutorial: Azure IoT Micro-fulfillment center"
description: This tutorial shows you how to deploy and use the micro-fulfillment center application template for Azure IoT Central -+ Last updated 06/18/2024 #customer intent: As a developer, I want to learn how to deploy and use the micro-fulfillment center application template for Azure IoT Central so that I can understand how to use it in my projects.
iot-dps About Iot Dps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/about-iot-dps.md
Last updated 03/12/2024 -+ + # What is Azure IoT Hub Device Provisioning Service?
iot-dps Concepts Control Access Dps Azure Ad https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-control-access-dps-azure-ad.md
description: Control access to Azure IoT Hub Device Provisioning Service (DPS) for back-end apps. Includes information about Microsoft Entra ID and RBAC. -+ Last updated 02/07/2022 + # Control access to Azure IoT Hub Device Provisioning Service (DPS) by using Microsoft Entra ID (preview)
iot-dps Concepts Control Access Dps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-control-access-dps.md
description: Overview on controlling access to Azure IoT Hub Device Provisioning
-+ Last updated 04/20/2022 + # Control access to Azure IoT Hub Device Provisioning Service (DPS)
iot-dps Concepts Custom Allocation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-custom-allocation.md
Last updated 09/09/2022 -+ + # Understand custom allocation policies with Azure IoT Hub Device Provisioning Service
iot-dps Concepts Deploy At Scale https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-deploy-at-scale.md
description: Best practices, patterns, and sample code you can use to help with
-+ Last updated 01/26/2024+ # Best practices for large-scale IoT device deployments
iot-dps Concepts Device Oem Security Practices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-device-oem-security-practices.md
Last updated 10/11/2024 -+ + # Security practices for Azure IoT device manufacturers
iot-dps Concepts Device Reprovision https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-device-reprovision.md
Last updated 04/16/2021 -++ # IoT Hub Device reprovisioning concepts
iot-dps Concepts Roles Operations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-roles-operations.md
Last updated 09/14/2020 -++ # Roles and operations
iot-dps Concepts Service https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-service.md
Last updated 04/25/2024 -++ # IoT Hub Device Provisioning Service terminology
iot-dps Concepts Symmetric Key Attestation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-symmetric-key-attestation.md
Last updated 03/12/2024 -+ + # Symmetric key attestation
iot-dps Concepts Tpm Attestation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-tpm-attestation.md
Last updated 04/30/2024 -++ # TPM attestation
iot-dps Concepts X509 Attestation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/concepts-x509-attestation.md
Last updated 04/30/2024 -++ # X.509 certificate attestation
iot-dps How To Control Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-control-access.md
description: Control access to Azure IoT Hub Device Provisioning Service (DPS) for backend apps by using shared access signatures and security tokens. -+ Last updated 09/22/2021 + # Control access to Azure IoT Hub Device Provisioning Service (DPS) with shared access signatures and security tokens
iot-dps How To Legacy Device Symm Key https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-legacy-device-symm-key.md
Last updated 03/12/2024 -+ zone_pivot_groups: iot-dps-set1+ # Tutorial: Provision devices using symmetric key enrollment groups
iot-dps How To Manage Enrollments https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-manage-enrollments.md
Last updated 04/30/2024 -+ + # Manage device enrollments in the Azure portal
iot-dps How To Manage Linked Iot Hubs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-manage-linked-iot-hubs.md
Last updated 08/23/2024 -+ + # How to link and manage IoT hubs
iot-dps How To Provision Multitenant https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-provision-multitenant.md
Last updated 08/24/2022-+ + # Tutorial: Provision for geo latency
iot-dps How To Reprovision https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-reprovision.md
Last updated 03/10/2023 -++ # How to reprovision devices
iot-dps How To Revoke Device Access Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-revoke-device-access-portal.md
Last updated 01/24/2022 -++ # How to disenroll or revoke a device from Azure IoT Hub Device Provisioning Service
iot-dps How To Roll Certificates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-roll-certificates.md
Last updated 03/13/2023 -++ # How to roll X.509 device certificates
iot-dps How To Send Additional Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-send-additional-data.md
Last updated 09/21/2022 -++ # How to transfer payloads between devices and DPS
iot-dps How To Troubleshoot Dps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-troubleshoot-dps.md
description: Learn to diagnose and troubleshoot common errors for Azure IoT Hub
-+ Last updated 06/28/2024+ # Troubleshooting with Azure IoT Hub Device Provisioning Service
iot-dps How To Unprovision Devices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-unprovision-devices.md
Last updated 03/14/2023 -++ # How to deprovision devices that were previously auto-provisioned
iot-dps How To Use Allocation Policies https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-use-allocation-policies.md
Last updated 03/14/2023 -++ # How to use allocation policies to provision devices across IoT hubs
iot-dps How To Verify Certificates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/how-to-verify-certificates.md
Last updated 01/16/2024 -++ # How to verify X.509 CA certificates with your Device Provisioning Service
iot-dps Iot Dps Ha Dr https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/iot-dps-ha-dr.md
description: Describes the Azure and Device Provisioning Service features that h
-+ Last updated 02/04/2022 + # IoT Hub Device Provisioning Service high availability and disaster recovery
iot-dps Iot Dps Https Sym Key Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/iot-dps-https-sym-key-support.md
Last updated 10/27/2022 -+ + # How to use symmetric keys over HTTPS without an SDK
iot-dps Iot Dps Https X509 Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/iot-dps-https-x509-support.md
Last updated 10/27/2022 -+ + # How to use X.509 certificates over HTTPS without an SDK
iot-dps Iot Dps Ip Filtering https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/iot-dps-ip-filtering.md
Title: Microsoft Azure IoT DPS IP connection filters
description: How to use IP filtering to block connections from specific IP addresses to your Azure IoT DPS instance. -+ Last updated 11/12/2021+ # Use Azure IoT DPS IP connection filters
iot-dps Iot Dps Understand Ip Address https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/iot-dps-understand-ip-address.md
description: Query your DPS IP address and its properties. The IP address of you
-+ Last updated 02/22/2022+ # Device Provisioning Service IP addresses
iot-dps Libraries Sdks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/libraries-sdks.md
Last updated 08/03/2022 -+ + # Microsoft SDKs for IoT Hub Device Provisioning Service
iot-dps Monitor Iot Dps Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/monitor-iot-dps-reference.md
-++ # Azure IoT Hub Device Provisioning Service monitoring data reference
iot-dps Monitor Iot Dps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/monitor-iot-dps.md
-++ # Monitor Azure IoT Hub Device Provisioning Service
iot-dps Public Network Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/public-network-access.md
description: Documentation on how to disable and enable public network access fo
-+ Last updated 03/21/2022+ # Manage public network access for your IoT Device Provisioning Service
iot-dps Quick Create Simulated Device Symm Key https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/quick-create-simulated-device-symm-key.md
Last updated 04/06/2023 -+ zone_pivot_groups: iot-dps-set1 #Customer intent: As a new IoT developer, I want to connect a device to an IoT hub using the SDK, to learn how secure provisioning works with symmetric keys.+ # Quickstart: Provision a simulated symmetric key device
iot-dps Quick Create Simulated Device Tpm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/quick-create-simulated-device-tpm.md
Last updated 12/14/2021 -+ zone_pivot_groups: iot-dps-set1 #Customer intent: As a new IoT developer, I want simulate a TPM device to learn how secure provisioning works.+ # Quickstart: Provision a simulated TPM device
iot-dps Quick Create Simulated Device X509 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/quick-create-simulated-device-x509.md
Last updated 04/06/2023 -+ zone_pivot_groups: iot-dps-set1 #Customer intent: As a new IoT developer, I want to simulate an X.509 certificate device using the SDK, to learn how secure provisioning works.+ # Quickstart: Provision an X.509 certificate simulated device
iot-dps Quick Enroll Device Tpm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/quick-enroll-device-tpm.md
Last updated 07/28/2022 -+ ms.devlang: csharp # ms.devlang: csharp, java, nodejs zone_pivot_groups: iot-dps-set2+ # Programmatically create a Device Provisioning Service individual enrollment for TPM attestation
iot-dps Quick Enroll Device X509 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/quick-enroll-device-x509.md
Last updated 07/22/2022 -+ ms.devlang: csharp # ms.devlang: csharp, java, nodejs zone_pivot_groups: iot-dps-set2+ # Programmatically create a Device Provisioning Service enrollment group for X.509 certificate attestation
iot-dps Quick Setup Auto Provision Bicep https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/quick-setup-auto-provision-bicep.md
description: Azure quickstart - Learn how to create an Azure IoT Hub Device Prov
Last updated 08/17/2022 -+ + # Quickstart: Set up the IoT Hub Device Provisioning Service (DPS) with Bicep
iot-dps Quick Setup Auto Provision Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/quick-setup-auto-provision-cli.md
Last updated 11/08/2019 -+ + # Quickstart: Set up the IoT Hub Device Provisioning Service with Azure CLI
iot-dps Quick Setup Auto Provision Rm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/quick-setup-auto-provision-rm.md
Last updated 04/06/2023 -+ + # Quickstart: Set up the IoT Hub Device Provisioning Service (DPS) with an ARM template
iot-dps Quick Setup Auto Provision Terraform https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/quick-setup-auto-provision-terraform.md
Last updated 11/03/2022
-+ + # Quickstart: Use Terraform to create an Azure IoT Device Provisioning Service
iot-dps Quick Setup Auto Provision https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/quick-setup-auto-provision.md
Last updated 08/16/2024 -+ + # Quickstart: Set up IoT Hub Device Provisioning Service with the Azure portal
iot-dps Tls Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/tls-support.md
description: Best practices in using secure TLS connections for devices and serv
-+ Last updated 09/15/2022+ # TLS support in Azure IoT Hub Device Provisioning Service (DPS)
iot-dps Tutorial Automation Github Actions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/tutorial-automation-github-actions.md
Last updated 12/19/2022 -+ + # Tutorial: Automate Azure Device Provisioning Service with GitHub Actions
iot-dps Tutorial Custom Allocation Policies https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/tutorial-custom-allocation-policies.md
Last updated 03/21/2024 -+ + # Tutorial: Use custom allocation policies with Device Provisioning Service (DPS)
iot-dps Tutorial Custom Hsm Enrollment Group X509 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/tutorial-custom-hsm-enrollment-group-x509.md
Last updated 03/12/2024 -+ zone_pivot_groups: iot-dps-set1 #Customer intent: As a new IoT developer, I want provision groups of devices using X.509 certificate chains and the Azure IoT device SDK.+ # Tutorial: Provision multiple X.509 devices using enrollment groups
iot-dps Virtual Network Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-dps/virtual-network-support.md
description: How to use the virtual networks connectivity pattern with Azure IoT
-+ Last updated 03/21/2022+ # Azure IoT Hub Device Provisioning Service (DPS) support for virtual networks
iot-edge About Iot Edge https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/about-iot-edge.md
Title: What is Azure IoT Edge description: Overview of the Azure IoT Edge service and its components. Learn how to deploy, run, and monitor containerized Linux workloads at the edge. -+ Last updated 06/12/2024
iot-edge Configure Connect Verify Gpu https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/configure-connect-verify-gpu.md
Last updated 05/29/2024 -+
iot-edge Configure Device https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/configure-device.md
Last updated 06/27/2024 -+
iot-edge Debug Module Vs Code https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/debug-module-vs-code.md
Last updated 02/14/2024 -+ zone_pivot_groups: iotedge-dev
iot-edge Deploy Confidential Applications https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/deploy-confidential-applications.md
Title: Confidential applications as Azure IoT Edge modules description: Use the Open Enclave SDK and API to write confidential applications and deploy them as IoT Edge modules for confidential computing -+ Last updated 04/08/2024
iot-edge Development Environment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/development-environment.md
Last updated 06/14/2024 -+
iot-edge Gpu Acceleration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/gpu-acceleration.md
Last updated 05/29/2024 -+
iot-edge How To Access Built In Metrics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-access-built-in-metrics.md
Last updated 04/08/2024 -+
iot-edge How To Access Dtpm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-access-dtpm.md
Last updated 05/29/2024 -+
iot-edge How To Access Host Storage From Module https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-access-host-storage-from-module.md
Last updated 06/10/2024 -+
iot-edge How To Add Custom Metrics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-add-custom-metrics.md
Last updated 08/11/2021 -+
iot-edge How To Authenticate Downstream Device https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-authenticate-downstream-device.md
Last updated 05/29/2024 -+
iot-edge How To Collect And Transport Metrics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-collect-and-transport-metrics.md
Last updated 06/10/2024 -+
iot-edge How To Configure Api Proxy Module https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-configure-api-proxy-module.md
Last updated 06/12/2024 -+
iot-edge How To Configure Iot Edge For Linux On Windows Iiot Dmz https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-configure-iot-edge-for-linux-on-windows-iiot-dmz.md
Title: Configure Azure IoT Edge for Linux on Windows on a DMZ
description: How to configure the Azure IoT Edge for Linux (EFLOW) VM to support multiple network interface cards (NICs) and connect to multiple networks. -+
iot-edge How To Configure Iot Edge For Linux On Windows Networking https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-configure-iot-edge-for-linux-on-windows-networking.md
Last updated 05/31/2024 -+
iot-edge How To Configure Module Build Options https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-configure-module-build-options.md
Last updated 05/31/2024 -+
iot-edge How To Configure Multiple Nics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-configure-multiple-nics.md
Title: Configure multiple NICs for Azure IoT Edge for Linux on Windows
description: Configuration for attaching multiple network interfaces to Azure IoT Edge for Linux on Windows virtual machine -+
iot-edge How To Configure Proxy Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-configure-proxy-support.md
Last updated 07/14/2023 -+
iot-edge How To Connect Downstream Device https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-connect-downstream-device.md
Last updated 08/07/2024 -+
iot-edge How To Connect Downstream Iot Edge Device https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-connect-downstream-iot-edge-device.md
Last updated 08/07/2024 -+
iot-edge How To Connect Usb Devices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-connect-usb-devices.md
Title: How to connect a USB device to Azure IoT Edge for Linux on Windows
description: How to connect a USB device using USB over IP to the Azure IoT Edge for Linux on Windows (EFLOW) virtual machine. -+
iot-edge How To Continuous Integration Continuous Deployment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-continuous-integration-continuous-deployment.md
Last updated 04/08/2024 -+
iot-edge How To Create Alerts https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-create-alerts.md
Last updated 06/08/2021 -+
iot-edge How To Create Iot Edge Device https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-create-iot-edge-device.md
Title: Create an IoT Edge device - Azure IoT Edge description: Learn about the platform and provisioning options for creating an IoT Edge device -+ Last updated 06/03/2024
iot-edge How To Create Test Certificates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-create-test-certificates.md
Last updated 06/03/2024 -+
iot-edge How To Create Transparent Gateway https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-create-transparent-gateway.md
Last updated 08/07/2024 -+
iot-edge How To Create Virtual Switch https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-create-virtual-switch.md
Title: Create virtual switch for Azure IoT Edge for Linux on Windows | Microsoft
description: Installations for creating a virtual switch for Azure IoT Edge for Linux on Windows -+
iot-edge How To Deploy At Scale https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-deploy-at-scale.md
Last updated 06/12/2024 -+ # Deploy IoT Edge modules at scale using the Azure portal
iot-edge How To Deploy Blob https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-deploy-blob.md
Last updated 08/12/2024 -+ # Deploy the Azure Blob Storage on IoT Edge module to your device
iot-edge How To Deploy Cli At Scale https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-deploy-cli-at-scale.md
Last updated 03/22/2024 -+
iot-edge How To Deploy Modules Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-deploy-modules-cli.md
Last updated 10/13/2020 -+
iot-edge How To Deploy Modules Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-deploy-modules-portal.md
Last updated 06/12/2024 -+
iot-edge How To Edgeagent Direct Method https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-edgeagent-direct-method.md
Last updated 03/02/2020 -+
iot-edge How To Explore Curated Visualizations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-explore-curated-visualizations.md
Last updated 04/08/2024 -+
iot-edge How To Install Iot Edge Kubernetes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-install-iot-edge-kubernetes.md
Last updated 12/09/2021 -+
iot-edge How To Install Iot Edge Ubuntuvm Bicep https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-install-iot-edge-ubuntuvm-bicep.md
Title: Run Azure IoT Edge on Ubuntu VMs by using Bicep description: Learn how to run Azure IoT Edge on Ubuntu virtual machines by deploying and provisioning using Bicep. -+
iot-edge How To Install Iot Edge Ubuntuvm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-install-iot-edge-ubuntuvm.md
Title: Run Azure IoT Edge on Ubuntu Virtual Machines description: How to run Azure IoT Edge on an Ubuntu virtual machine -+
iot-edge How To Manage Device Certificates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-manage-device-certificates.md
Last updated 04/09/2024 -+ # Manage IoT Edge certificates
iot-edge How To Monitor Iot Edge Deployments https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-monitor-iot-edge-deployments.md
Last updated 06/03/2024 -+
iot-edge How To Monitor Module Twins https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-monitor-module-twins.md
Last updated 06/03/2024 -+ # Monitor module twins
iot-edge How To Observability https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-observability.md
Last updated 06/03/2024 -+
iot-edge How To Provision Devices At Scale Linux On Windows Symmetric https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-provision-devices-at-scale-linux-on-windows-symmetric.md
Last updated 06/03/2024 -+
iot-edge How To Provision Devices At Scale Linux On Windows Tpm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-provision-devices-at-scale-linux-on-windows-tpm.md
Last updated 06/03/2024 -+
iot-edge How To Provision Devices At Scale Linux On Windows X509 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-provision-devices-at-scale-linux-on-windows-x509.md
Last updated 06/03/2024 -+
iot-edge How To Provision Devices At Scale Linux Symmetric https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-provision-devices-at-scale-linux-symmetric.md
Last updated 02/27/2024 -+
iot-edge How To Provision Devices At Scale Linux Tpm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-provision-devices-at-scale-linux-tpm.md
Last updated 04/17/2024 -+
iot-edge How To Provision Devices At Scale Linux X509 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-provision-devices-at-scale-linux-x509.md
Last updated 06/13/2024 -+
iot-edge How To Provision Single Device Linux On Windows Symmetric https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-provision-single-device-linux-on-windows-symmetric.md
Title: Create and provision an Azure IoT Edge for Linux on Windows device using symmetric keys description: Create and provision a single IoT Edge for Linux on Windows device in IoT Hub using manual provisioning with symmetric keys -+
iot-edge How To Provision Single Device Linux On Windows X509 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-provision-single-device-linux-on-windows-x509.md
Title: Create and provision an Azure IoT Edge for Linux on Windows device using X.509 certificates description: Create and provision a single IoT Edge for Linux on Windows device in IoT Hub using manual provisioning with X.509 certificates -+
iot-edge How To Provision Single Device Linux Symmetric https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-provision-single-device-linux-symmetric.md
Title: Create IoT Edge device on Linux using symmetric keys
description: Create and provision a single IoT Edge device in IoT Hub for manual provisioning with symmetric keys -+
iot-edge How To Provision Single Device Linux X509 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-provision-single-device-linux-x509.md
Title: Create IoT Edge device on Linux using X.509 certificates
description: Create and provision a single IoT Edge device in IoT Hub for manual provisioning with X.509 certificates -+
iot-edge How To Retrieve Iot Edge Logs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-retrieve-iot-edge-logs.md
Last updated 06/03/2024 -+
iot-edge How To Share Windows Folder To Vm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-share-windows-folder-to-vm.md
Title: Share Windows folder with Azure IoT Edge for Linux on Windows
description: How to share a Windows folders and files with the Azure IoT Edge for Linux on Windows virtual machine. -+
iot-edge How To Store Data Blob https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-store-data-blob.md
Last updated 06/06/2024 -+
iot-edge How To Troubleshoot Monitoring And Faq https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-troubleshoot-monitoring-and-faq.md
Last updated 06/09/2021 -+ zone_pivot_groups: how-to-troubleshoot-monitoring-and-faq-zpg
iot-edge How To Update Iot Edge https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-update-iot-edge.md
Last updated 06/10/2024 -+
iot-edge How To Use Create Options https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-use-create-options.md
Last updated 04/01/2020 -+
iot-edge How To Visual Studio Develop Module https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-visual-studio-develop-module.md
Last updated 07/17/2024 -+ zone_pivot_groups: iotedge-dev # Use Visual Studio 2022 to develop and debug modules for Azure IoT Edge
iot-edge Iot Edge As Gateway https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-as-gateway.md
Last updated 06/04/2024 -+
iot-edge Iot Edge Certs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-certs.md
Last updated 08/07/2024 -+
iot-edge Iot Edge For Linux On Windows Benefits https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-for-linux-on-windows-benefits.md
Last updated 06/04/2024 -+
iot-edge Iot Edge For Linux On Windows Networking https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-for-linux-on-windows-networking.md
description: Overview of Azure IoT Edge for Linux on Windows networking between
-+
iot-edge Iot Edge For Linux On Windows Security https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-for-linux-on-windows-security.md
Last updated 06/04/2024 -+
iot-edge Iot Edge For Linux On Windows Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-for-linux-on-windows-support.md
Last updated 06/05/2024 -+
iot-edge Iot Edge For Linux On Windows Updates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-for-linux-on-windows-updates.md
# this is the PM responsible -+
iot-edge Iot Edge For Linux On Windows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-for-linux-on-windows.md
description: Overview of running Linux IoT Edge modules with Azure IoT Edge for
-+
iot-edge Iot Edge Limits And Restrictions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-limits-and-restrictions.md
Last updated 06/05/2024 -+
iot-edge Iot Edge Modules https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-modules.md
Last updated 03/21/2019 -+
iot-edge Iot Edge Runtime https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-runtime.md
Last updated 06/05/2024 -+
iot-edge Iot Edge Security Manager https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/iot-edge-security-manager.md
Last updated 06/06/2024 -+ # Azure IoT Edge security manager
iot-edge Module Composition https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/module-composition.md
Last updated 06/05/2024 -+
iot-edge Module Deployment Monitoring https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/module-deployment-monitoring.md
Last updated 06/10/2024 -+
iot-edge Module Development https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/module-development.md
Last updated 06/10/2024 -+
iot-edge Module Edgeagent Edgehub https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/module-edgeagent-edgehub.md
Last updated 04/16/2021 -+
iot-edge Nested Virtualization https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/nested-virtualization.md
Last updated 06/06/2024 -+
iot-edge Offline Capabilities https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/offline-capabilities.md
Last updated 06/10/2024 -+
iot-edge Production Checklist https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/production-checklist.md
Last updated 08/07/2024 -+
iot-edge Quickstart Linux https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/quickstart-linux.md
Last updated 07/08/2024 -+
iot-edge Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/quickstart.md
Last updated 07/08/2024 -+
iot-edge Reference Iot Edge For Linux On Windows Functions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/reference-iot-edge-for-linux-on-windows-functions.md
Last updated 06/10/2024 -+
iot-edge Security https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/security.md
Last updated 07/27/2023 -+
iot-edge Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/support.md
Last updated 09/04/2024 -+
iot-edge Troubleshoot Common Errors https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/troubleshoot-common-errors.md
Last updated 07/10/2024 -+
iot-edge Troubleshoot In Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/troubleshoot-in-portal.md
Last updated 04/08/2024 -+
iot-edge Troubleshoot Iot Edge For Linux On Windows Common Errors https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/troubleshoot-iot-edge-for-linux-on-windows-common-errors.md
Last updated 06/06/2024 -+
iot-edge Troubleshoot Iot Edge For Linux On Windows Networking https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/troubleshoot-iot-edge-for-linux-on-windows-networking.md
Last updated 06/10/2024 -+
iot-edge Troubleshoot Iot Edge For Linux On Windows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/troubleshoot-iot-edge-for-linux-on-windows.md
Last updated 06/10/2024 -+
iot-edge Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/troubleshoot.md
Last updated 06/05/2024 -+
iot-edge Tutorial Configure Est Server https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/tutorial-configure-est-server.md
Last updated 06/10/2024 -+
iot-edge Tutorial Deploy Custom Vision https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/tutorial-deploy-custom-vision.md
Last updated 07/13/2023 -+ #Customer intent: As an IoT developer, I want to perform image recognition directly on my IoT Edge device so that I can have faster results and lower costs for data transfers.
iot-edge Tutorial Deploy Function https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/tutorial-deploy-function.md
Last updated 06/10/2024 -+ #Customer intent: As an IoT developer, I want to use Azure Functions to execute logic on edge devices to filter data and communications that are sent to the cloud.
iot-edge Tutorial Deploy Stream Analytics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/tutorial-deploy-stream-analytics.md
Last updated 04/08/2024 -+
iot-edge Tutorial Develop For Linux On Windows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/tutorial-develop-for-linux-on-windows.md
Last updated 01/04/2024 -+ zone_pivot_groups: iotedge-dev
iot-edge Tutorial Develop For Linux https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/tutorial-develop-for-linux.md
Last updated 02/05/2024 -+ zone_pivot_groups: iotedge-dev
iot-edge Tutorial Monitor With Workbooks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/tutorial-monitor-with-workbooks.md
Last updated 06/10/2024 -+
iot-edge Tutorial Nested Iot Edge For Linux On Windows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/tutorial-nested-iot-edge-for-linux-on-windows.md
Last updated 06/10/2024 -+
iot-edge Tutorial Nested Iot Edge https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/tutorial-nested-iot-edge.md
Last updated 06/10/2024 -+ content_well_notification:
iot-edge Tutorial Store Data Sql Server https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/tutorial-store-data-sql-server.md
Last updated 07/08/2024 -+ #Customer intent: As an IoT developer, I want to use SQL Service to execute logic on edge devices to filter data and communications that is sent to the cloud.
iot-edge Using Private Link https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/using-private-link.md
Last updated 06/10/2024 -+
iot-edge Version History https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/version-history.md
Last updated 04/02/2024 -+ # Azure IoT Edge versions and release notes
iot-hub-device-update Components Enumerator https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/components-enumerator.md
Last updated 08/25/2022 -++ # Register components with Device Update
iot-hub-device-update Configure Access Control Device Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/configure-access-control-device-update.md
Last updated 10/31/2022 -++ # Configure access control roles for Device Update resources
iot-hub-device-update Configure Private Endpoints https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/configure-private-endpoints.md
Last updated 07/06/2022 -+ + # Configure private endpoints for Device Update for IoT Hub accounts
iot-hub-device-update Connected Cache Disconnected Device Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/connected-cache-disconnected-device-update.md
Last updated 04/14/2023 -++ # Understand support for disconnected device updates (preview)
iot-hub-device-update Connected Cache Nested Level https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/connected-cache-nested-level.md
Last updated 04/14/2023 -++ # Deploy the Microsoft Connected Cache module on nested gateways, including in IIoT scenarios (preview)
iot-hub-device-update Connected Cache Single Level https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/connected-cache-single-level.md
Last updated 04/14/2023 -++ # Deploy the Microsoft Connected Cache module on a single gateway (preview)
iot-hub-device-update Create Device Update Account https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/create-device-update-account.md
Last updated 10/30/2022 -++ # Create Device Update for IoT Hub resources
iot-hub-device-update Create Update Group https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/create-update-group.md
Last updated 10/31/2022 -++ # Manage device groups in Device Update for IoT Hub
iot-hub-device-update Create Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/create-update.md
Last updated 10/31/2022 -+ + # Prepare an update to import into Device Update for IoT Hub
iot-hub-device-update Delta Updates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/delta-updates.md
Last updated 08/24/2022 -++ # How to understand and use delta updates in Device Update for IoT Hub (Preview)
iot-hub-device-update Deploy Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/deploy-update.md
Last updated 10/31/2022 -+ + # Deploy an update by using Device Update for Azure IoT Hub
iot-hub-device-update Device Update Agent Check https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-agent-check.md
Last updated 10/31/2022 -++ # Find and fix devices missing from Device Update for IoT Hub using agent check
iot-hub-device-update Device Update Agent Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-agent-overview.md
Last updated 9/12/2022 -++ # Device Update for IoT Hub agent overview
iot-hub-device-update Device Update Agent Provisioning https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-agent-provisioning.md
Last updated 8/26/2022 -++ # Device Update Agent Provisioning
iot-hub-device-update Device Update Apt Manifest https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-apt-manifest.md
Last updated 2/17/2021 -++
iot-hub-device-update Device Update Azure Real Time Operating System https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-azure-real-time-operating-system.md
Last updated 3/18/2021 -++ # Device Update for Azure IoT Hub using Eclipse ThreadX
iot-hub-device-update Device Update Changelog https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-changelog.md
Last updated 02/22/2023 -++ # Device Update for IoT Hub release notes and version history
iot-hub-device-update Device Update Compliance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-compliance.md
Last updated 2/11/2021 -++ # Device Update compliance
iot-hub-device-update Device Update Configuration File https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-configuration-file.md
Last updated 10/11/2023 -++ # Device Update for IoT Hub configuration file
iot-hub-device-update Device Update Configure Repo https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-configure-repo.md
Last updated 8/8/2022 -++ # Introduction to configuring package repository
iot-hub-device-update Device Update Control Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-control-access.md
Last updated 10/21/2022 -++ # Azure role-based access control (RBAC) and Device Update
iot-hub-device-update Device Update Data Encryption https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-data-encryption.md
Last updated 09/22/2023 -++ # Data encryption for Device Update for IoT Hub
iot-hub-device-update Device Update Data Privacy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-data-privacy.md
Last updated 04/26/2024 -++ # Device Update telemetry collection
iot-hub-device-update Device Update Deployments https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-deployments.md
Last updated 12/07/2021 -++ # Update deployments
iot-hub-device-update Device Update Diagnostics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-diagnostics.md
Last updated 9/2/2022 -++ # Device Update for IoT Hub diagnostics overview
iot-hub-device-update Device Update Error Codes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-error-codes.md
Last updated 06/28/2022 -++ # Device Update for IoT Hub error codes
iot-hub-device-update Device Update Howto Proxy Updates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-howto-proxy-updates.md
Last updated 1/26/2022 -++ # Tutorial: Complete a proxy update by using Device Update for Azure IoT Hub
iot-hub-device-update Device Update Limits https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-limits.md
Last updated 9/23/2022 -++ # Device Update for IoT Hub limits
iot-hub-device-update Device Update Log Collection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-log-collection.md
Last updated 10/26/2022 -++ # Remotely collect diagnostic logs from devices using Device Update for IoT Hub
iot-hub-device-update Device Update Multi Step Updates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-multi-step-updates.md
Last updated 11/12/2021 -++ # Multi-step ordered execution
iot-hub-device-update Device Update Networking https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-networking.md
Last updated 1/11/2021 -++ # Ports used with Device Update for IoT Hub
iot-hub-device-update Device Update Plug And Play https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-plug-and-play.md
Last updated 3/4/2024 -++ # Device Update for IoT Hub and IoT Plug and Play
iot-hub-device-update Device Update Proxy Update Troubleshooting https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-proxy-update-troubleshooting.md
Last updated 1/5/2022 -++ # Device Update for IoT troubleshooting guide for importing proxy updates
iot-hub-device-update Device Update Proxy Updates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-proxy-updates.md
Last updated 11/12/2021 -++ # Proxy updates and multi-component updating
iot-hub-device-update Device Update Raspberry Pi https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-raspberry-pi.md
Last updated 3/8/2023 -++ # Tutorial: Device Update for Azure IoT Hub using the Raspberry Pi 3 B+ reference image
iot-hub-device-update Device Update Region Mapping https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-region-mapping.md
Last updated 08/31/2022 -++ # Device Update for IoT Hub regional mapping for scan and failover
iot-hub-device-update Device Update Resources https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-resources.md
Last updated 11/02/2022 -++ # Device update resources
iot-hub-device-update Device Update Security https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-security.md
Last updated 08/19/2022 -++ # Device Update security model
iot-hub-device-update Device Update Simulator https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-simulator.md
Last updated 12/16/2022 -++ # Tutorial: Device Update for Azure IoT Hub using the Ubuntu (18.04 x64) simulator reference agent
iot-hub-device-update Device Update Tls Download https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-tls-download.md
Title: Understand Device Update for Azure IoT Hub TLS download capabilities
description: Key concepts to understand for TLS download of update content from Device Update for IoT Hub. -+ Last updated 06/07/2024+ # How to understand and use the Transport Layer Security (TLS) download feature in Device Update for IoT Hub (Preview)
iot-hub-device-update Device Update Ubuntu Agent https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/device-update-ubuntu-agent.md
Last updated 10/2/2024 -++ # Tutorial: Device Update for Azure IoT Hub using the package agent on Ubuntu Server 22.04 x64
iot-hub-device-update Import Concepts https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/import-concepts.md
Last updated 06/27/2022 -++ # Importing updates into Device Update for IoT Hub
iot-hub-device-update Import Schema https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/import-schema.md
Last updated 09/9/2022 -++ # Importing updates into Device Update for IoT Hub: schema and other information
iot-hub-device-update Import Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/import-update.md
Last updated 10/31/2022 -++ # Import an update to Device Update for IoT Hub
iot-hub-device-update Migration Public Preview Refresh To Ga https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/migration-public-preview-refresh-to-ga.md
Last updated 9/15/2022 -++ # Migrate devices and groups to latest Device Update for IoT Hub release
iot-hub-device-update Monitor Device Update Iot Hub https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/monitor-device-update-iot-hub.md
description: Start here to learn how to monitor Device Update for IoT Hub
-+ Last updated 9/08/2022
iot-hub-device-update Network Security https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/network-security.md
Last updated 06/26/2022 -++ # Network security for Device Update for IoT Hub resources
iot-hub-device-update Related Files https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/related-files.md
Last updated 01/24/2023 -++ # Use the related files feature to reference multiple update files
iot-hub-device-update Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/support.md
Last updated 05/17/2023 -+ + # Device Update for IoT Hub supported platforms
iot-hub-device-update Troubleshoot Device Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/troubleshoot-device-update.md
Last updated 9/13/2022 -++ # Device Update for IoT Hub Troubleshooting Guide
iot-hub-device-update Understand Device Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/understand-device-update.md
Last updated 10/31/2022 -++ # What is Device Update for IoT Hub?
iot-hub-device-update Update Manifest https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub-device-update/update-manifest.md
Last updated 08/19/2022 -++
iot-hub Authenticate Authorize Azure Ad https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/authenticate-authorize-azure-ad.md
Title: Control access with Microsoft Entra ID
description: Understand how Azure IoT Hub uses Microsoft Entra ID to authenticate identities and authorize access to IoT hubs and devices. -+
iot-hub Authenticate Authorize Sas https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/authenticate-authorize-sas.md
Title: Control access with shared access signatures
description: Understand how Azure IoT Hub uses shared access signatures (SAS) to authenticate identities and authorize access to IoT hubs and devices. -+ Last updated 09/01/2023
iot-hub Authenticate Authorize X509 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/authenticate-authorize-x509.md
Title: Authenticate with X.509 certificates
description: Understand how Azure IoT Hub uses X.509 certificates to authenticate IoT hubs and devices. -+
iot-hub Create Connect Device https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/create-connect-device.md
description: How to create, manage, and delete Azure IoT devices and how to retr
-+ Last updated 06/19/2024
iot-hub Create Hub https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/create-hub.md
description: How to create, manage, and delete Azure IoT hubs through the Azure
-+ Last updated 07/10/2024
iot-hub Device Management Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/device-management-cli.md
description: How to use Azure IoT Hub direct methods with the Azure CLI for devi
-+ ms.devlang: azurecli Last updated 01/30/2023
iot-hub Device Management Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/device-management-dotnet.md
description: How to use Azure IoT Hub direct methods with the .NET SDK for devic
-+ ms.devlang: csharp Last updated 08/20/2019
iot-hub Device Management Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/device-management-java.md
description: How to use Azure IoT Hub direct methods with the Java SDK for devic
-+ ms.devlang: java Last updated 05/30/2023
iot-hub Device Management Node https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/device-management-node.md
description: How to use Azure IoT Hub direct methods with the Node.js SDK for de
-+ ms.devlang: nodejs Last updated 08/20/2019
iot-hub Device Management Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/device-management-python.md
description: How to use Azure IoT Hub direct methods with the Python SDK for dev
-+ ms.devlang: python Last updated 12/29/2022
iot-hub Horizontal Arm Route Messages https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/horizontal-arm-route-messages.md
description: Learn how to use an ARM template to publish Azure IoT Hub, storage
-+ Last updated 01/04/2024
iot-hub How To Cloud To Device Messaging https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/how-to-cloud-to-device-messaging.md
description: How to send cloud-to-device messages from a back-end app and receive them on a device app using the Azure IoT SDKs for C#, Python, Java, Node.js, and C. -+ Last updated 06/20/2024 zone_pivot_groups: iot-hub-howto-c2d-1
iot-hub How To Collect Device Logs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/how-to-collect-device-logs.md
Last updated 01/20/2023 -+ zone_pivot_groups: programming-languages-set-twenty-seven
iot-hub How To Device Twins https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/how-to-device-twins.md
description: How to use the Azure IoT SDKs to create device and backend service
-+ ms.devlang: csharp Last updated 09/10/2024
iot-hub How To File Upload https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/how-to-file-upload.md
description: How to upload files from a device to the cloud using the Azure IoT
-+ Last updated 07/01/2024 zone_pivot_groups: iot-hub-howto-c2d-1
iot-hub How To Routing Arm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/how-to-routing-arm.md
Title: Create and delete routes and endpoints by using Azure Resource Manager description: Learn how to create and delete routes and endpoints in Azure IoT Hub by using an Azure Resource Manager template in the Azure portal. -+
iot-hub How To Routing Azure Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/how-to-routing-azure-cli.md
Title: Manage routes and endpoints with the Azure CLI
description: Learn how to create and delete routes and endpoints in Azure IoT Hub by using the message-endpoints and message-routes Azure CLI commands. -+
iot-hub How To Routing Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/how-to-routing-portal.md
Title: Create and delete routes and endpoints in Azure portal
description: Learn how to create and delete routes and endpoints in Azure IoT Hub by using the Azure portal for message routing. -+ Last updated 05/22/2023
iot-hub How To Routing Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/how-to-routing-powershell.md
Title: Create and delete routes and endpoints by using Azure PowerShell description: Learn how to create and delete routes and endpoints in Azure IoT Hub by using Azure PowerShell. -+
iot-hub Iot Concepts And Iot Hub https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-concepts-and-iot-hub.md
description: This article discusses the basic concepts of how Azure IoT Hub helps users connect IoT applications and their attached devices. -+ Last updated 02/22/2024
iot-hub Iot Hub Amqp Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-amqp-support.md
Title: Understand Azure IoT Hub AMQP support | Microsoft Docs description: This article describes support for devices connecting to IoT Hub device-facing and service-facing endpoints using the AMQP Protocol. Includes information about built-in AMQP support in the Azure IoT device SDKs. -+ Last updated 04/21/2022
iot-hub Iot Hub Automatic Device Management Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-automatic-device-management-cli.md
description: Use Azure IoT Hub automatic configurations to manage multiple IoT d
-+ Last updated 07/08/2021
iot-hub Iot Hub Automatic Device Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-automatic-device-management.md
description: Use Azure IoT Hub automatic configurations to manage multiple IoT devices and modules in the Azure portal -+ Last updated 09/22/2022
iot-hub Iot Hub Azure Service Health Integration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-azure-service-health-integration.md
description: Use Azure Service Health and Azure Resource Health to monitor your
-+ Last updated 04/21/2020
iot-hub Iot Hub Bulk Identity Mgmt https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-bulk-identity-mgmt.md
description: Use the Azure IoT service SDK to import and export device identitie
-+ Last updated 01/25/2024
iot-hub Iot Hub Compare Event Hubs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-compare-event-hubs.md
description: A comparison of the IoT Hub and Event Hubs Azure services highlight
-+ Last updated 11/21/2022
iot-hub Iot Hub Configuration Best Practices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-configuration-best-practices.md
Last updated 06/28/2019 -+
iot-hub Iot Hub Configure File Upload Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-configure-file-upload-cli.md
description: How to configure file uploads to Azure IoT Hub using the cross-plat
-+ Last updated 07/20/2021
iot-hub Iot Hub Configure File Upload Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-configure-file-upload-powershell.md
description: How to use Azure PowerShell cmdlets to configure your IoT hub to en
-+ Last updated 07/20/2021
iot-hub Iot Hub Configure File Upload https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-configure-file-upload.md
description: How to use the Azure portal to configure your IoT hub to enable fil
-+ Last updated 07/20/2021
iot-hub Iot Hub Customer Data Requests https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-customer-data-requests.md
Last updated 05/16/2018 -+
iot-hub Iot Hub Devguide C2d Guidance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-c2d-guidance.md
description: This article provides guidance on when to use direct methods, devic
-+ Last updated 01/29/2018
iot-hub Iot Hub Devguide D2c Guidance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-d2c-guidance.md
description: This article provides guidance on when to use device-to-cloud messa
-+ Last updated 12/27/2022
iot-hub Iot Hub Devguide Device Twins https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-device-twins.md
description: This article describes how to use device twins to synchronize state
-+ Last updated 02/22/2024
iot-hub Iot Hub Devguide Direct Methods https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-direct-methods.md
-
+ Title: Understand Azure IoT Hub direct methods description: This article describes how to use direct methods to invoke code on your devices from a service app. -+ Last updated 05/03/2024
iot-hub Iot Hub Devguide Endpoints https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-endpoints.md
description: This article provides information about IoT Hub device-facing and s
-+ Last updated 02/23/2024
iot-hub Iot Hub Devguide File Upload https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-file-upload.md
description: This article shows how to use the file upload feature of IoT Hub to
-+ Last updated 12/30/2022
iot-hub Iot Hub Devguide Identity Registry https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-identity-registry.md
description: This article provides a description of the IoT Hub identity registr
-+ Last updated 06/29/2021
iot-hub Iot Hub Devguide Jobs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-jobs.md
description: This article describes scheduling jobs to run on multiple devices c
-+ Last updated 05/06/2019
iot-hub Iot Hub Devguide Messages C2d https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-messages-c2d.md
description: This developer guide discusses how to use cloud-to-device messaging
-+ Last updated 08/14/2024
iot-hub Iot Hub Devguide Messages Construct https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-messages-construct.md
description: This article describes the format and expected content of IoT Hub messages for cloud-to-device and device-to-cloud messages. -+ Last updated 08/22/2024
iot-hub Iot Hub Devguide Messages D2c https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-messages-d2c.md
description: This article describes how to use message routing to send device-to
-+ Last updated 02/23/2024
iot-hub Iot Hub Devguide Messages Read Builtin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-messages-read-builtin.md
description: This article describes how to use the built-in, Event Hubs-compatible endpoint to read device-to-cloud messages. -+ Last updated 06/28/2024
iot-hub Iot Hub Devguide Messaging https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-messaging.md
description: This article describes device-to-cloud and cloud-to-device messagin
-+ Last updated 02/23/2024
iot-hub Iot Hub Devguide Module Twins https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-module-twins.md
description: This article describes how to use module twins to synchronize state
-+ Last updated 04/27/2022
iot-hub Iot Hub Devguide No Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-no-sdk.md
description: This article provides information about and links to topics that yo
-+ Last updated 10/12/2020
iot-hub Iot Hub Devguide Pricing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-pricing.md
description: This article provides information about how metering and pricing wo
-+ Last updated 02/09/2023
iot-hub Iot Hub Devguide Protocols https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-protocols.md
description: This article describes the supported communication protocols for de
-+ Last updated 11/21/2022
iot-hub Iot Hub Devguide Query Language https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-query-language.md
Title: Understand the Azure IoT Hub query language
description: This article provides a description of the SQL-like IoT Hub query language used to retrieve information about device/module twins and jobs from your IoT hub. -+ Last updated 09/29/2022
iot-hub Iot Hub Devguide Quotas Throttling https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-quotas-throttling.md
description: This article provides a description of the quotas that apply to IoT
-+ Last updated 06/17/2024
iot-hub Iot Hub Devguide Routing Query Syntax https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-routing-query-syntax.md
description: Learn about the IoT Hub message routing query language that you can
-+ Last updated 02/22/2023
iot-hub Iot Hub Devguide Sdks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide-sdks.md
description: Links to the Azure IoT Hub SDKs that you can use to build device ap
-+ Last updated 05/03/2024
iot-hub Iot Hub Devguide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-devguide.md
description: The Azure IoT Hub conceptual documentation includes discussions of
-+ Last updated 11/03/2022
iot-hub Iot Hub Device Management Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-device-management-overview.md
Title: Overview of device management with Microsoft Azure IoT Hub description: Overview of device management in Azure IoT Hub--enterprise device lifecycle and device management patterns such as, reboot, factory reset, firmware update, configuration, device twins, queries, jobs, threat detection. -+
iot-hub Iot Hub Device Streams Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-device-streams-overview.md
Title: Azure IoT Hub device streams | Microsoft Docs
description: Overview of Azure IoT Hub device streams, which facilitate secure bi-directional TCP tunnels for a variety of cloud-to-device communication scenarios. -+ Last updated 01/15/2019
iot-hub Iot Hub Distributed Tracing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-distributed-tracing.md
description: Learn how to use distributed tracing to trace IoT messages througho
-+ Last updated 02/29/2024
iot-hub Iot Hub Event Grid Routing Comparison https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-event-grid-routing-comparison.md
description: IoT Hub offers its own message routing service, but also integrates with Event Grid for event publishing. Compare the two features. -+ Last updated 02/22/2023
iot-hub Iot Hub Event Grid https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-event-grid.md
description: Use Azure Event Grid to send notifications and trigger processes based on actions that happen in IoT Hub. -+ Last updated 01/05/2024
iot-hub Iot Hub Ha Dr https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-ha-dr.md
Title: Azure IoT Hub high availability and disaster recovery description: Describes the Azure and IoT Hub features that help you to build highly available Azure IoT solutions with disaster recovery capabilities. -+ Last updated 07/20/2023
iot-hub Iot Hub How To Order Connection State Events https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-how-to-order-connection-state-events.md
description: This article describes how to order and record device connection ev
-+ Last updated 04/11/2019
iot-hub Iot Hub Ip Filtering https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-ip-filtering.md
description: How to use IP filtering to allow connections from specific IP addre
-+ Last updated 09/17/2024
iot-hub Iot Hub Live Data Visualization In Power Bi https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-live-data-visualization-in-power-bi.md
description: This tutorial uses Power BI to visualize temperature and humidity d
-+ arduino Last updated 04/14/2023
iot-hub Iot Hub Live Data Visualization In Web Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-live-data-visualization-in-web-apps.md
description: This tutorial uses a web application to visualize temperature and h
-+ Last updated 05/23/2023
iot-hub Iot Hub Managed Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-managed-identity.md
description: How to use managed identities to allow egress connectivity from you
-+ Last updated 08/23/2024
iot-hub Iot Hub Message Enrichments Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-message-enrichments-overview.md
Title: Overview of Azure IoT Hub message enrichments
description: This article shows message enrichments, which give the IoT Hub the ability to stamp messages with additional information before the messages are sent to the designated endpoint. -+ Last updated 04/21/2022
iot-hub Iot Hub Monitoring Notifications With Azure Logic Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-monitoring-notifications-with-azure-logic-apps.md
description: Tutorial - Use Azure Logic Apps to monitor IoT temperature data in
-+ Last updated 02/07/2024
iot-hub Iot Hub Non Telemetry Event Schema https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-non-telemetry-event-schema.md
Last updated 04/10/2024-+
iot-hub Iot Hub Preview Mode https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-preview-mode.md
description: Learn how to turn on preview mode for IoT Hub, why you would want to, and some warnings
-
+
Last updated 11/24/2020
iot-hub Iot Hub Public Network Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-public-network-access.md
description: Documentation on how to disable and enable public network access fo
-+ Last updated 07/07/2021
iot-hub Iot Hub Query Avro Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-query-avro-data.md
description: Use message body properties to route device telemetry to Blob stora
-+ Last updated 05/15/2019
iot-hub Iot Hub Restrict Outbound Network Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-restrict-outbound-network-access.md
description: This article describes how to configure IoT Hub to egress to truste
-+ Last updated 08/24/2021
iot-hub Iot Hub Scaling https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-scaling.md
description: How to choose the correct IoT hub tier and size to support your ant
-+ Last updated 04/08/2024
iot-hub Iot Hub Tls Deprecating 1 0 And 1 1 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-tls-deprecating-1-0-and-1-1.md
Title: Deprecating TLS 1.0 and 1.1 in IoT Hub | Microsoft Docs
description: Guidelines regarding deprecation of TLS 1.0 and 1.1 and supported ciphers in IoT Hub. -+ Last updated 04/14/2020
iot-hub Iot Hub Tls Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-tls-support.md
description: Learn about using secure TLS connections for devices and services communicating with IoT Hub
-
+
Last updated 01/05/2024
iot-hub Iot Hub Troubleshoot Connectivity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-troubleshoot-connectivity.md
description: Learn to monitor and troubleshoot common errors with device connect
-+ Last updated 07/30/2024
iot-hub Iot Hub Understand Ip Address https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-understand-ip-address.md
Title: Understanding the IP address of your IoT hub | Microsoft Docs
description: Understand how to query your IoT hub IP address and its properties. The IP address of your IoT hub can change during certain scenarios such as disaster recovery or regional failover. -+ Last updated 01/28/2022
iot-hub Iot Hub Upgrade https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/iot-hub-upgrade.md
Title: Upgrade Azure IoT Hub
description: Change the pricing and scale tier for IoT Hub to get more messaging and device management capabilities. -+ Last updated 06/21/2024
iot-hub Manage Device Twins https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/manage-device-twins.md
Title: How to manage devices and modules using twins
description: Use the Azure portal and Azure CLI to query and update device twins and module twins in your Azure IoT hub. -+ Last updated 08/14/2024
iot-hub Migrate Hub Arm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/migrate-hub-arm.md
description: Use the Azure portal, ARM templates, and service SDKs to manually m
-+ Last updated 04/14/2023
iot-hub Migrate Hub State Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/migrate-hub-state-cli.md
description: Use the Azure CLI iot hub state command group to migrate an IoT hub
-+ Last updated 04/14/2023
iot-hub Migrate Tls Certificate https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/migrate-tls-certificate.md
description: Migrate all Azure IoT hub instances to use the new DigiCert Global
-+ Last updated 01/16/2024
iot-hub Module Twins Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/module-twins-dotnet.md
description: Learn how to create module identities and update module twins using
-+ ms.devlang: csharp Last updated 08/07/2019
iot-hub Module Twins Node https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/module-twins-node.md
description: Learn how to create module identities and update module twins using
-+ ms.devlang: nodejs Last updated 08/23/2021
iot-hub Module Twins Portal Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/module-twins-portal-dotnet.md
description: Learn how to create module identities and update module twins using
-+ ms.devlang: csharp Last updated 08/20/2019
iot-hub Module Twins Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/module-twins-python.md
description: Learn how to create module identities and update module twins using
-+ ms.devlang: python Last updated 01/04/2023
iot-hub Monitor Device Connection State https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/monitor-device-connection-state.md
description: Use Event Grid or the device heartbeat pattern to monitor the conne
-+ Last updated 01/05/2024
iot-hub Monitor Iot Hub Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/monitor-iot-hub-reference.md
-+ # Azure IoT Hub monitoring data reference
iot-hub Monitor Iot Hub https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/monitor-iot-hub.md
-+ # Monitor Azure IoT Hub
iot-hub Policy Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/policy-reference.md
Last updated 02/06/2024
-+
iot-hub Query Jobs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/query-jobs.md
description: This article describes how to retrieve information about device job
-+ Last updated 09/29/2022
iot-hub Query Twins https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/query-twins.md
description: This article describes how to retrieve information about device/mod
-+ Last updated 09/29/2022
iot-hub Quickstart Bicep Route Messages https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/quickstart-bicep-route-messages.md
description: Learn how to use Bicep to publish Azure IoT Hub, storage account, a
-+ Last updated 01/04/2024
iot-hub Quickstart Control Device https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/quickstart-control-device.md
Title: Quickstart - Control a device from Azure IoT Hub | Microsoft Docs
description: In this quickstart, you run two sample applications. One application is a service application that can remotely control devices connected to your hub. The other application simulates a device connected to your hub that can be controlled remotely. -+
iot-hub Quickstart Send Telemetry Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/quickstart-send-telemetry-cli.md
Title: Quickstart - Send telemetry to Azure IoT Hub (CLI) quickstart description: This quickstart shows developers new to IoT Hub how to get started by using the Azure CLI to create an IoT hub, send telemetry, and view messages between a device and the hub.-+
iot-hub Raspberry Pi Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/raspberry-pi-get-started.md
description: Connect a Raspberry Pi to Azure IoT Hub and test sample scenarios t
-+ Last updated 02/22/2024
iot-hub Reference Iot Hub Extension https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/reference-iot-hub-extension.md
description: Reference documentation containing information about the Azure IoT Hub extension for Visual Studio Code. -+ Last updated 04/24/2023
iot-hub Reference X509 Certificates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/reference-x509-certificates.md
Title: X.509 certificates | Microsoft Docs
description: Reference documentation containing information about X.509 certificates, including certificate fields, certificate extensions, and certificate formats. -+ Last updated 02/03/2022
iot-hub Schedule Jobs Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/schedule-jobs-cli.md
description: Use the Azure CLI to schedule jobs that invoke a direct method and
-+ ms.devlang: azurecli Last updated 01/23/2023
iot-hub Schedule Jobs Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/schedule-jobs-dotnet.md
description: Use the device SDK for .NET to schedule a job that invokes a direct
-+ ms.devlang: csharp Last updated 08/20/2019
iot-hub Schedule Jobs Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/schedule-jobs-java.md
description: Use the device SDK for Java to schedule a job that invokes a direct
-+ ms.devlang: java Last updated 08/16/2019
iot-hub Schedule Jobs Node https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/schedule-jobs-node.md
description: Use the device SDK for Node.js to schedule a job that invokes a dir
-+ ms.devlang: nodejs Last updated 08/16/2019
iot-hub Schedule Jobs Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/schedule-jobs-python.md
description: Use the device SDK for Python to schedule a job that invokes a dire
-+ ms.devlang: python Last updated 09/17/2022
iot-hub Security Controls Policy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/security-controls-policy.md
Last updated 02/06/2024
-+ # Azure Policy Regulatory Compliance controls for Azure IoT Hub
iot-hub Troubleshoot Error Codes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/troubleshoot-error-codes.md
Title: Troubleshooting Azure IoT Hub error codes
description: Understand specific error codes and how to fix errors reported by Azure IoT Hub -+ Last updated 04/04/2022
iot-hub Troubleshoot Message Routing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/troubleshoot-message-routing.md
description: How to perform troubleshooting for Azure IoT Hub message routing
-+ Last updated 05/06/2020
iot-hub Tutorial Connectivity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/tutorial-connectivity.md
Last updated 02/01/2023 -+ #Customer intent: As a developer, I want to know what tools I can use to verify connectivity between my IoT devices and my IoT hub.
iot-hub Tutorial Device Twins https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/tutorial-device-twins.md
description: Tutorial - Learn how to use device twins to configure your devices
-+ ms.devlang: javascript Last updated 12/15/2022
iot-hub Tutorial Manual Failover https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/tutorial-manual-failover.md
Title: Tutorial - Manually failover an Azure IoT hub
description: Learn how to perform a manual failover of your IoT hub to a different region and then return it to the original region. -+ Last updated 11/17/2022
iot-hub Tutorial Message Enrichments https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/tutorial-message-enrichments.md
Title: Tutorial - Use message enrichments
description: Tutorial showing how to use message enrichments for Azure IoT Hub messages -+ Last updated 05/11/2023
iot-hub Tutorial Routing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/tutorial-routing.md
Title: Tutorial - Configure message routing
description: Tutorial - Route device messages to an Azure Storage account with message routing for Azure IoT Hub using the Azure CLI and the Azure portal -+ Last updated 05/11/2023
iot-hub Tutorial Use Metrics And Diags https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/tutorial-use-metrics-and-diags.md
Title: Tutorial - Set up and use metrics and logs with an Azure IoT hub description: Tutorial - Learn how to set up and use metrics and logs with an Azure IoT hub to provide data to analyze and diagnose problems your hub may be having. -+ Last updated 07/21/2022
iot-hub Tutorial X509 Test Certs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/tutorial-x509-test-certs.md
description: Tutorial - Create a root certificate authority and use it to create subordinate CA and client certificates that you can use for testing purposes with Azure IoT Hub. -+ Last updated 04/10/2024
iot-hub Virtual Network Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-hub/virtual-network-support.md
description: How to use virtual networks connectivity pattern with IoT Hub
-+ Last updated 01/13/2023
iot Concepts Architecture https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/concepts-architecture.md
Last updated 1/23/2024 -+ # IoT Plug and Play architecture
iot Concepts Developer Guide Service https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/concepts-developer-guide-service.md
Last updated 1/23/2024 -+ zone_pivot_groups: programming-languages-set-ten
iot Concepts Digital Twin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/concepts-digital-twin.md
Last updated 1/23/2024 -+ # Understand IoT Plug and Play digital twins
iot Concepts Eclipse Threadx Security Practices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/concepts-eclipse-threadx-security-practices.md
Title: Eclipse ThreadX security guidance for embedded devices
description: Learn best practices for developing secure applications on embedded devices when you use Eclipse ThreadX. -+ Last updated 04/08/2024
iot Concepts Iot Device Types https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/concepts-iot-device-types.md
Title: Overview of Azure IoT device types
description: Learn the different device types supported by Azure IoT and the tools available. -+ Last updated 04/04/2024
iot Concepts Message Payloads https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/concepts-message-payloads.md
Last updated 1/23/2024 -+ # This article applies to device developers.
iot Concepts Model Discovery https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/concepts-model-discovery.md
Last updated 08/30/2024 -+ # Use IoT Plug and Play models in an IoT solution
iot Concepts Modeling Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/concepts-modeling-guide.md
Last updated 08/30/2024 -+ #Customer intent: As a device builder, I want to understand how to design and author a DTDL model for an IoT Plug and Play device.
iot Howto Connect On Premises Sap To Azure https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/howto-connect-on-premises-sap-to-azure.md
Title: "Connecting on-premises SAP systems to Azure"
description: "Step by step guide about that shows how to connect an on-premises SAP Enterprise Resource Planning system to Azure." -+ Last updated 4/14/2024
iot Howto Convert To Pnp https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/howto-convert-to-pnp.md
Last updated 1/23/2024 -+ # How to convert an existing device to be an IoT Plug and Play device
iot Howto Manage Digital Twin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/howto-manage-digital-twin.md
Last updated 1/23/2024 -+ # Manage IoT Plug and Play digital twins
iot Howto Use Iot Explorer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/howto-use-iot-explorer.md
Last updated 10/14/2024 -+ #Customer intent: As a solution builder, I want to use a GUI tool to interact with IoT Plug and Play devices connected to an IoT hub to test and verify their behavior.
iot Iot Glossary https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-glossary.md
Title: Azure IoT glossary of terms | Microsoft Docs
description: Developer guide - a glossary explaining some of the common terms used in the Azure IoT articles. -+ Last updated 02/28/2024
iot Iot Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-introduction.md
Title: Introduction to the Azure Internet of Things (IoT) description: Introduction explaining the fundamentals of Azure IoT and the IoT services, including examples that help illustrate the use of IoT. -+ Last updated 02/27/2024
iot Iot Mqtt 5 Preview Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-mqtt-5-preview-reference.md
Title: Azure IoT Hub MQTT 5 API reference (preview) description: Learn about the IoT Hub MQTT 5 preview API -+ - ignite-2023
iot Iot Mqtt 5 Preview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-mqtt-5-preview.md
Title: Azure IoT Hub MQTT 5 support (preview) description: Learn about MQTT 5 support in IoT Hub. -+ - ignite-2023
iot Iot Mqtt Connect To Iot Dps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-mqtt-connect-to-iot-dps.md
description: Support for devices that use MQTT to connect to the Azure IoT Device Provisioning Service (DPS) device-facing endpoint. -+ Last updated 06/27/2023
iot Iot Mqtt Connect To Iot Hub https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-mqtt-connect-to-iot-hub.md
Title: Use MQTT to communicate with Azure IoT Hub
description: Support for devices that use MQTT to connect to an IoT Hub device-facing endpoint. Includes information about built-in MQTT support in the Azure IoT device SDKs. -+ Last updated 06/27/2023
iot Iot Overview Analyze Visualize https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-overview-analyze-visualize.md
Title: Analyze and visualize your IoT data description: An overview of the available options to analyze and visualize data in an IoT solution.-+
iot Iot Overview Device Connectivity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-overview-device-connectivity.md
Title: Device infrastructure and connectivity description: An overview of device infrastructure and connectivity in an Azure IoT solution, including gateways and protocols such as MQTT and OPC UA.-+
iot Iot Overview Device Development https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-overview-device-development.md
Title: Device development introduction description: An overview of Azure IoT device development including an introduction to the device SDKs, modeling, IoT Edge modules, and a survey of the available tools.-+
iot Iot Overview Device Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-overview-device-management.md
Title: Device management and control description: An overview of device management and control options in an Azure IoT solution including device updates.-+
iot Iot Overview Message Processing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-overview-message-processing.md
Title: Process messages from your devices description: An overview of message processing options in an Azure IoT solution including routing and enrichments.-+
iot Iot Overview Scalability High Availability https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-overview-scalability-high-availability.md
Title: IoT solution scalability and high availability description: An overview of the scalability, high availability, and disaster recovery options for an IoT solution.-+
iot Iot Overview Security https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-overview-security.md
Title: Security best practices description: Security best practices for building, deploying, and operating your IoT solution. Includes recommendations for devices, data, and infrastructure -+ Last updated 06/20/2024
iot Iot Overview Solution Extensibility https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-overview-solution-extensibility.md
Title: Extend your IoT solution description: An overview of the extensibility options in an IoT solution.-+
iot Iot Overview Solution Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-overview-solution-management.md
Title: Manage your IoT solution description: An overview of the management options for an IoT solution such as the Azure portal and ARM templates.-+
iot Iot Phone App How To https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-phone-app-how-to.md
Title: Use your smartphone as an Azure IoT device description: A how-to guide that shows you how to turn your smartphone into an IoT device by using the Azure IoT Plug and Play app. -+ Last updated 02/28/2024
iot Iot Sdks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-sdks.md
Title: Azure IoT device and service SDKs
description: A list of the IoT SDKs and libraries. Includes SDKs for device development and SDKs for building service applications. -+ Last updated 02/28/2024
iot Iot Security Architecture https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-security-architecture.md
Title: Security architecture description: Security architecture guidelines and considerations for Azure IoT solutions illustrated using the IoT reference architecture -+ Last updated 06/20/2024
iot Iot Services And Technologies https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-services-and-technologies.md
Title: Azure Internet of Things (IoT) technologies and solutions description: Describes the collection of technologies and services you can use to build Azure IoT PaaS and aPaaS solutions. -+ Last updated 06/20/2024
iot Iot Support Help https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/iot-support-help.md
Title: Azure IoT support and help options | Microsoft Docs
description: How to obtain help and support for questions or problems when you create solutions using Azure IoT Services. -+ Last updated 02/28/2024
iot Set Up Environment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/set-up-environment.md
Last updated 1/23/2024 -+ ms.devlang: azurecli
iot Tutorial Connect Device https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/tutorial-connect-device.md
Last updated 1/23/2024 -+ zone_pivot_groups: programming-languages-set-twenty-seven
iot Tutorial Iot Industrial Solution Architecture https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/tutorial-iot-industrial-solution-architecture.md
Title: "Implement the Azure Industrial IoT reference solution architecture"
description: "Azure Industrial IoT reference architecture for condition monitoring, Overall Equipment Effectiveness (OEE) calculation, forecasting, and anomaly detection." -+ Last updated 10/10/2024
iot Tutorial Migrate Device To Module https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/tutorial-migrate-device-to-module.md
Last updated 1/23/2024 -+ #Customer intent: As a device builder, I want to learn how to implement a module that works with IoT Plug and Play.
iot Tutorial Multiple Components https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/tutorial-multiple-components.md
Last updated 1/23/2024 -+ zone_pivot_groups: programming-languages-set-twenty-six
iot Tutorial Service https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/tutorial-service.md
Last updated 1/23/2024 -+ zone_pivot_groups: programming-languages-set-ten
iot Tutorial Use Mqtt https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot/tutorial-use-mqtt.md
Last updated 04/04/2024 -+ #Customer intent: As a device builder, I want to see how I can use the MQTT protocol to create an IoT device client without using the Azure IoT Device SDKs.
logic-apps Sap https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/connectors/sap.md
For a Standard workflow that runs in single-tenant Azure Logic Apps, you can ena
1. On your logic app resource menu, under **Settings**, select **Environment variables**.
- 1. On the **App settings** tab, check whether the settings named **SAP_PSE** and **SAP__PSE_Password** already exist. If they don't exist, you have to add each setting at the end of the settings list, provide the following required information, and select **Apply** for each setting:
+ 1. On the **App settings** tab, check whether the settings named **SAP_PSE** and **SAP_PSE_Password** already exist. If they don't exist, you have to add each setting at the end of the settings list, provide the following required information, and select **Apply** for each setting:
| Name | Value | Description | ||-|-|
logic-apps Logic Apps Securing A Logic App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/logic-apps-securing-a-logic-app.md
ms.suite: integration Previously updated : 08/15/2024 Last updated : 10/15/2024 # Secure access and data for workflows in Azure Logic Apps
When a workflow starts with a request-based trigger, and you save that workflow
For example, to view this URL in a **Request** trigger, find the trigger's **HTTP URL** property: The complete URL looks like the following example:
The SAS in the URL has query parameters, which the following table describes:
| **`sv`** | Specifies the SAS version to use for generating the signature. | | **`sig`** | Specifies the signature to use for authenticating access to the trigger. This signature is generated by using the SHA256 algorithm with a secret access key on all the URL paths and properties. This key is kept secret and encrypted, stored with the logic app, and is never exposed or published. Your logic app authorizes only those triggers that contain a valid signature created with the secret key. |
-> [!CAUTION]
+> [!IMPORTANT]
>
-> Make sure to protect an SAS just as you would protect an account key from unauthorized use.
-> Set up or have a plan in place for revoking a compromised SAS key. Employ discretion in
-> distributing an SAS URI, and only distribute SAS URIs over a secure connection such as HTTPS.
-> Make sure to only perform operations that use an SAS over an HTTPS connection.
+> Make sure to protect your SAS key just as you protect an account key from unauthorized use. Set up or have a plan
+> for revoking a compromised access key. Use discretion when you distribute URIs that use access keys, and only
+> distribute such URIs over a secure connection such as HTTPS. Make sure to only perform operations that use an access
+> key over an HTTPS connection. Anyone that has a URI with valid key can access the associated resource. To maintain
+> security and protect access to your logic app workflow, [regenerate access keys](#regenerate-access-keys) on a regular
+> schedule as they might need to comply with security policies or become compromised. This way, you can make sure that
+> only authorized requests can trigger your workflow, which protects your data and processes from unauthorized access.
>
-> If you use an SAS to access storage services, Microsoft recommends that you
+> If you use an SAS key to access storage services, Microsoft recommends that you
> [create a user delegation SAS](/rest/api/storageservices/create-user-delegation-sas), > which is secured with [Microsoft Entra ID](/entra/identity/authentication/overview-authentication), > rather than an account key.-
-Inbound calls to the endpoint on a request-based trigger can use only one authorization scheme, either SAS or [OAuth 2.0 with Microsoft Entra ID](#enable-oauth). Although using one scheme doesn't disable the other, if you use both schemes at the same time, Azure Logic Apps generates an error because the service doesn't know which scheme to choose.
-
-If your Consumption workflow starts with the **Request** trigger, you can [disable SAS authentication](#disable-sas). This option works even if you also [restrict authorization to use only OAuth 2.0 with Microsoft Entra ID](#enable-oauth-only-option). For Standard workflows, you can use other authentication types without disabling SAS.
-
-> [!IMPORTANT]
> > For optimal security, Microsoft recommends using [Microsoft Entra ID](/entra/identity/authentication/overview-authentication)
-> with [managed identities](/entra/identity/managed-identities-azure-resources/overview) for authentication when possible.
+> with [managed identities](/entra/identity/managed-identities-azure-resources/overview) for authentication whenever possible.
> This option provides superior security without having to provide credentials. Azure manages this identity and helps keep > authentication information secure so that you don't have to manage this sensitive information. To set up a managed identity > for Azure Logic Apps, see [Authenticate access and connections to Azure resources with managed identities in Azure Logic Apps](authenticate-with-managed-identity.md).
-For more information about using SAS, see the following sections in this guide:
+Inbound calls to the endpoint on a request-based trigger can use only one authorization scheme, either SAS or [OAuth 2.0 with Microsoft Entra ID](#enable-oauth). Although using one scheme doesn't disable the other, if you use both schemes at the same time, Azure Logic Apps generates an error because the service doesn't know which scheme to choose.
+
+If you have a Consumption workflow that starts with the **Request** trigger, you can [disable SAS authentication](#disable-sas). This option works even if you also [restrict authorization to use only OAuth 2.0 with Microsoft Entra ID](#enable-oauth-only-option). For Standard workflows, you can use other authentication types without disabling SAS.
+
+For more information about security when you use an SAS key, see the following sections in this guide:
* [Regenerate access keys](#regenerate-access-keys) * [Create expiring callback URLs](#expiring-callback-urls)
This option works even if you also [enable OAuth 2.0 with Microsoft Entra ID as
> [!NOTE] >
-> This action disables SAS authentication for incoming requests and blocks existing SAS tokens or
-> signatures from working. However, your SAS tokens or signatures remain valid and still work
-> if you enable SAS authentication again. To disable SAS tokens and signatures, see
+> This action disables SAS authentication for incoming requests and blocks existing SAS keys or
+> signatures from working. However, your SAS keys or signatures remain valid and still work if you
+> enable SAS authentication again. To disable SAS keys and signatures by creating new versions, see
> [Regenerate access keys](#regenerate-access-keys). After you disable SAS authentication, the endpoint URL for the **Request** trigger no longer includes the SAS key, for example:
For Consumption workflows where you want to disable SAS authentication, follow t
### Regenerate access keys
-To generate a new security access key at any time, use the Azure REST API or Azure portal. All previously generated URLs that use the old key are invalidated and no longer have authorization to trigger the logic app. The URLs that you retrieve after regeneration are signed with the new access key.
+To maintain security and protect access to your logic app workflow, regenerate access keys on a regular schedule as they might need to comply with security policies or become compromised. This way, you can make sure that only authorized requests can trigger your workflow, which protects your data and processes from unauthorized access.
+
+To generate a new access key at any time, use the Azure REST API or Azure portal. All previously generated URIs or URLs that use the old key are invalidated and no longer have authorization to trigger your logic app workflow. The URIs that you retrieve after regeneration are signed with the new access key.
-1. In the [Azure portal](https://portal.azure.com), open the logic app that has the key you want to regenerate.
+1. In the [Azure portal](https://portal.azure.com), open the logic app resource that uses the key you want to regenerate.
1. On the logic app resource menu, under **Settings**, select **Access Keys**. 1. Select the key that you want to regenerate and finish the process.
+> [!IMPORTANT]
+>
+> Make sure to protect your access key just as you protect an account key from unauthorized use. Set up or have a plan
+> for revoking a compromised access key. Use discretion when you distribute URIs that use access keys, and only
+> distribute such URIs over a secure connection such as HTTPS. Make sure to only perform operations that use an access
+> key over an HTTPS connection. Anyone that has a URI with valid key can access the associated resource.
+>
+> If you use an SAS key to access storage services, Microsoft recommends that you
+> [create a user delegation SAS](/rest/api/storageservices/create-user-delegation-sas),
+> which is secured with [Microsoft Entra ID](/entra/identity/authentication/overview-authentication),
+> rather than an account key.
+>
+> For optimal security, Microsoft recommends using [Microsoft Entra ID](/entra/identity/authentication/overview-authentication)
+> with [managed identities](/entra/identity/managed-identities-azure-resources/overview) for authentication when possible.
+> This option provides superior security without having to provide credentials. Azure manages this identity and helps keep
+> authentication information secure so that you don't have to manage this sensitive information. To set up a managed identity
+> for Azure Logic Apps, see [Authenticate access and connections to Azure resources with managed identities in Azure Logic Apps](authenticate-with-managed-identity.md).
+ <a name="expiring-callback-urls"></a> ### Create expiring callback URLs
On all other triggers and actions that support the **Active Directory OAuth** (O
| Property (designer) | Property (JSON) | Required | Value | Description | ||--|-|-|-| | **Authentication** | `type` | Yes | **Active Directory OAuth** (OAuth 2.0 with Microsoft Entra ID) <br>or <br>`ActiveDirectoryOAuth` | The authentication type to use. Azure Logic Apps currently follows the [OAuth 2.0 protocol](/entra/architecture/auth-oauth2). |
-| **Authority** | `authority` | No | <*URL-for-authority-token-issuer*> | The URL for the authority that provides the access token, such as `https://login.microsoftonline.com/` for Azure global service regions. For other national clouds, review [Microsoft Entra authentication endpoints - Choosing your identity authority](/entra/identity-platform/authentication-national-cloud#application-endpoints). |
+| **Authority** | `authority` | No | <*URL-for-authority-token-issuer*> | The URL for the authority that provides the access key, such as `https://login.microsoftonline.com/` for Azure global service regions. For other national clouds, review [Microsoft Entra authentication endpoints - Choosing your identity authority](/entra/identity-platform/authentication-national-cloud#application-endpoints). |
| **Tenant** | `tenant` | Yes | <*tenant-ID*> | The tenant ID for the Microsoft Entra tenant | | **Audience** | `audience` | Yes | <*resource-to-authorize*> | The resource that you want to use for authorization, for example, `https://management.core.windows.net/` | | **Client ID** | `clientId` | Yes | <*client-ID*> | The client ID for the app requesting authorization |
For more information about isolation, see the following documentation:
* [Isolation in the Azure Public Cloud](../security/fundamentals/isolation-choices.md) * [Security for highly sensitive IaaS apps in Azure](/azure/architecture/reference-architectures/n-tier/high-security-iaas)
-## Related contet
+## Related content
* [Azure security baseline for Azure Logic Apps](security-baseline.md) * [Automate deployment for Azure Logic Apps](logic-apps-azure-resource-manager-templates-overview.md)
migrate Migrate Support Matrix Hyper V Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/migrate/migrate-support-matrix-hyper-v-migration.md
# Support matrix for Hyper-V migration
+> [!CAUTION]
+> This article references CentOS, a Linux distribution that is End Of Life (EOL) status. Please consider your use and planning accordingly. For more information, see the [CentOS End Of Life guidance](/azure/virtual-machines/workloads/centos/centos-end-of-life).
+ This article summarizes support settings and limitations for migrating Hyper-V VMs with [Migration and modernization](migrate-services-overview.md) . If you're looking for information about assessing Hyper-V VMs for migration to Azure, review the [assessment support matrix](migrate-support-matrix-hyper-v.md). ## Migration limitations
migrate Prepare For Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/migrate/prepare-for-migration.md
# Prepare on-premises machines for migration to Azure
+> [!CAUTION]
+> This article references CentOS, a Linux distribution that is End Of Life (EOL) status. Please consider your use and planning accordingly. For more information, see the [CentOS End Of Life guidance](/azure/virtual-machines/workloads/centos/centos-end-of-life).
+ This article describes how to prepare on-premises machines before you migrate them to Azure using the [Migration and modernization](migrate-services-overview.md) tool. In this article, you:
migrate Troubleshoot Appliance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/migrate/troubleshoot-appliance.md
# Troubleshoot the Azure Migrate appliance
-> [!CAUTION]
-> This article references CentOS, a Linux distribution that is End Of Life (EOL) status. Please consider your use and planning accordingly. For more information, see the [CentOS End Of Life guidance](/azure/virtual-machines/workloads/centos/centos-end-of-life).
- This article helps you troubleshoot issues when you deploy the [Azure Migrate](migrate-services-overview.md) appliance and use the appliance to discover on-premises servers. ## What's supported?
You can also run the commands from the command prompt on the appliance server by
ssh <username>@<servername> ````
-Few Linux machines like Oracle/CentOS have a configuration value that requires **tty** option to be enabled by default which can cause an error. In such cases, you can disable this setting by adding **a "!"** character in the **/etc/sudoers** file. You can also add the following at the end of **/etc/sudoers/** file to ensure that no other configuration in the file can override this:
+Few Linux machines like Oracle have a configuration value that requires **tty** option to be enabled by default which can cause an error. In such cases, you can disable this setting by adding **a "!"** character in the **/etc/sudoers** file. You can also add the following at the end of **/etc/sudoers/** file to ensure that no other configuration in the file can override this:
- Defaults !visiblepw - Defaults !requiretty
migrate Migrate Support Matrix Vmware Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/migrate/vmware/migrate-support-matrix-vmware-migration.md
# Support matrix for VMware vSphere migration
+> [!CAUTION]
+> This article references CentOS, a Linux distribution that is End Of Life (EOL) status. Please consider your use and planning accordingly. For more information, see the [CentOS End Of Life guidance](/azure/virtual-machines/workloads/centos/centos-end-of-life).
+ This article summarizes support settings and limitations for migrating VMware vSphere VMs with [Migration and modernization](../migrate-services-overview.md) . If you're looking for information about assessing VMware vSphere VMs for migration to Azure, review the [assessment support matrix](migrate-support-matrix-vmware.md). ## Migration options
migrate Prepare For Agentless Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/migrate/vmware/prepare-for-agentless-migration.md
# Prepare for VMware agentless migration
+> [!CAUTION]
+> This article references CentOS, a Linux distribution that is End Of Life (EOL) status. Please consider your use and planning accordingly. For more information, see the [CentOS End Of Life guidance](/azure/virtual-machines/workloads/centos/centos-end-of-life).
+ This article provides an overview of the changes performed when you [migrate VMware VMs to Azure via the agentless migration](./tutorial-migrate-vmware.md) method using the Migration and modernization tool. Before you migrate your on-premises VM to Azure, you may require a few changes to make the VM ready for Azure. These changes are important to ensure that the migrated VM can boot successfully in Azure and connectivity to the Azure VM can be established-.
modeling-simulation-workbench Limits Quotas https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/modeling-simulation-workbench/limits-quotas.md
+
+ Title: "Limits and quotas: Azure Modeling and Simulation Workbench"
+description: "Learn about limits and quotas in the Azure Modeling and Simulation Workbench."
++++ Last updated : 10/15/2024+
+#customer intent: As a user in Azure Modeling and Simulation Workbench, I want to learn about limitations and quotas in the environment.
++
+# Azure Modeling and Simulation Workbench limits and quotas
+
+The Modeling and Simulation Workbench has various quotas and limitations on deploying resources or configurations. Workbenches and chambers have overhead which might affect some of the available resource quotas. Those cases are called out in this article.
+
+Resources, such as chambers and virtual machines, appear in your user subscription, but are deployed into a Microsoft managed environment and subscription. Quotas applied to your own subscription don't apply to Modeling and Simulation Workbench.
+
+## Chambers
+
+| Item | Quota or limit | Notes |
+|--|-|--|
+| Chambers per workbench | Limit 3 | |
+| Users per chamber | No limit | |
+| Supports parallel deployment? | No | Only one chamber can be deployed at any given time. |
+| Identity and Access Management (IAM) | Users only | Chambers don't support Azure Groups. Individual user role assignments only. |
+| Deployment location | Same as workbench | Chambers and dependent resources are deployed to the workbench's location, regardless of requested location. |
+
+## Virtual machines
+
+Virtual machines (VM) are limited by a different subscription quota than your customer quota. Requesting quota increases to your customer subscription doesn't affect your VM quota in Modeling and Simulation Workbench. Modeling and Simulation Workbench provides a select set of high-performance and general computing VMs. To learn about which offerings and families are available, see the [VM offerings](./concept-vm-offerings.md) guide. The following table lists the quota by family.
+
+The table lists quota by virtual CPUs (vCPU), where each physical CPU is equivalent to two vCPUs. Consult the VM guide to determine how many vCPUs each VM has.
+
+vCPU quotas listed are initial default. More capacity can be requested.
+
+| Item | Quota or limit | Notes |
+|-|--|--|
+| D-series | 156 vCPUs | D-series are used in workbench infrastructure. Creating more chambers reduces D-series quantity. |
+| E-series | 256 vCPUs | Initial quota, more can be requested. |
+| F-series | 100 vCPUs | Initial quota, more can be requested. |
+| M-series | 128 vCPUs | Initial quota, more can be requested. |
+| Supports parallel deployment? | Yes | Multiple VMs can be deployed simultaneously. |
+| Deployment location | Same as workbench. | |
+
+## Storage
+
+| Item | Quota or limit | Notes |
+|-|--||
+| Home volume quota | 200-GB limit | For entire volume, shared across all users. |
+| `datain` volume | 1-TB limit | |
+| `dataout` volume | 1-TB limit | |
+| File size limit on data pipeline | 100-GB limit per file | |
+| Chamber storage volumes | 4 TB initial, 4-TB increments, 20-TB quota | More quota can be requested. |
+| Shared storage volumes | 4 TB initial, 4-TB increments, 20-TB quota | More quota can be requested. |
+
+## Networking
+
+| Item | Quota or limit | Notes |
+|-|-|-|
+| Connectors per chamber | 1 | Limit one connector per chamber. |
+| Number of allowlist entries (public IP connector) | 200 | Max. limit on entries in the table. Subnets ranges can be specified. |
+| Maximum subnet mask (public IP connector) | /24 | |
+
+## License service
+
+* Limit of one license file can be uploaded to each license server at a time. Subsequent uploads overwrite the current file.
+
+## Related content
+
+* [VM Offerings in Azure Modeling and Simulation Workbench](concept-vm-offerings.md)
+* [Storage and access in Azure Modeling and Simulation Workbench](concept-storage.md)
network-watcher Network Watcher Intrusion Detection Open Source Tools https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/network-watcher/network-watcher-intrusion-detection-open-source-tools.md
Previously updated : 07/30/2024 Last updated : 10/16/2024 # Perform network intrusion detection by using Azure Network Watcher and open-source tools
network-watcher Network Watcher Nsg Grafana https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/network-watcher/network-watcher-nsg-grafana.md
Previously updated : 09/26/2024 Last updated : 10/16/2024
Now that you have successfully configured Grafana to read from the ElasticSearch
![Dashboard graph](./media/network-watcher-nsg-grafana/network-watcher-nsg-grafana-fig3.png)
-The following screenshot depicts a graph and chart showing the top flows and their frequency. Flows are also shown by NSG rule and flows by decision. Grafana is highly customizable so it's advisable that you create dashboards to suit your specific monitoring needs. The following example shows a typical dashboard:
-
-![Screenshot that shows the sample graph configuration with flows segmented by NSG rule.](./media/network-watcher-nsg-grafana/network-watcher-nsg-grafana-fig4.png)
- ## Conclusion By integrating Network Watcher with ElasticSearch and Grafana, you now have a convenient and centralized way to manage and visualize NSG flow logs as well as other data. Grafana has a number of other powerful graphing features that can also be used to further manage flow logs and better understand your network traffic. Now that you have a Grafana instance set up and connected to Azure, feel free to continue to explore the other functionality that it offers.
operator-nexus Cluster Jsonc Example https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/operator-nexus/cluster-jsonc-example.md
"metadata": { "description": "Secret KeyVault for credential rotation" }
- },
- "sshKeyUrl": {
- "type": "string",
- "metadata": {
- "description": "SSH Key URL that is used for to gather list of Public Keys"
- }
} }, "variables": {},
} } }
- ],
+ }
+],
"outputs": {} } ```
operator-nexus Cluster Parameters Jsonc Example https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/operator-nexus/cluster-parameters-jsonc-example.md
Last updated 05/08/2024
- # Example of cluster.parameter.jsonc template file. ```cluster.parameter.jsonc
"secretArchive": { "value": "$KV_RESOURCE_ID" },
- "sshKeyUrl": {
- "value": "https://"
- },
"aggregatorOrSingleRack": { "value": { "networkRackId": "$AGGR_RACK_RESOURCE_ID",
operator-nexus Howto Credential Rotation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/operator-nexus/howto-credential-rotation.md
description: Describes the credential rotation lifecycle including automated rot
Previously updated : 03/19/2024 Last updated : 10/9/2024
The Operator Nexus Platform offers a managed credential rotation process that au
- Baseboard Management Controller (BMC) - Pure Storage Array Administrator - Console User for emergency access
+- Console User SSH keys for emergency access
- Local path storage
-When a new Cluster is created, the credentials are automatically rotated during deployment. The managed credential process then automatically rotates these credentials every 60 days. The updated credentials are written to the key vault associated with the Cluster resource. The last rotation timestamps are currently not visible to users, but is a planned enhancement to the Operator Nexus Platform.
+When a new Cluster is created, the credentials are automatically rotated during deployment. The managed credential process then automatically rotates these credentials periodically based on the credential type. The updated credentials are written to the key vault associated with the Cluster resource. With the 2024-07-01-GA API, the credential rotation status is available on the Bare Metal Machine or Storage Appliance resources in the `secretRotationStatus` data construct for each of the rotated credentials.
> [!NOTE]
-> The introduction of this capability enables auto-rotation for existing instances. If any of the supported credentials have not been rotated within the last 60 days, they will be rotated at the time of upgrade.
+> The introduction of this capability enables auto-rotation for existing instances. If any of the supported credentials have not been rotated within the expected rotation time period, they will be rotated during the management upgrade.
Operator Nexus also provides a service for preemptive rotation of the above Platform credentials. This service is available to customers upon request through a support ticket. Credential rotation for Operator Nexus Fabric devices also requires a support ticket. Instructions for generating a support request are described in the next section.
reliability Availability Service By Category https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/availability-service-by-category.md
Last updated 06/13/2024 -+ # Available services by region types and categories
reliability Availability Zones Baseline https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/availability-zones-baseline.md
Last updated 04/06/2023 -+ # Azure availability zone migration baseline
reliability Availability Zones Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/availability-zones-overview.md
Last updated 09/20/2023
-+
reliability Availability Zones Service Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/availability-zones-service-support.md
Last updated 04/15/2024
-+ # Availability zone service and regional support
Azure offerings are grouped into three categories that reflect their _regional_
| **Products** | **Resiliency** | | | | | [Azure Application Gateway (V2)](migrate-app-gateway-v2.md) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) ![An icon that signifies this service is zonal.](media/icon-zonal.svg) |
-| [Azure API Management](migrate-api-mgt.md) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) |
+| [Azure API Management](migrate-api-mgt.md) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) ![An icon that signifies this service is zonal](media/icon-zonal.svg) |
| [Azure App Configuration](../azure-app-configuration/faq.yml#how-does-app-configuration-ensure-high-data-availability) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) | | [Azure App Service](./reliability-app-service.md#availability-zone-support) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) | | [Azure App Service: App Service Environment](./reliability-app-service.md#availability-zone-support) | ![An icon that signifies this service is zone redundant.](media/icon-zone-redundant.svg) ![An icon that signifies this service is zonal](media/icon-zonal.svg) |
reliability Business Continuity Management Program https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/business-continuity-management-program.md
Last updated 10/21/2021 -+ # Business continuity management in Azure
reliability Cross Region Replication Azure No Pair https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/cross-region-replication-azure-no-pair.md
Last updated 09/10/2024 -+ # Cross-region replication solutions for nonpaired regions
reliability Cross Region Replication Azure https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/cross-region-replication-azure.md
Last updated 12/12/2022 -+ # Azure cross-region replication
reliability Disaster Recovery Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/disaster-recovery-overview.md
Last updated 08/25/2023 -+
reliability Glossary https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/glossary.md
Last updated 10/01/2021 -+ # Reliability terminology
reliability Migrate Service Fabric https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/migrate-service-fabric.md
Last updated 03/23/2023 -+ # Migrate your Service Fabric cluster to availability zone support
reliability Reliability App Gateway Containers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/reliability-app-gateway-containers.md
-+ Last updated 02/07/2024
reliability Reliability Health Insights https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/reliability-health-insights.md
Last updated 02/06/2024 +
reliability Reliability Microsoft Purview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/reliability-microsoft-purview.md
Microsoft Purview makes commercially reasonable efforts to support zone-redundan
Microsoft Purview makes commercially reasonable efforts to provide availability zone support in various regions as follows:
-| Region | Data Map | Data Governance | Scan | Policy | Insights |
-| | | | | | |
-|Southeast Asia|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|East US|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|Australia East|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |:::image type="icon" source="media/yes-icon.svg":::|
-|West US 2|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|Canada Central|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |:::image type="icon" source="media/yes-icon.svg":::|
-|Central India|||:::image type="icon" source="media/yes-icon.svg":::||:::image type="icon" source="media/yes-icon.svg":::|
-|East US 2|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|France Central|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|Germany West Central|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|Japan East|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|Korea Central|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|West US 3|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|North Europe|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|South Africa North|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|Sweden Central|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |
-|Switzerland North|||:::image type="icon" source="media/yes-icon.svg":::|||
-|USGov Virginia|:::image type="icon" source="media/yes-icon.svg":::||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |:::image type="icon" source="media/yes-icon.svg":::|
-|South Central US|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|Brazil South|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|UK South|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |:::image type="icon" source="media/yes-icon.svg":::|
-|Qatar Central|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
-|China North 3|:::image type="icon" source="media/yes-icon.svg":::||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |:::image type="icon" source="media/yes-icon.svg":::|
-|West Europe|||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+| Region | Data Map | Scan | Policy | Insights |
+| | | | | |
+|Southeast Asia||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|East US||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|Australia East|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |:::image type="icon" source="media/yes-icon.svg":::|
+|West US 2||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|Canada Central|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |:::image type="icon" source="media/yes-icon.svg":::|
+|Central India||:::image type="icon" source="media/yes-icon.svg":::||:::image type="icon" source="media/yes-icon.svg":::|
+|East US 2||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|France Central||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|Germany West Central||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|Japan East||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|Korea Central||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|West US 3||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|North Europe||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|South Africa North||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|Sweden Central||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |
+|Switzerland North||:::image type="icon" source="media/yes-icon.svg":::|||
+|USGov Virginia|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |:::image type="icon" source="media/yes-icon.svg":::|
+|South Central US||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|Brazil South||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|UK South|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |:::image type="icon" source="media/yes-icon.svg":::|
+|Qatar Central||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
+|China North 3|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg"::: |:::image type="icon" source="media/yes-icon.svg":::|
+|West Europe||:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|:::image type="icon" source="media/yes-icon.svg":::|
## Disaster recovery and business continuity
reliability Sovereign Cloud China https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/sovereign-cloud-china.md
Last updated 09/08/2023 -+ # Availability of services for Microsoft Azure operated by 21Vianet
sap Sap Hana High Availability Netapp Files Red Hat https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sap/workloads/sap-hana-high-availability-netapp-files-red-hat.md
vm-linux Previously updated : 06/18/2024 Last updated : 10/16/2024
For more information about the required ports for SAP HANA, read the chapter [Co
sudo echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf ```
- ΓÇïFor more information on how to change the `nfs_disable_idmapping` parameter, see the [Red Hat Knowledge Base](https://access.redhat.com/solutions/1749883).
+ For more information on how to change the `nfs_disable_idmapping` parameter, see the [Red Hat Knowledge Base](https://access.redhat.com/solutions/1749883).
## SAP HANA installation
In this example, each cluster node has its own HANA NFS file systems `/hana/shar
Location rule constraints are set so that the SAP HANA resources can run on a node only if all of the node's NFS mounts are mounted. ```bash
- sudo pcs constraint location SAPHanaTopology_HN1_03-clone rule score=-INFINITY hana_nfs1_active ne true and hana_nfs2_active ne true
+ sudo pcs constraint location SAPHanaTopology_HN1_03-clone rule score=-INFINITY hana_nfs1_active ne true and hana_nfs2_active ne true
``` On RHEL 7.x: ```bash
- sudo pcs constraint location SAPHana_HN1_03-master rule score=-INFINITY hana_nfs1_active ne true and hana_nfs2_active ne true
+ sudo pcs constraint location SAPHana_HN1_03-master rule score=-INFINITY hana_nfs1_active ne true and hana_nfs2_active ne true
``` On RHEL 8.x/9.x: ```bash
- sudo pcs constraint location SAPHana_HN1_03-clone rule score=-INFINITY hana_nfs1_active ne true and hana_nfs2_active ne true
+ sudo pcs constraint location SAPHana_HN1_03-clone rule score=-INFINITY hana_nfs1_active ne true and hana_nfs2_active ne true
```
- Take the cluster out of maintenance mode.
+1. **[1]** Configure ordering constraints so that the SAP resources on a node will stop ahead of a stop for any of the NFS mounts.
+
+ ```bash
+ pcs constraint order stop SAPHanaTopology_HN1_03-clone then stop hanadb1_nfs
+ pcs constraint order stop SAPHanaTopology_HN1_03-clone then stop hanadb2_nfs
+ ```
+
+ On RHEL 7.x:
+
+ ```bash
+ pcs constraint order stop SAPHana_HN1_03-master then stop hanadb1_nfs
+ pcs constraint order stop SAPHana_HN1_03-master then stop hanadb2_nfs
+ ```
+
+ On RHEL 8.x/9.x:
+
+ ```bash
+ pcs constraint order stop SAPHana_HN1_03-clone then stop hanadb1_nfs
+ pcs constraint order stop SAPHana_HN1_03-clone then stop hanadb2_nfs
+ ```
+
+ Take the cluster out of maintenance mode.
```bash sudo pcs property set maintenance-mode=false
This section describes how you can test your setup.
```output Full list of resources: rsc_hdb_azr_agt (stonith:fence_azure_arm): Started hanadb1-
+
Resource Group: hanadb1_nfs hana_data1 (ocf::heartbeat:Filesystem): Started hanadb1 hana_log1 (ocf::heartbeat:Filesystem): Started hanadb1 hana_shared1 (ocf::heartbeat:Filesystem): Started hanadb1-
+
Resource Group: hanadb2_nfs hana_data2 (ocf::heartbeat:Filesystem): Started hanadb2 hana_log2 (ocf::heartbeat:Filesystem): Started hanadb2 hana_shared2 (ocf::heartbeat:Filesystem): Started hanadb2-
+
hana_nfs1_active (ocf::pacemaker:attribute): Started hanadb1 hana_nfs2_active (ocf::pacemaker:attribute): Started hanadb2-
+
Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03] Started: [ hanadb1 hanadb2 ]-
+
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03] Masters: [ hanadb1 ] Slaves: [ hanadb2 ]-
+
Resource Group: g_ip_HN1_03 nc_HN1_03 (ocf::heartbeat:azure-lb): Started hanadb1 vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hanadb1
This section describes how you can test your setup.
```output Full list of resources:-
+
rsc_hdb_azr_agt (stonith:fence_azure_arm): Started hanadb2-
+
Resource Group: hanadb1_nfs hana_data1 (ocf::heartbeat:Filesystem): Stopped hana_log1 (ocf::heartbeat:Filesystem): Stopped hana_shared1 (ocf::heartbeat:Filesystem): Stopped-
+
Resource Group: hanadb2_nfs hana_data2 (ocf::heartbeat:Filesystem): Started hanadb2 hana_log2 (ocf::heartbeat:Filesystem): Started hanadb2 hana_shared2 (ocf::heartbeat:Filesystem): Started hanadb2-
+
hana_nfs1_active (ocf::pacemaker:attribute): Stopped hana_nfs2_active (ocf::pacemaker:attribute): Started hanadb2-
+
Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03] Started: [ hanadb2 ] Stopped: [ hanadb1 ]-
+
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03] Masters: [ hanadb2 ] Stopped: [ hanadb1 ]-
+
Resource Group: g_ip_HN1_03 nc_HN1_03 (ocf::heartbeat:azure-lb): Started hanadb2 vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hanadb2
sap Sap Hana High Availability Rhel https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sap/workloads/sap-hana-high-availability-rhel.md
Previously updated : 06/18/2024 Last updated : 10/16/2024
This important step optimizes the integration with the cluster and improves the
sudo yum install -y resource-agents-sap-hana ```
+ > [!NOTE]
+ > For RHEL 8.x and RHEL 9.x, verify that the installed resource-agents-sap-hana package is version 0.162.3-5 or later.
+ 1. **[A]** Install the HANA `system replication hook`. The hook needs to be installed on both HANA DB nodes. > [!TIP]
sap Virtual Machine Scale Set Sap Faq https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sap/workloads/virtual-machine-scale-set-sap-faq.md
Previously updated : 08/19/2024 Last updated : 10/15/2024 # FAQs for Virtual Machine Scale Set for SAP workload
You can enable managed system identity at the VM level after a VM is manually de
### How can I migrate my current Availability set or Availability zone deployment of SAP workload to flexible scale set with zonal deployment (FD=1)?
-To migrate SAP VMs to a flexible scale set, you need to re-create the VMs and the disks with zone constraints (if necessary) from existing resources. There's no direct way to migrate SAP workloads deployed in availability sets or availability zones to flexible scale with FD=1. An [open-source project](https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/Move-VM-from-AvSet-to-AvZone/Move-Regional-SAP-HA-To-Zonal-SAP-HA-WhitePaper) includes PowerShell functions that you can use as a sample, and a [blog post](https://techcommunity.microsoft.com/t5/running-sap-applications-on-the/how-to-easily-migrate-an-existing-sap-system-vms-to-flexible/ba-p/3833548) shows you how to modify a HA or non-HA SAP system deployed in availability set or availability zone to flexible scale set with FD=1.
+To migrate SAP VMs deployed in availability set to a flexible scale set, you need to re-create the VMs and the disks with zone constraints (if necessary) from existing resources. There's no direct way to migrate SAP workloads deployed in availability sets to flexible scale with FD=1. An [open-source project](https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/Move-VM-from-AvSet-to-AvZone/Move-Regional-SAP-HA-To-Zonal-SAP-HA-WhitePaper) includes PowerShell functions that you can use as a sample, and a [blog post](https://techcommunity.microsoft.com/t5/running-sap-applications-on-the/how-to-easily-migrate-an-existing-sap-system-vms-to-flexible/ba-p/3833548) shows you how to modify a HA or non-HA SAP system deployed in availability set to flexible scale set with FD=1.
+
+For VMs deployed in an availability zone, you can attach the VM directly to a scale set with FD=1 in the same zone. For example, if your VM is deployed in availability zone 1, you can attach it to a scale set FD=1 in the same zone. For more details on how to attach a VM to a scale set and the limitations, see [Attach or detach a Virtual Machine to or from a Virtual Machine Scale Set](/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm)
### How can an existing deployment of SAP HANA configured with availability set pinning and proximity placement group, currently utilizing application volume group be migrated to flexible scale set with FD=1?
sentinel Billing Reduce Costs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/billing-reduce-costs.md
While standard analytics logs are most appropriate for continuous, real-time thr
## Optimize Log Analytics costs with dedicated clusters
-If you ingest at least 500 GB into your Microsoft Sentinel workspace or workspaces in the same region, consider moving to a Log Analytics dedicated cluster to decrease costs. A Log Analytics dedicated cluster Commitment Tier aggregates data volume across workspaces that collectively ingest a total of 500 GB or more. For more information, see [Simplified pricing tier for dedicated cluster](enroll-simplified-pricing-tier.md#simplified-pricing-tiers-for-dedicated-clusters).
+If you ingest at least 100 GB into your Microsoft Sentinel workspace or workspaces in the same region, consider moving to a Log Analytics dedicated cluster to decrease costs. A Log Analytics dedicated cluster Commitment Tier aggregates data volume across workspaces that collectively ingest a total of 100 GB or more. For more information, see [Simplified pricing tier for dedicated cluster](enroll-simplified-pricing-tier.md#simplified-pricing-tiers-for-dedicated-clusters).
You can add multiple Microsoft Sentinel workspaces to a Log Analytics dedicated cluster. There are a couple of advantages to using a Log Analytics dedicated cluster for Microsoft Sentinel: - Cross-workspace queries run faster if all the workspaces involved in the query are in the dedicated cluster. It's still best to have as few workspaces as possible in your environment, and a dedicated cluster still retains the [100 workspace limit](/azure/azure-monitor/logs/cross-workspace-query) for inclusion in a single cross-workspace query. -- All workspaces in the dedicated cluster can share the Log Analytics Commitment Tier set on the cluster. Not having to commit to separate Log Analytics Commitment Tiers for each workspace can allow for cost savings and efficiencies. By enabling a dedicated cluster, you commit to a minimum Log Analytics Commitment Tier of 500-GB ingestion per day.
+- All workspaces in the dedicated cluster can share the Log Analytics Commitment Tier set on the cluster. Not having to commit to separate Log Analytics Commitment Tiers for each workspace can allow for cost savings and efficiencies. By enabling a dedicated cluster, you commit to a minimum Log Analytics Commitment Tier of 100-GB ingestion per day.
Here are some other considerations for moving to a dedicated cluster for cost optimization:
service-connector Concept Service Connector Internals https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/concept-service-connector-internals.md
The concept of *service connection* is a key concept in the resource model of Se
| Property | Description | | - | -- | | Connection Name | The unique name of the service connection. |
-| Source Service Type | Source services are services you can connect to target services. They are usually Azure compute services and they include Azure App Service, Azure Functions, Azure Container Apps and Azure Spring Apps.
+| Source Service Type | Source services are services you can connect to target services. They are usually Azure compute services and they include Azure App Service, Azure Container Apps, Azure Functions, Azure Kubernetes Service (AKS) and Azure Spring Apps.
| Target Service Type | Target services are backing services or dependency services that your compute services connect to. Service Connector supports various target service types including major databases, storage, real-time services, state, and secret stores. | | Client Type | Client type refers to your compute runtime stack, development framework, or specific type of client library that accepts the specific format of the connection environment variables or properties. | | Authentication Type | The authentication type used for the service connection. It could be a secret/connection string, a managed identity, or a service principal. |
service-connector How To Integrate Ai Services https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-ai-services.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure AI - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate App Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-app-configuration.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure App Configuration: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Cognitive Services https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-cognitive-services.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to an Azure AI multi-service resource: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Confluent Kafka https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-confluent-kafka.md
This page shows supported authentication methods and clients to connect Apache K
Service Connector can be used to connect the following compute services to Apache Kafka on Confluent Cloud: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported Authentication types and client types
service-connector How To Integrate Cosmos Cassandra https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-cosmos-cassandra.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Cosmos DB for Apache Cassandra: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Cosmos Db https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-cosmos-db.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Cosmos DB for MongoDB: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Cosmos Gremlin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-cosmos-gremlin.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Cosmos DB for Apache Gremlin: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Cosmos Sql https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-cosmos-sql.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Cosmos DB for NoSQL: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Cosmos Table https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-cosmos-table.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Cosmos DB for Table: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Event Hubs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-event-hubs.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Event Hubs: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Key Vault https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-key-vault.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Key Vault: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Mysql https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-mysql.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Database for MySQL: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Openai https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-openai.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure OpenAI Service: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps- ## Supported authentication types and client types The table below shows which combinations of authentication methods and clients are supported for connecting your compute service to Azure OpenAI Service using Service Connector. A ΓÇ£YesΓÇ¥ indicates that the combination is supported, while a ΓÇ£NoΓÇ¥ indicates that it is not supported.
service-connector How To Integrate Postgres https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-postgres.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Database for PostgreSQL: - Azure App Service
+- Azure Container Apps
- Azure Functions-- Azure App Configuration
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Redis Cache https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-redis-cache.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Cache for Redis: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported Authentication types and client types
service-connector How To Integrate Service Bus https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-service-bus.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Service Bus: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Signalr https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-signalr.md
This article shows supported authentication methods and clients, and shows sampl
Service Connector can be used to connect the following compute services to Azure SignalR Service: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
+- Azure Spring Apps
## Supported authentication types and client types
service-connector How To Integrate Sql Database https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-sql-database.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure SQL Database: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and clients
service-connector How To Integrate Storage Blob https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-storage-blob.md
This page shows the supported authentication types, client types and sample code
Service Connector can be used to connect the following compute services to Azure Blob Storage: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Storage File https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-storage-file.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Files: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Storage Queue https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-storage-queue.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Queue Storage: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Integrate Storage Table https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-storage-table.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Table Storage: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps The table below shows which combinations of authentication methods and clients are supported for connecting your compute service to Azure Table Storage using Service Connector. A ΓÇ£YesΓÇ¥ indicates that the combination is supported, while a ΓÇ£NoΓÇ¥ indicates that it is not supported.
service-connector How To Integrate Web Pubsub https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-integrate-web-pubsub.md
This page shows supported authentication methods and clients, and shows sample c
Service Connector can be used to connect the following compute services to Azure Web PubSub: - Azure App Service-- Azure Functions - Azure Container Apps
+- Azure Functions
+- Azure Kubernetes Service (AKS)
- Azure Spring Apps ## Supported authentication types and client types
service-connector How To Provide Correct Parameters https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/how-to-provide-correct-parameters.md
Source services are usually Azure compute services. Service Connector is an [Azu
| - | | | Azure App Service | `/subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.Web/sites/{site}` | | Azure App Service slot | `/subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.Web/sites/{site}/slots/{slot}` |
+| Azure Container Apps | `/subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.App/containerApps/{app}` |
+| Azure Kubernetes Service (AKS) | `/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.ContainerService/managedClusters/{aks-cluster-name}` |
| Azure Functions | `/subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.Web/sites/{site}` | | Azure Spring Apps | `/subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.AppPlatform/Spring/{spring}/apps/{app}/deployments/{deployment}` |
-| Azure Container Apps | `/subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.App/containerApps/{app}` |
## Target service
service-connector Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-connector/overview.md
- build-2024 Previously updated : 05/06/2024 Last updated : 10/15/2024 + # What is Service Connector? Service Connector helps you connect Azure compute services to other backing services. Service Connector configures the network settings and connection information (for example, generating environment variables) between compute services and target backing services in management plane. Developers use their preferred SDK or library that consumes the connection information to do data plane operations against the target backing service.
This article provides an overview of Service Connector.
Any application that runs on Azure compute services and requires a backing service, can use Service Connector. Find below some examples that can use Service Connector to simplify service-to-service connection experience.
-* **WebApp/Container Apps/Spring Apps + Database:** Use Service Connector to connect PostgreSQL, MySQL, or Azure Cosmos DB to your App Service/Container Apps/Spring Apps.
-* **WebApp/Container Apps/Spring Apps + Storage:** Use Service Connector to connect to Azure Storage accounts and use your preferred storage products easily for any of your apps.
-* **WebApp/Container Apps/Spring Apps + Messaging
+* **Database:** Use Service Connector to connect databases, such as PostgreSQL, MySQL, or Azure Cosmos DB, to your apps.
+* **Storage:** Use Service Connector to use your preferred storage products, such as Azure Storage for any of your apps.
+* **Messaging Service:** User Service Connector to connect your cloud apps to messaging services, such as Service Bus, Event Hubs, and Apache Kafka on Confluent Cloud.
See [what services are supported in Service Connector](#what-services-are-supported-by-service-connector) to see more supported services and application patterns.
Once a service connection is created, developers can validate and check the heal
## What services are supported by Service Connector?
-**Compute
+Compute
* Azure App Service * Azure Functions
Once a service connection is created, developers can validate and check the heal
* Azure Container Apps * Azure Kubernetes Service (AKS)
-**Target
+Target
* Azure AI services * Azure App Configuration
storage Secure File Transfer Protocol Support Authorize Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/storage/blobs/secure-file-transfer-protocol-support-authorize-access.md
You can authenticate local users connecting from SFTP clients by using a passwor
| Use existing key stored in Azure | Use this option if you want to use a public key that is already stored in Azure. To find existing keys in Azure, see [List keys](/azure/virtual-machines/ssh-keys-portal#list-keys). When SFTP clients connect to Azure Blob Storage, those clients need to provide the private key associated with this public key. | | Use existing public key | Use this option if you want to upload a public key that is stored outside of Azure. If you don't have a public key, but would like to generate one outside of Azure, see [Generate keys with ssh-keygen](/azure/virtual-machines/linux/create-ssh-keys-detailed#generate-keys-with-ssh-keygen). |
+ > [!IMPORTANT]
+ > Only OpenSSH formatted public keys are supported. The key that you provide must use this format: `<key type> <key data>`. For example, RSA keys would look similar to this: `ssh-rsa AAAAB3N...`. If your key is in another format, then a tool such as `ssh-keygen` can be used to convert it to OpenSSH format.
+ 4. Select **Next** to open the **Permissions** tab of the configuration pane. #### [PowerShell](#tab/powershell)
az storage account local-user update --account-name contosoaccount -g contoso-re
- [Authorize access to Azure Blob Storage from an SSH File Transfer Protocol (SFTP) client](secure-file-transfer-protocol-support-authorize-access.md) - [Limitations and known issues with SSH File Transfer Protocol (SFTP) support for Azure Blob Storage](secure-file-transfer-protocol-known-issues.md) - [Host keys for SSH File Transfer Protocol (SFTP) support for Azure Blob Storage](secure-file-transfer-protocol-host-keys.md)-- [SSH File Transfer Protocol (SFTP) performance considerations in Azure Blob storage](secure-file-transfer-protocol-performance.md)
+- [SSH File Transfer Protocol (SFTP) performance considerations in Azure Blob storage](secure-file-transfer-protocol-performance.md)
storage Redundancy Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/storage/common/redundancy-migration.md
Make sure the region where your storage account is located supports all of the d
> [!IMPORTANT] > [Customer-initiated conversion](#customer-initiated-conversion) from LRS to ZRS is available in all public regions that support ZRS except for the following: >
-> - (Europe) Italy North
-> - (Europe) UK South
-> - (Europe) Poland Central
> - (Europe) West Europe
-> - (Middle East) Israel Central
-> - (North America) Canada Central
-> - (North America) East US
-> - (North America) East US 2
> > [Customer-initiated conversion](#customer-initiated-conversion) from existing ZRS accounts to LRS is available in all public regions.
storage Storage Account Create https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/storage/common/storage-account-create.md
Title: Create a storage account
+ Title: Create an Azure storage account
description: Learn to create a storage account to store blobs, files, queues, and tables. An Azure storage account provides a unique namespace in Microsoft Azure for reading and writing your data.
Previously updated : 06/25/2024 Last updated : 10/15/2024
# Create an Azure storage account
-An Azure storage account contains all of your Azure Storage data objects: blobs, files, queues, and tables. The storage account provides a unique namespace for your Azure Storage data that is accessible from anywhere in the world over HTTP or HTTPS. For more information about Azure storage accounts, see [Storage account overview](storage-account-overview.md).
+An Azure storage account contains all of your Azure Storage data objects: blobs, files, queues, and tables. The storage account provides a unique namespace for your Azure Storage data that is accessible from anywhere in the world over HTTP or HTTPS. For more information about Azure storage accounts, see [Storage account overview](storage-account-overview.md). To create a storage account specifically for use with Azure Files, see [Create an SMB file share](../files/storage-how-to-create-file-share.md?tabs=azure-portal#create-a-storage-account).
In this how-to article, you learn to create a storage account using the [Azure portal](https://portal.azure.com/), [Azure PowerShell](/powershell/azure/), [Azure CLI](/cli/azure), or an [Azure Resource Manager template](../../azure-resource-manager/management/overview.md).
storage Files Change Redundancy Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/storage/files/files-change-redundancy-configuration.md
Make sure the region where your storage account is located supports all of the d
> [!IMPORTANT] > [Customer-initiated conversion](#customer-initiated-conversion) from LRS to ZRS is available in all public regions that support ZRS except for the following: >
-> - (Europe) Italy North
-> - (Europe) UK South
-> - (Europe) Poland Central
> - (Europe) West Europe
-> - (Middle East) Israel Central
-> - (North America) Canada Central
-> - (North America) East US
-> - (North America) East US 2
> > [Customer-initiated conversion](#customer-initiated-conversion) from existing ZRS accounts to LRS is available in all public regions.
synapse-analytics Table https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/synapse-analytics/metadata/table.md
Since the tables are synchronized to serverless SQL pool asynchronously, there w
Use Spark to manage Spark created databases. For example, delete it through a serverless Apache Spark pool job, and create tables in it from Spark.
-Objects in synchronized databases cannot be modified from serverless SQL pool.
+Objects in synchronized databases can't be modified from serverless SQL pool.
## Expose a Spark table in SQL
Spark provides two types of tables that Azure Synapse exposes in SQL automatical
Spark also provides ways to create external tables over existing data, either by providing the `LOCATION` option or using the Hive format. Such external tables can be over a variety of data formats, including Parquet.
-Azure Synapse currently only shares managed and external Spark tables that store their data in Parquet, DELTA, or CSV format with the SQL engines. Tables backed by other formats are not automatically synced. You may be able to sync such tables explicitly yourself as an external table in your own SQL database if the SQL engine supports the table's underlying format.
+Azure Synapse currently only shares managed and external Spark tables that store their data in Parquet, DELTA, or CSV format with the SQL engines. Tables backed by other formats aren't automatically synced. You can sync such tables explicitly yourself as an external table in your own SQL database if the SQL engine supports the table's underlying format.
> [!NOTE] > Currently, only Parquet and CSV formats are fully supported in serverless SQL pool. Spark Delta tables are also available in the serverless SQL pool, but this feature is in **public preview**. External tables created in Spark are not available in dedicated SQL pool databases.
Spark tables provide different data types than the Synapse SQL engines. The foll
| `LongType`, `long`, `bigint` | `bigint` | **Spark**: *LongType* represents 8-byte signed integer numbers.<BR>**SQL**: See [int, bigint, smallint, and tinyint](/sql/t-sql/data-types/int-bigint-smallint-and-tinyint-transact-sql).| | `BooleanType`, `boolean` | `bit` (Parquet), `varchar(6)` (CSV) | **Spark**: Boolean.<BR>**SQL**: See [/sql/t-sql/data-types/bit-transact-sql).| | `DecimalType`, `decimal`, `dec`, `numeric` | `decimal` | **Spark**: *DecimalType* represents arbitrary-precision signed decimal numbers. Backed internally by java.math.BigDecimal. A BigDecimal consists of an arbitrary precision integer unscaled value and a 32-bit integer scale. <br> **SQL**: Fixed precision and scale numbers. When maximum precision is used, valid values are from - 10^38 +1 through 10^38 - 1. The ISO synonyms for decimal are dec and dec(p, s). numeric is functionally identical to decimal. See [decimal and numeric](/sql/t-sql/data-types/decimal-and-numeric-transact-sql). |
-| `IntegerType`, `Integer`, `int` | `int` | **Spark** *IntegerType* represents 4-byte signed integer numbers. <BR>**SQL**: See [int, bigint, smallint, and tinyint](/sql/t-sql/data-types/int-bigint-smallint-and-tinyint-transact-sql).|
-| `ByteType`, `Byte`, `tinyint` | `smallint` | **Spark**: *ByteType* represents 1-byte signed integer numbers [-128 to 127] and ShortType represents 2-byte signed integer numbers [-32768 to 32767]. <br> **SQL**: Tinyint represents 1-byte signed integer numbers [0, 255] and smallint represents 2-byte signed integer numbers [-32768, 32767]. See [int, bigint, smallint, and tinyint](/sql/t-sql/data-types/int-bigint-smallint-and-tinyint-transact-sql).|
+| `IntegerType`, `Integer`, `int` | `int` | **Spark** *IntegerType* represents 4 byte signed integer numbers. <BR>**SQL**: See [int, bigint, smallint, and tinyint](/sql/t-sql/data-types/int-bigint-smallint-and-tinyint-transact-sql).|
+| `ByteType`, `Byte`, `tinyint` | `smallint` | **Spark**: *ByteType* represents 1 byte signed integer numbers [-128 to 127] and ShortType represents 2 byte signed integer numbers [-32768 to 32767]. <br> **SQL**: Tinyint represents 1 byte signed integer numbers [0, 255] and smallint represents 2 byte signed integer numbers [-32768, 32767]. See [int, bigint, smallint, and tinyint](/sql/t-sql/data-types/int-bigint-smallint-and-tinyint-transact-sql).|
| `ShortType`, `Short`, `smallint` | `smallint` | Same as above. | | `DoubleType`, `Double` | `float` | **Spark**: *DoubleType* represents 8-byte double-precision floating point numbers. **SQL**: See [float and real](/sql/t-sql/data-types/float-and-real-transact-sql).| | `FloatType`, `float`, `real` | `real` | **Spark**: *FloatType* represents 4-byte double-precision floating point numbers. **SQL**: See [float and real](/sql/t-sql/data-types/float-and-real-transact-sql).|
-| `DateType`, `date` | `date` | **Spark**: *DateType* represents values comprising values of fields year, month and day, without a time-zone.<BR>**SQL**: See [date](/sql/t-sql/data-types/date-transact-sql).|
+| `DateType`, `date` | `date` | **Spark**: *DateType* represents values comprising values of fields year, month, and day, without a time-zone.<BR>**SQL**: See [date](/sql/t-sql/data-types/date-transact-sql).|
| `TimestampType`, `timestamp` | `datetime2` | **Spark**: *TimestampType* represents values comprising values of fields year, month, day, hour, minute, and second, with the session local time-zone. The timestamp value represents an absolute point in time.<BR>**SQL**: See [datetime2](/sql/t-sql/data-types/datetime2-transact-sql). | | `char` | `char` |
-| `StringType`, `String`, `varchar` | `Varchar(n)` | **Spark**: *StringType* represents character string values. *VarcharType(n)* is a variant of StringType which has a length limitation. Data writing will fail if the input string exceeds the length limitation. This type can only be used in table schema, not functions/operators.<br> *CharType(n)* is a variant of *VarcharType(n)* which is fixed length. Reading column of type *CharType(n)* always returns string values of length n. *CharType(n)* column comparison will pad the short one to the longer length. <br> **SQL**: If there's a length provided from Spark, n in *varchar(n)* will be set to that length. If it is partitioned column, n can be max 2048. Otherwise, it will be *varchar(max)*. See [char and varchar](/sql/t-sql/data-types/char-and-varchar-transact-sql).<br> Use it with collation `Latin1_General_100_BIN2_UTF8`. |
-| `BinaryType`, `binary` | `varbinary(n)` | **SQL**: If there's a length provided from Spark, `n` in *Varbinary(n)* will be set to that length. If it is partitioned column, n can be max 2048. Otherwise, it will be *Varbinary(max)*. See [binary and varbinary](/sql/t-sql/data-types/binary-and-varbinary-transact-sql).|
+| `StringType`, `String`, `varchar` | `Varchar(n)` | **Spark**: *StringType* represents character string values. *VarcharType(n)* is a variant of StringType which has a length limitation. Data writing will fail if the input string exceeds the length limitation. This type can only be used in table schema, not functions/operators.<br> *CharType(n)* is a variant of *VarcharType(n)* which is fixed length. Reading column of type *CharType(n)* always returns string values of length n. *CharType(n)* column comparison will pad the short one to the longer length. <br> **SQL**: If there's a length provided from Spark, n in *varchar(n)* will be set to that length. If it's partitioned column, n can be max 2048. Otherwise, it will be *varchar(max)*. See [char and varchar](/sql/t-sql/data-types/char-and-varchar-transact-sql).<br> Use it with collation `Latin1_General_100_BIN2_UTF8`. |
+| `BinaryType`, `binary` | `varbinary(n)` | **SQL**: If there's a length provided from Spark, `n` in *Varbinary(n)* will be set to that length. If it's partitioned column, n can be max 2048. Otherwise, it will be *Varbinary(max)*. See [binary and varbinary](/sql/t-sql/data-types/binary-and-varbinary-transact-sql).|
| `array`, `map`, `struct` | `varchar(max)` | **SQL**: Serializes into JSON with collation `Latin1_General_100_BIN2_UTF8`. See [JSON Data](/sql/relational-databases/json/json-data-sql-server).| >[!NOTE]
Spark tables provide different data types than the Synapse SQL engines. The foll
## Security model
-The Spark databases and tables, as well as their synchronized representations in the SQL engine will be secured at the underlying storage level. Since they do not currently have permissions on the objects themselves, the objects can be seen in the object explorer.
+The Spark databases and tables, and their synchronized representations in the SQL engine will be secured at the underlying storage level. Since they don't currently have permissions on the objects themselves, the objects can be seen in the object explorer.
The security principal who creates a managed table is considered the owner of that table and has all the rights to the table as well as the underlying folders and files. In addition, the owner of the database will automatically become co-owner of the table.
df.Write().Mode(SaveMode.Append).InsertInto("mytestdb.myparquettable");
Now you can read the data from your serverless SQL pool as follows: ```sql
-SELECT * FROM mytestdb.dbo.myparquettable WHERE name = 'Alice';
+SELECT * FROM mytestdb.myparquettable WHERE name = 'Alice';
``` You should get the following row as result:
id | name | birthdate
### Create an external table in Spark and query from serverless SQL pool
-In this example, we will create an external Spark table over the Parquet data files that got created in the previous example for the managed table.
+In this example, we'll create an external Spark table over the Parquet data files that got created in the previous example for the managed table.
For example, with SparkSQL run:
CREATE TABLE mytestdb.myexternalparquettable
LOCATION "abfss://<storage-name>.dfs.core.windows.net/<fs>/synapse/workspaces/<synapse_ws>/warehouse/mytestdb.db/myparquettable/" ```
-Replace the placeholder `<storage-name>` with the ADLS Gen2 storage account name that you are using, `<fs>` with the file system name you're using and the placeholder `<synapse_ws>` with the name of the Azure Synapse workspace you're using to run this example.
+Replace the placeholder `<storage-name>` with the ADLS Gen2 storage account name that you're using, `<fs>` with the file system name you're using and the placeholder `<synapse_ws>` with the name of the Azure Synapse workspace you're using to run this example.
The previous example creates the table `myextneralparquettable` in the database `mytestdb`. After a short delay, you can see the table in your serverless SQL pool. For example, run the following statement from your serverless SQL pool.
synapse-analytics Synapse Notebook Activity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/synapse-analytics/synapse-notebook-activity.md
# Transform data by running a Synapse notebook
-The Azure Synapse notebook activity in a [Synapse pipeline](../data-factory/concepts-pipelines-activities.md) runs a Synapse notebook in your Azure Synapse workspace. This article builds on the [data transformation activities](../data-factory/transform-data.md) article, which presents a general overview of data transformation and the supported transformation activities. 
+The Azure Synapse notebook activity in a [Synapse pipeline](../data-factory/concepts-pipelines-activities.md) runs a Synapse notebook. This article builds on the [data transformation activities](../data-factory/transform-data.md) article, which presents a general overview of data transformation and the supported transformation activities. 
## Create a Synapse notebook activity
trusted-signing How To Renew Identity Validation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/trusted-signing/how-to-renew-identity-validation.md
Title: Renew a Trusted Signing identity validation
-description: Learn how to renew a Trusted Signing identity validation.
-
+ Title: Renew Trusted Signing Identity Validation
+description: How-to rerenew a Trusted Signing Identity Validation.
+ Last updated 04/12/2024
-# Renew a Trusted Signing identity validation
+# Renew Trusted Signing Identity Validation
-On the **Identity validation** pane, you can check the expiration date of your identity validation. You can renew your Trusted Signing identity validation 60 days before the expiration date. A reminder notification to renew your identity validation is sent to the primary and secondary email addresses for the Trusted Signing account.
+You can check the expiration date of your Identity Validation on the Identity Validation page. You can renew your Trusted Signing Identity Validation **60 days** before the expiration. A notification is to the primary and secondary email addresses with the reminder to renew your Identity Validation.
+**Identity Validation can only be completed in the Azure portal ΓÇô it can not be completed with Azure CLI.**
-You can complete identity validation *only* in the Azure portal. You can't complete identity validation by using the Azure CLI.
+>[!Note]
+>Failure to renew Identity Validation before the expiration date will stop certificate renewal, effectively halting the signing process associated with those specific certificate profiles.
+>EKU does not change when you renew Identity Validation.
-> [!NOTE]
-> If you don't renew your identity validation before the expiration date, certificate renewal stops. The signing process that's associated with the specific certificate profiles is effectively halted.
+1. Navigate to your Trusted Signing account in the [Azure portal](https://portal.azure.com/).
+2. Confirm you have the **Trusted Signing Identity Verifier role**.
+ - To learn more about Role Based Access management (RBAC) access management, see [Assigning roles in Trusted Signing](tutorial-assign-roles.md).
+3. From either the Trusted Signing account overview page or from Objects, select **Identity Validation**.
+4. Select the Identity Validation request that needs to be renewed. Select **Renew** on the top.
-1. In the [Azure portal](https://portal.azure.com/), go to your Trusted Signing account.
-1. Confirm that you're assigned the Trusted Signing Identity Verifier role.
- To learn about managing access by using role-based access control (RBAC), see [Assign roles in Trusted Signing](tutorial-assign-roles.md).
-1. On the Trusted Signing account **Overview** pane or on the resource menu under **Objects**, select **Identity validations**.
-1. Select the identity validation request that you want to renew. On the menu bar, select **Renew**.
-
- :::image type="content" source="media/trusted-signing-renew-identity-validation.png" alt-text="Screenshot that shows the Renew option for an identity validation request." lightbox="media/trusted-signing-renew-identity-validation.png":::
-
- If you encounter validation errors when you renew by selecting the **Renew** button or if the identity validation request is expired, create a new identity validation request. To learn more about creating a new identity validation, see the [Set up Trusted Signing quickstart](quickstart.md).
-1. Verify that after you renew a request, the identity validation status is **Completed**.
-1. To ensure that you can continue to use your existing *metadata.json* file:
-
- 1. On the Trusted Signing account **Overview** pane or on the resource menu under **Objects**, select **Certificate profiles**.
- 1. On the **Certificate profiles** pane, delete the existing certificate profile that's associated with the expiring identity validation.
- 1. Create a new certificate profile that has the same name.
- 1. Select the identity validation.
-
- When the certificate profile is successfully created, signing resumes without any other configuration changes.
+5. If you encounter validation errors while renewing through the renew button or if Identity Validation is Expired, you need to create a new Identity Validation.
+ - To learn more about creating new Identity Validation, see [Quickstart](quickstart.md).
+6. After the Identity Validation status changes to Completed.
+7. To ensure you can continue with your existing metadata.json.
+ - Navigate back to the trusted signing account overview page or from Objects, select **Certificate Profile**.
+ - On the **Certificate Profiles**, delete the existing cert profile associated to the Identity Validation expiring soon:
+ - Create new cert profile with the same name.
+ - Select the Identity Validation from the pull-down. Once the certificate profile is created successfully, signing resumes requiring no configuration changes on your end.
trusted-signing How To Sign History https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/trusted-signing/how-to-sign-history.md
Title: Access signed transactions in Trusted Signing description: Learn how to access signed transactions in Trusted Signing in the Azure portal. -+
To complete the steps in this article, you need:
To access and send signing transactions to your storage account:ΓÇ» 1. In the Azure portal, go to your Trusted Signing account.
-1. On the Trusted Signing account **Overview** pane, in the resource menu under **Monitoring**, select **Diagnostic settings**.
-1. On the **Diagnostic settings** pane, select **+ Add diagnostic setting**.
+2. On the Trusted Signing account **Overview** pane, in the resource menu under **Monitoring**, select **Diagnostic settings**.
+3. On the **Diagnostic settings** pane, select **+ Add diagnostic setting**.
:::image type="content" source="media/trusted-signing-diagnostic-settings.png" alt-text="Screenshot that shows adding a diagnostic setting." lightbox="media/trusted-signing-diagnostic-settings.png"::: 1. On the **Diagnostic setting** pane: 1. Enter a name for the diagnostic setting.
- 1. Under **Logs** > **Categories**, select the **Sign Transactions** checkbox.
- 1. Under **Destination details**, select the **Archive to a storage account** checkbox.
- 1. Select the subscription and storage account that you want to use.
+ 2. Under **Logs** > **Categories**, select the **Sign Transactions** checkbox.
+ 3. Under **Destination details**, select the **Archive to a storage account** checkbox.
+ 4. Select the subscription and storage account that you want to use.
:::image type="content" source="media/trusted-signing-select-storage-account-subscription.png" alt-text="Screenshot that shows configuring a diagnostic setting for a storage account." lightbox="media/trusted-signing-select-storage-account-subscription.png":::
-1. Select **Save**. A pane displays a list of all diagnostic settings that were created for this code signing account.ΓÇ»
-1. After you create a diagnostic setting, wait for 10 to 15 minutes for the events to begin to be ingested in the storage account you created.ΓÇ»
-1. Go to the storage account.ΓÇ»
-1. In your storage account resource menu under **Data storage**, go to **Containers**.
-1. In the list, select the container named `insights-logs-signtransactions`. Go to the date and time you want to view to download the log.
+2. Select **Save**. A pane displays a list of all diagnostic settings that were created for this code signing account.ΓÇ»
+3. After you create a diagnostic setting, wait for 10 to 15 minutes for the events to begin to be ingested in the storage account you created.ΓÇ»
+4. Go to the storage account.ΓÇ»
+5. In your storage account resource menu under **Data storage**, go to **Containers**.
+6. In the list, select the container named `insights-logs-signtransactions`. Go to the date and time you want to view to download the log.
virtual-desktop Required Fqdn Endpoint https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/required-fqdn-endpoint.md
description: A list of FQDNs and endpoints you must allow, ensuring your Azure V
Previously updated : 06/26/2024 Last updated : 10/15/2024 # Required FQDNs and endpoints for Azure Virtual Desktop
Select the relevant tab based on which cloud you're using.
| `aka.ms` | TCP | 443 | Microsoft URL shortener | All | | `learn.microsoft.com` | TCP | 443 | Documentation | All | | `privacy.microsoft.com` | TCP | 443 | Privacy statement | All |
-| `query.prod.cms.rt.microsoft.com` | TCP | 443 | Download an MSI to update the client. Required for automatic updates. | [Windows Desktop](users/connect-windows.md) |
+| `query.prod.cms.rt.microsoft.com` | TCP | 443 | Download an MSI or MSIX package to update the client. Required for automatic updates. | [Windows Desktop](users/connect-windows.md) |
| `graph.microsoft.com` | TCP | 443 | Service traffic | All | | `windows.cloud.microsoft` | TCP | 443 | Connection center | All | | `windows365.microsoft.com` | TCP | 443 | Service traffic | All |
Select the relevant tab based on which cloud you're using.
| `aka.ms` | TCP | 443 | Microsoft URL shortener | All | | `learn.microsoft.com` | TCP | 443 | Documentation | All | | `privacy.microsoft.com` | TCP | 443 | Privacy statement | All |
-| `query.prod.cms.rt.microsoft.com` | TCP | 443 | Download an MSI to update the client. Required for automatic updates. | [Windows Desktop](users/connect-windows.md) |
+| `query.prod.cms.rt.microsoft.com` | TCP | 443 | Download an MSI or MSIX package to update the client. Required for automatic updates. | [Windows Desktop](users/connect-windows.md) |
| `graph.microsoft.com` | TCP | 443 | Service traffic | All | | `windows.cloud.microsoft` | TCP | 443 | Connection center | All | | `windows365.microsoft.com` | TCP | 443 | Service traffic | All |
virtual-desktop Connect Android Chrome Os https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/users/connect-android-chrome-os.md
- Title: Connect to Azure Virtual Desktop with the Remote Desktop client for Android and Chrome OS - Azure Virtual Desktop
-description: Learn how to connect to Azure Virtual Desktop using the Remote Desktop client for Android and Chrome OS.
-- Previously updated : 10/04/2022---
-# Connect to Azure Virtual Desktop with the Remote Desktop client for Android and Chrome OS
-
-The Microsoft Remote Desktop client is used to connect to Azure Virtual Desktop to access your desktops and applications. This article shows you how to connect to Azure Virtual Desktop with the Remote Desktop client for Android and Chrome OS.
-
-You can find a list of all the Remote Desktop clients you can use to connect to Azure Virtual Desktop at [Remote Desktop clients overview](remote-desktop-clients-overview.md).
-
-If you want to connect to Remote Desktop Services or a remote PC instead of Azure Virtual Desktop, see [Connect to Remote Desktop Services with the Remote Desktop client for Android and Chrome OS](/windows-server/remote/remote-desktop-services/clients/remote-desktop-android).
-
-## Prerequisites
-
-Before you can access your resources, you'll need to meet the prerequisites:
--- Internet access--- One of the following:
- - Smartphone or tablet running Android 9 or later.
- - Chromebook running Chrome OS 53 or later. Learn more about [Android applications running in Chrome OS](https://sites.google.com/a/chromium.org/dev/chromium-os/chrome-os-systems-supporting-android-apps).
--- Download and install the Remote Desktop client from [Google Play](https://play.google.com/store/apps/details?id=com.microsoft.rdc.androidx).-
-> [!IMPORTANT]
-> The Android client is not available on platforms built on the Android Open Source Project (AOSP) that do not include Google Mobile Services (GMS), the client is only available through the canonical Google Play Store.
-
-## Subscribe to a workspace
-
-A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Remote Desktop client, you need to subscribe to the workspace by following these steps:
-
-1. Open the **RD Client** app on your device.
-
-1. In the Connection Center, tap **+**, then tap **Add Workspace**.
-
-1. In the **Email or Workspace URL** box, either enter your user account, for example `user@contoso.com`, or the relevant URL from the following table. After a few seconds, the message **A workspace is associated with this URL** should be displayed.
-
- > [!TIP]
- > If you see the message **No workspace is associated with this email address**, your admin might not have set up email discovery. Use one of the following workspace URLs instead.
-
- | Azure environment | Workspace URL |
- |--|--|
- | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
- | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
- | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
-
-1. Tap **Next**.
-
-1. Sign in with your user account. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
-
-Once you've subscribed to a workspace, its content will update automatically regularly. Resources may be added, changed, or removed based on changes made by your admin.
-
-## Connect to your desktops and applications
-
-1. Open the **RD Client** app on your device.
-
-1. Tap one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, and to make sure you trust the remote PC before you connect, depending on how your admin has configured Azure Virtual Desktop.
-
-## Beta client
-
-If you want to help us test new builds before they're released, you should download our beta client. Organizations can use the beta client to validate new versions for their users before they're generally available. For more information, see [Test the beta client](client-features-android-chrome-os.md#test-the-beta-client).
-
-## Next steps
-
-To learn more about the features of the Remote Desktop client for Android and Chrome OS, check out [Use features of the Remote Desktop client for Android and Chrome OS when connecting to Azure Virtual Desktop](client-features-android-chrome-os.md).
virtual-desktop Connect Ios Ipados https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/users/connect-ios-ipados.md
- Title: Connect to Azure Virtual Desktop with the Remote Desktop client for iOS and iPadOS - Azure Virtual Desktop
-description: Learn how to connect to Azure Virtual Desktop using the Remote Desktop client for iOS and iPadOS.
-- Previously updated : 03/19/2024---
-# Connect to Azure Virtual Desktop with the Remote Desktop client for iOS and iPadOS
-
-The Microsoft Remote Desktop client is used to connect to Azure Virtual Desktop to access your desktops and applications. This article shows you how to connect to Azure Virtual Desktop with the Remote Desktop client for iOS and iPadOS.
-
-You can find a list of all the Remote Desktop clients you can use to connect to Azure Virtual Desktop at [Remote Desktop clients overview](remote-desktop-clients-overview.md).
-
-If you want to connect to Remote Desktop Services or a remote PC instead of Azure Virtual Desktop, see [Connect to Remote Desktop Services with the Remote Desktop client for iOS and iPadOS](/windows-server/remote/remote-desktop-services/clients/remote-desktop-ios).
-
-## Prerequisites
-
-Before you can access your resources, you'll need to meet the following prerequisites:
--- Internet access.--- An iPhone running iOS 16 or later or an iPad running iPadOS 16 or later.--- Download and install the Remote Desktop client from the [App Store](https://apps.apple.com/app/microsoft-remote-desktop/id714464092).-
-## Subscribe to a workspace
-
-A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Remote Desktop client, you need to subscribe to the workspace by following these steps:
-
-1. Open the **RD Client** app on your device.
-
-1. In the Connection Center, tap **+**, then tap **Add Workspace**.
-
-1. In the **Email or Workspace URL** box, either enter your user account, for example `user@contoso.com`, or the relevant URL from the following table. After a few seconds, the message **A workspace is associated with this URL** should be displayed.
-
- > [!TIP]
- > If you see the message **No workspace is associated with this email address**, your admin might not have set up email discovery. Use one of the following workspace URLs instead.
-
- | Azure environment | Workspace URL |
- |--|--|
- | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
- | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
- | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
-
-1. Tap **Next**.
-
-1. Sign in with your user account. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
-
-Once you've subscribed to a workspace, its content will update automatically regularly. Resources may be added, changed, or removed based on changes made by your admin.
-
-## Connect to your desktops and applications
-
-1. Open the **RD Client** app on your device.
-
-1. Tap one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
-
-## Beta client
-
-If you want to help us test new builds before they're released, you should download our beta client. Organizations can use the beta client to validate new versions for their users before they're generally available. For more information, see [Test the beta client](client-features-ios-ipados.md#test-the-beta-client).
-
-> [!IMPORTANT]
-> The Remote Desktop app is changing to Windows App. To ensure you can validate the upcoming Windows App update before it's released into the store, the Windows App preview is now available in the [Remote Desktop Beta channels](client-features-ios-ipados.md#test-the-beta-client) where you can test the experience of updating from Remote Desktop to Windows App. To learn more about Windows App, see [Get started with Windows App to connect to devices and apps](/windows-app/get-started-connect-devices-desktops-apps).
-
-## Next steps
-
-To learn more about the features of the Remote Desktop client for iOS and iPadOS, check out [Use features of the Remote Desktop client for iOS and iPadOS when connecting to Azure Virtual Desktop](client-features-ios-ipados.md).
virtual-desktop Connect Legacy Windows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/users/connect-legacy-windows.md
+
+ Title: Connect to Azure Virtual Desktop with the legacy Remote Desktop clients for Windows - Azure Virtual Desktop
+description: Learn how to connect Connect to Azure Virtual Desktop with the legacy Remote Desktop clients for Windows.
+++ Last updated : 09/24/2024++
+# Connect to Azure Virtual Desktop with the legacy Remote Desktop clients for Windows
+
+> [!IMPORTANT]
+> The Azure Virtual Desktop store app is no longer available for download or installation. To ensure a seamless experience and avoid any disruption, users are encouraged to download Windows App. Windows App is the gateway to securely connect to any devices or apps across Azure Virtual Desktop, Windows 365, and Microsoft Dev Box. For more information, see [What is Windows App](/windows-app/overview).
+
+The Microsoft Remote Desktop client is used to connect to Azure Virtual Desktop to access your desktops and applications. Connecting to Azure Virtual Desktop with the Remote Desktop client for Windows allows you to subscribe to a feed made available to you by your organization administrators.
+
+There are three versions of the Remote Desktop client for Windows, which are all supported for connecting to Azure Virtual Desktop:
+
+- Standalone download as an MSI installer. This is the most common version of the Remote Desktop client for Windows.
+- Azure Virtual Desktop app from the Microsoft Store. This is a preview version of the Remote Desktop client for Windows, but it's no longer available to download. You can still use it to connect to Azure Virtual Desktop if it's already installed.
+- Remote Desktop app from the Microsoft Store. This version is no longer being developed.
+
+This article shows you how to connect to Azure Virtual Desktop with the Azure Virtual Desktop app and the Remote Desktop app. We recommend connecting to Azure Virtual Desktop with the Remote Desktop client using the MSI installer. To connect using the MSI installer, see [Connect to Azure Virtual Desktop with the Remote Desktop client](connect-remote-desktop-client.md?tab=windows).
++
+> [!TIP]
+> You can also connect to Azure Virtual Desktop with Windows App, a single app to securely connect you to Windows devices and apps from Azure Virtual Desktop, Windows 365, Microsoft Dev Box, Remote Desktop Services, and remote PCs. For more information, see [What is Windows App?](/windows-app/overview)
+
+You can find a list of all the Remote Desktop clients you can use to connect to Azure Virtual Desktop at [Remote Desktop clients overview](remote-desktop-clients-overview.md).
+
+If you want to connect to Remote Desktop Services or a remote PC instead of Azure Virtual Desktop, see [Connect to Remote Desktop Services with the Remote Desktop app for Windows](/windows-server/remote/remote-desktop-services/clients/windows).
+
+## Prerequisites
+
+Select a tab for the version of the Remote Desktop client for Windows you want to use:
+
+# [Azure Virtual Desktop Store app](#tab/avd-store)
+
+To access your resources, you need:
+
+- Internet access.
+
+- A device running one of the following supported versions of Windows:
+ - Windows 11
+ - Windows 10
+
+# [Remote Desktop Store app](#tab/rd-store)
+
+To access your resources, you need:
+
+- Internet access.
+
+- A device running one of the following supported versions of Windows:
+ - Windows 11
+ - Windows 10
++++
+## Download and install
+
+Select a tab for the version of the Remote Desktop client for Windows you want to use:
+
+# [Azure Virtual Desktop Store app](#tab/avd-store)
+
+The Azure Virtual Desktop app from the Microsoft Store is a preview version of the Remote Desktop client for Windows, but it's no longer available to download. You can still use it to connect to Azure Virtual Desktop if it's already installed.
+
+> [!IMPORTANT]
+> If you have the Remote Desktop client (MSI) and the Azure Virtual Desktop app from the Microsoft Store installed on the same device, you may see the message that begins **A version of this application called Azure Virtual Desktop was installed from the Microsoft Store**. Both apps are supported, and you have the option to choose **Continue anyway**, however we recommend using [Windows App](/windows-app/overview) for the most up-to-date experience.
++
+# [Remote Desktop Store app](#tab/rd-store)
+
+> [!IMPORTANT]
+> We're no longer updating the Remote Desktop app for Windows with new features and support for Azure Virtual Desktop will be removed in the future.
+>
+> To ensure a seamless experience and avoid any disruption, users are encouraged to download Windows App. Windows App is the gateway to securely connect to any devices or apps across Azure Virtual Desktop, Windows 365, and Microsoft Dev Box. For more information, see [What is Windows App](/windows-app/overview).
+
+The Remote Desktop app is available from the Microsoft Store. To download and install it, follow these steps:
+
+1. Go to the [Remote Desktop app in the Microsoft Store](https://go.microsoft.com/fwlink/?LinkID=616709).
+
+1. Select **Install** to start downloading the app and installing it.
+
+1. Once the app has finished downloading and installing, select **Open**.
+++
+## Subscribe to a workspace
+
+Select a tab for the version of the Remote Desktop client for Windows you want to use:
+
+# [Azure Virtual Desktop Store app](#tab/avd-store)
+
+A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Azure Virtual Desktop app, you need to subscribe to the workspace by following these steps:
+
+1. Open the **Azure Virtual Desktop** app on your device.
+
+1. The first time you subscribe to a workspace, from the **Let's get started** screen, select **Subscribe** or **Subscribe with URL**. Use the tabs below for your scenario.
+
+ - If you selected **Subscribe**, sign in with your user account when prompted, for example `user@contoso.com`. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
+
+ If you see the message **No workspace is associated with this email address**, your admin might not have set up email discovery, or you're using an Azure environment that isn't Azure cloud, such as Azure for US Government. Try the steps to **Subscribe with URL** instead.
+
+ - If you selected **Subscribe with URL**, in the **Email or Workspace URL** box, enter the relevant URL from the following table. After a few seconds, the message **We found Workspaces at the following URLs** should be displayed.
+
+ | Azure environment | Workspace URL |
+ |--|--|
+ | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
+ | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
+ | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
+
+1. Select **Next**.
+
+1. Sign in with your user account when prompted. After a few seconds, the workspace should show the desktops and applications that have been made available to you by your admin.
+
+Once you've subscribed to a workspace, its content will update automatically regularly and each time you start the client. Resources may be added, changed, or removed based on changes made by your admin.
+
+# [Remote Desktop Store app](#tab/rd-store)
+
+A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Remote Desktop app, you need to subscribe to the workspace by following these steps:
+
+1. Open the **Remote Desktop** app on your device.
+
+1. In the Connection Center, select **+ Add**, then select **Workspaces**.
+
+1. In the **Email or Workspace URL** box, either enter your user account, for example `user@contoso.com`, or the relevant URL from the following table. After a few seconds, the message **We found Workspaces at the following URLs** should be displayed.
+
+ If you see the message **We couldn't find any Workspaces associated with this email address. Try providing a URL instead**, your admin might not have set up email discovery. Use one of the following workspace URLs instead.
+
+ | Azure environment | Workspace URL |
+ |--|--|
+ | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
+ | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
+ | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
+
+1. Select **Subscribe**.
+
+1. Sign in with your user account. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
+
+Once you've subscribed to a workspace, its content will update automatically regularly. Resources may be added, changed, or removed based on changes made by your admin.
+++
+## Connect to your desktops and applications
+
+Select a tab for the version of the Remote Desktop client for Windows you want to use:
+
+# [Azure Virtual Desktop Store app](#tab/avd-store)
+
+Once you've subscribed to a workspace, here's how to connect:
+
+1. Open the **Azure Virtual Desktop** app on your device.
+
+1. Double-click one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
+
+1. To pin your desktops and applications to the Start Menu, right-click one of the icons and select **Pin to Start Menu**, then confirm the prompt.
+
+### Insider releases
+
+If you want to help us test new builds before they're released, you should download our Insider releases. Organizations can use the Insider releases to validate new versions for their users before they're generally available. For more information, see [Enable Insider releases](client-features-windows.md#enable-insider-releases).
++
+# [Remote Desktop Store app](#tab/rd-store)
+
+Once you've subscribed to a workspace, here's how to connect:
+
+1. Open the **Remote Desktop** app on your device.
+
+1. Select one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
+++
+## Next steps
+
+- To learn more about the features of the Remote Desktop client for Windows, check out [Use features of the Remote Desktop client for Windows when connecting to Azure Virtual Desktop](client-features-windows.md).
+
+- If you want to use Teams on Azure Virtual Desktop with media optimization, see [Use Microsoft Teams on Azure Virtual Desktop](../teams-on-avd.md).
virtual-desktop Connect Macos https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/users/connect-macos.md
- Title: Connect to Azure Virtual Desktop with the Remote Desktop client for macOS - Azure Virtual Desktop
-description: Learn how to connect to Azure Virtual Desktop using the Remote Desktop client for macOS.
-- Previously updated : 02/26/2024----
-# Connect to Azure Virtual Desktop with the Remote Desktop client for macOS
-
-The Microsoft Remote Desktop client is used to connect to Azure Virtual Desktop to access your desktops and applications. This article shows you how to connect to Azure Virtual Desktop with the Remote Desktop client for macOS.
-
-You can find a list of all the Remote Desktop clients at [Remote Desktop clients overview](remote-desktop-clients-overview.md).
-
-If you want to connect to Remote Desktop Services or a remote PC instead of Azure Virtual Desktop, see [Connect to Remote Desktop Services with the Remote Desktop client for macOS](/windows-server/remote/remote-desktop-services/clients/remote-desktop-mac).
-
-## Prerequisites
-
-Before you can access your resources, you'll need to meet the prerequisites:
--- Internet access.--- A device running macOS 12 or later.--- Download and install the Remote Desktop client from the [Mac App Store](https://apps.apple.com/app/microsoft-remote-desktop/id1295203466?mt=12).-
->[!NOTE]
->The macOS Remote Desktop client currently isn't distributed in the China region in the App Store.
-
-## Subscribe to a workspace
-
-A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Remote Desktop client, you need to subscribe to the workspace by following these steps:
-
-1. Open the **Microsoft Remote Desktop** app on your device.
-
-1. In the Connection Center, select **+**, then select **Add Workspace**.
-
-1. In the **Email or Workspace URL** box, either enter your user account, for example `user@contoso.com`, or the relevant URL from the following table. After a few seconds, the message **A workspace is associated with this URL** should be displayed.
-
- > [!TIP]
- > If you see the message **No workspace is associated with this email address**, your admin might not have set up email discovery. Use one of the following workspace URLs instead.
-
- | Azure environment | Workspace URL |
- |--|--|
- | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
- | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
- | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
-
-1. Select **Add**.
-
-1. Sign in with your user account. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
-
-Once you've subscribed to a workspace, its content will update automatically every six hours and each time you start the client. Resources may be added, changed, or removed based on changes made by your admin.
-
-## Connect to your desktops and applications
-
-1. Open the **Microsoft Remote Desktop** app on your device.
-
-1. Double-click one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
-
-## Beta client
-
-If you want to help us test new builds before they're released, you should download our beta client. Organizations can use the beta client to validate new versions for their users before they're generally available. For more information, see [Test the beta client](client-features-macos.md#test-the-beta-client).
-
-> [!IMPORTANT]
-> The Remote Desktop app is changing to Windows App. To ensure you can validate the upcoming Windows App update before it's released into the store, the Windows App preview is now available in the [Remote Desktop Beta channels](client-features-macos.md#test-the-beta-client) where you can test the experience of updating from Remote Desktop to Windows App. To learn more about Windows App, see [Get started with Windows App to connect to devices and apps](/windows-app/get-started-connect-devices-desktops-apps).
-
-## Next steps
--- To learn more about the features of the Remote Desktop client for macOS, check out [Use features of the Remote Desktop client for macOS when connecting to Azure Virtual Desktop](client-features-macos.md).--- If you want to use Teams on Azure Virtual Desktop with media optimization, see [Use Microsoft Teams on Azure Virtual Desktop](../teams-on-avd.md).
virtual-desktop Connect Remote Desktop Client https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/users/connect-remote-desktop-client.md
+
+ Title: Get started with the Remote Desktop app for Azure Virtual Desktop
+description: Learn how to connect to Azure Virtual Desktop using the Remote Desktop client.
++ Last updated : 09/17/2024++++
+# Get started with the Remote Desktop app
+
+The Microsoft Remote Desktop client is used to connect to Azure Virtual Desktop to access your desktops and applications. This article shows you how to connect to Azure Virtual Desktop with the Remote Desktop client.
+
+You can find a list of all the Remote Desktop clients at [Remote Desktop clients overview](remote-desktop-clients-overview.md).
+
+## Prerequisites
+
+Select a tab for the platform you're using.
+
+# [Windows](#tab/windows)
+
+Before you can connect to your devices and apps from Windows, you need:
+
+- Internet access.
+
+- A device running one of the following supported versions of Windows:
+ - Windows 11
+ - Windows 10
+ - Windows Server 2022
+ - Windows Server 2019
+ - Windows Server 2016
+
+ > [!IMPORTANT]
+ > - Support for Windows 7 ended on January 10, 2023.
+ > - Support for Windows Server 2012 R2 ended on October 10, 2023.
+
+- .NET Framework 4.6.2 or later. You may need to install this on Windows Server 2016, and some versions of Windows 10. To download the latest version, see [Download .NET Framework](https://dotnet.microsoft.com/download/dotnet-framework).
+
+- [Download and install the Remote Desktop client](#download-and-install-the-remote-desktop-client-for-windows-msi) using the MSI installer.
+
+### Download and install the Remote Desktop client for Windows (MSI)
+
+Here's how to install the Remote Desktop client for Windows using the MSI installer. If you want to deploy the Remote Desktop client in an enterprise, you can use `msiexec` from the command line to install the MSI file. For more information, see [Enterprise deployment](client-features-windows.md#enterprise-deployment).
+
+1. Download the Remote Desktop client installer, choosing the correct version for your device:
+
+ - [Windows 64-bit](https://go.microsoft.com/fwlink/?linkid=2139369) *(most common)*
+ - [Windows 32-bit](https://go.microsoft.com/fwlink/?linkid=2139456)
+ - [Windows ARM64](https://go.microsoft.com/fwlink/?linkid=2139370)
+
+1. Run the installer by double-clicking the file you downloaded.
+
+1. On the welcome screen, select **Next**.
+
+1. To accept the end-user license agreement, check the box for **I accept the terms in the License Agreement**, then select **Next**.
+
+1. For the Installation Scope, select one of the following options:
+
+ - **Install just for you**: Remote Desktop will be installed in a per-user folder and be available just for your user account. You don't need local Administrator privileges.
+ - **Install for all users of this machine**: Remote Desktop will be installed in a per-machine folder and be available for all users. You must have local Administrator privileges
+
+1. Select **Install**.
+
+1. Once installation has completed, select **Finish**.
+
+1. If you left the box for **Launch Remote Desktop when setup exits** selected, the Remote Desktop client will automatically open. Alternatively to launch the client after installation, use the Start menu to search for and select **Remote Desktop**.
+
+> [!IMPORTANT]
+> If you have the Remote Desktop client (MSI) and the Azure Virtual Desktop app from the Microsoft Store installed on the same device, you may see the message that begins **A version of this application called Azure Virtual Desktop was installed from the Microsoft Store**. Both apps are supported, and you have the option to choose **Continue anyway**, however it could be confusing to use the same remote resource across both apps. We recommend using only one version of the app at a time.
+
+# [macOS](#tab/macos)
+
+Before you can connect to your devices and apps from macOS, you need:
+
+- Internet access.
+
+- A device running macOS 12 or later.
+
+- Download and install the Remote Desktop client from the [Mac App Store](https://apps.apple.com/app/microsoft-remote-desktop/id1295203466?mt=12).
+
+>[!NOTE]
+>- The macOS Remote Desktop client currently isn't distributed in the China region in the App Store.
+
+> [!IMPORTANT]
+> In version 11.0.0 and above, the Remote Desktop client has a new name, Windows App. For more information on the Windows App update, see [What is Windows App](/windows-app/overview). If you're using macOS or iOS/iPadOS, you should reference [Get started with Windows App](/windows-app/get-started-connect-devices-desktops-apps) to connect to desktops and apps moving forward.
+
+# [iOS/iPadOS](#tab/ios-ipados)
+
+Before you can connect to your devices and apps from iOS or iPadOS, you need:
+
+- Internet access.
+
+- An iPhone running iOS 16 or later or an iPad running iPadOS 16 or later.
+
+- Download and install the Remote Desktop client from the [App Store](https://apps.apple.com/app/microsoft-remote-desktop/id714464092).
+
+> [!IMPORTANT]
+> In version 11.0.0 and above, the Remote Desktop client has a new name, Windows App. For more information on the Windows App update, see [What is Windows App](/windows-app/overview). If you're using macOS or iOS/iPadOS, you should reference [Get started with Windows App](/windows-app/get-started-connect-devices-desktops-apps) to connect to desktops and apps moving forward.
+
+# [Android/Chrome OS](#tab/android)
+
+Before you can connect to your devices and apps from Android or Chrome OS, you need:
+
+- Internet access
+
+- One of the following:
+ - Smartphone or tablet running Android 9 or later.
+ - Chromebook running Chrome OS 53 or later. Learn more about [Android applications running in Chrome OS](https://www.chromium.org/chromium-os/chrome-os-systems-supporting-android-apps/).
+
+- Download and install the Remote Desktop client from [Google Play](https://play.google.com/store/apps/details?id=com.microsoft.rdc.androidx).
+
+> [!IMPORTANT]
+> The Android client is not available on platforms built on the Android Open Source Project (AOSP) that do not include Google Mobile Services (GMS), the client is only available through the canonical Google Play Store.
+
+# [Web browser](#tab/web)
+
+Before you can access your resources, you'll need to meet the prerequisites:
+
+- Internet access.
+
+- A supported web browser. While any HTML5-capable web browser should work, we officially support the following web browsers and operating systems:
+
+ | Web browser | Supported operating system | Notes |
+ |-|-||
+ | Microsoft Edge | Windows, macOS, Linux, Chrome OS | Version 79 or later |
+ | Google Chrome | Windows, macOS, Linux, Chrome OS | Version 57 or later |
+ | Apple Safari | macOS | Version 11 or later |
+ | Mozilla Firefox | Windows, macOS, Linux | Version 55 or later |
+
+> [!NOTE]
+> The Remote Desktop Web client doesn't support mobile web browsers.
+>
+> As of September 30, 2021, the Remote Desktop Web client no longer supports Internet Explorer. We recommend that you use Microsoft Edge with the Remote Desktop Web client instead. For more information, see our [blog post](https://aka.ms/WVDSupportIE11).
++++
+## Subscribe to a workspace and connect to your desktops and applications
+
+Select a tab for the platform you're using.
+
+# [Windows](#tab/windows)
+
+### Subscribe to a workspace
+
+A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Remote Desktop client, you need to subscribe to the workspace by following these steps:
+
+1. Open the **Remote Desktop** app on your device.
+
+1. The first time you subscribe to a workspace, from the **Let's get started** screen, select **Subscribe** or **Subscribe with URL**.
+
+ - If you selected **Subscribe**, sign in with your user account when prompted, for example `user@contoso.com`. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
+
+ If you see the message **No workspace is associated with this email address**, your admin might not have set up email discovery, or you're using an Azure environment that isn't Azure cloud, such as Azure for US Government. Try the steps to **Subscribe with URL** instead.
+
+ - If you selected **Subscribe with URL**, in the **Email or Workspace URL** box, enter the relevant URL from the following table. After a few seconds, the message **We found Workspaces at the following URLs** should be displayed.
+
+ | Azure environment | Workspace URL |
+ |--|--|
+ | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
+ | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
+ | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
+
+1. Select **Next**.
+
+1. Sign in with your user account when prompted. After a few seconds, the workspace should show the desktops and applications that have been made available to you by your admin.
+
+Once you've subscribed to a workspace, its content will update automatically regularly and each time you start the client. Resources may be added, changed, or removed based on changes made by your admin.
+
+### Connect to your desktops and applications
+
+To connect to your desktops and applications:
+
+1. Open the **Remote Desktop** client on your device.
+
+1. Double-click one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
+
+### Insider releases
+
+If you want to help us test new builds before they're released, you should download our Insider releases. Organizations can use the Insider releases to validate new versions for their users before they're generally available. For more information, see [Enable Insider releases](client-features-windows.md#enable-insider-releases).
+
+# [macOS](#tab/macos)
+
+### Subscribe to a workspace
+
+A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Remote Desktop client, you need to subscribe to the workspace by following these steps:
+
+1. Open the **Microsoft Remote Desktop** app on your device.
+
+1. In the Connection Center, select **+**, then select **Add Workspace**.
+
+1. In the **Email or Workspace URL** box, either enter your user account, for example `user@contoso.com`, or the relevant URL from the following table. After a few seconds, the message **A workspace is associated with this URL** should be displayed.
+
+ > [!TIP]
+ > If you see the message **No workspace is associated with this email address**, your admin might not have set up email discovery. Use one of the following workspace URLs instead.
+
+ | Azure environment | Workspace URL |
+ |--|--|
+ | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
+ | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
+ | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
+
+1. Select **Add**.
+
+1. Sign in with your user account. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
+
+Once you've subscribed to a workspace, its content will update automatically every six hours and each time you start the client. Resources may be added, changed, or removed based on changes made by your admin.
+
+### Connect to your desktops and applications
+
+To connect to your desktops and applications:
+
+1. Open the **Microsoft Remote Desktop** app on your device.
+
+1. Double-click one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
+
+### Beta client
+
+If you want to help us test new builds before they're released, you should download our beta client. Organizations can use the beta client to validate new versions for their users before they're generally available. For more information, see [Test the beta client](client-features-macos.md#test-the-beta-client).
+
+> [!IMPORTANT]
+> The Remote Desktop app is changing to Windows App. To ensure you can validate the upcoming Windows App update before it's released into the store, the Windows App preview is now available in the [Remote Desktop Beta channels](client-features-macos.md#test-the-beta-client) where you can test the experience of updating from Remote Desktop to Windows App. To learn more about Windows App, see [Get started with Windows App to connect to devices and apps](/windows-app/get-started-connect-devices-desktops-apps).
+
+# [iOS/iPadOS](#tab/ios-ipados)
+
+### Subscribe to a workspace
+
+A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Remote Desktop client, you need to subscribe to the workspace by following these steps:
+
+1. Open the **RD Client** app on your device.
+
+1. In the Connection Center, tap **+**, then tap **Add Workspace**.
+
+1. In the **Email or Workspace URL** box, either enter your user account, for example `user@contoso.com`, or the relevant URL from the following table. After a few seconds, the message **A workspace is associated with this URL** should be displayed.
+
+ > [!TIP]
+ > If you see the message **No workspace is associated with this email address**, your admin might not have set up email discovery. Use one of the following workspace URLs instead.
+
+ | Azure environment | Workspace URL |
+ |--|--|
+ | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
+ | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
+ | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
+
+1. Tap **Next**.
+
+1. Sign in with your user account. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
+
+Once you've subscribed to a workspace, its content will update automatically regularly. Resources may be added, changed, or removed based on changes made by your admin.
+
+### Connect to your desktops and applications
+
+To connect to your desktops and applications:
+
+1. Open the **RD Client** app on your device.
+
+1. Tap one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
+
+### Beta client
+
+If you want to help us test new builds before they're released, you should download our beta client. Organizations can use the beta client to validate new versions for their users before they're generally available. For more information, see [Test the beta client](client-features-ios-ipados.md#test-the-beta-client).
+
+> [!IMPORTANT]
+> The Remote Desktop app is changing to Windows App. To ensure you can validate the upcoming Windows App update before it's released into the store, the Windows App preview is now available in the [Remote Desktop Beta channels](client-features-ios-ipados.md#test-the-beta-client) where you can test the experience of updating from Remote Desktop to Windows App. To learn more about Windows App, see [Get started with Windows App to connect to devices and apps](/windows-app/get-started-connect-devices-desktops-apps).
+
+# [Android/Chrome OS](#tab/android)
+
+### Subscribe to a workspace
+
+A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Remote Desktop client, you need to subscribe to the workspace by following these steps:
+
+1. Open the **RD Client** app on your device.
+
+1. In the Connection Center, tap **+**, then tap **Add Workspace**.
+
+1. In the **Email or Workspace URL** box, either enter your user account, for example `user@contoso.com`, or the relevant URL from the following table. After a few seconds, the message **A workspace is associated with this URL** should be displayed.
+
+ > [!TIP]
+ > If you see the message **No workspace is associated with this email address**, your admin might not have set up email discovery. Use one of the following workspace URLs instead.
+
+ | Azure environment | Workspace URL |
+ |--|--|
+ | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
+ | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
+ | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
+
+1. Tap **Next**.
+
+1. Sign in with your user account. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
+
+Once you've subscribed to a workspace, its content will update automatically regularly. Resources may be added, changed, or removed based on changes made by your admin.
+
+### Connect to your desktops and applications
+
+To connect to your desktops and applications:
+
+1. Open the **RD Client** app on your device.
+
+1. Tap one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, and to make sure you trust the remote PC before you connect, depending on how your admin has configured Azure Virtual Desktop.
+
+### Beta client
+
+If you want to help us test new builds before they're released, you should download our beta client. Organizations can use the beta client to validate new versions for their users before they're generally available. For more information, see [Test the beta client](client-features-android-chrome-os.md#test-the-beta-client).
+
+# [Web browser](#tab/web)
+
+When you sign in to the Remote Desktop Web client, you'll see your workspaces. A workspace combines all the desktops and applications that have been made available to you by your admin. You sign in by following these steps:
+
+1. Open your web browser.
+
+1. Go to one of the following URLs:
+
+ | Azure environment | Workspace URL |
+ |--|--|
+ | Azure cloud *(most common)* | [https://client.wvd.microsoft.com/arm/webclient/](https://client.wvd.microsoft.com/arm/webclient/) |
+ | Azure cloud (classic) | [https://client.wvd.microsoft.com/webclient/https://docsupdatetracker.net/index.html](https://client.wvd.microsoft.com/webclient/https://docsupdatetracker.net/index.html) |
+ | Azure for US Government | [https://rdweb.wvd.azure.us/arm/webclient/](https://rdweb.wvd.azure.us/arm/webclient/) |
+ | Azure operated by 21Vianet | [https://rdweb.wvd.azure.cn/arm/webclient/](https://rdweb.wvd.azure.cn/arm/webclient/) |
+
+1. Sign in with your user account. Once you've signed in successfully, your workspaces should show the desktops and applications that have been made available to you by your admin.
+
+1. Select one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
+
+1. A prompt for **Access local resources** may be displayed asking you to confirm which local resources you want to be available in the remote session. Make your selection, then select **Allow**.
+
+>[!TIP]
+>If you've already signed in to the web browser with a different Microsoft Entra account than the one you want to use for Azure Virtual Desktop, you should either sign out or use a private browser window.
++++
+## Next steps
+
+- To learn more about the features of the Remote Desktop client for Windows, check out [Use features of the Remote Desktop client for Windows when connecting to Azure Virtual Desktop](client-features-windows.md).
+
+- To learn more about the features of the Remote Desktop client for macOS, check out [Use features of the Remote Desktop client for macOS when connecting to Azure Virtual Desktop](client-features-macos.md).
+
+- To learn more about the features of the Remote Desktop client for iOS and iPadOS, check out [Use features of the Remote Desktop client for iOS and iPadOS when connecting to Azure Virtual Desktop](client-features-ios-ipados.md).
+
+- To learn more about the features of the Remote Desktop Web client, check out [Use features of the Remote Desktop Web client when connecting to Azure Virtual Desktop](client-features-web.md).
+
+- To learn more about the features of the Remote Desktop client for Android and Chrome OS, check out [Use features of the Remote Desktop client for Android and Chrome OS when connecting to Azure Virtual Desktop](client-features-android-chrome-os.md).
+
+- If you want to use Teams on Azure Virtual Desktop with media optimization, see [Use Microsoft Teams on Azure Virtual Desktop](../teams-on-avd.md).
virtual-desktop Connect Web https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/users/connect-web.md
- Title: Connect to Azure Virtual Desktop with the Remote Desktop Web client - Azure
-description: Learn how to connect to Azure Virtual Desktop using the Remote Desktop web client.
-- Previously updated : 10/04/2022----
-# Connect to Azure Virtual Desktop with the Remote Desktop Web client
-
-The Microsoft Remote Desktop client is used to connect to Azure Virtual Desktop to access your desktops and applications. This article shows you how to connect to Azure Virtual Desktop with the Remote Desktop Web client. The web client lets you access your Azure Virtual Desktop resources directly from a web browser without needing to install a separate client.
-
-You can find a list of all the Remote Desktop clients you can use to connect to Azure Virtual Desktop at [Remote Desktop clients overview](remote-desktop-clients-overview.md).
-
-## Prerequisites
-
-Before you can access your resources, you'll need to meet the prerequisites:
--- Internet access.--- A supported web browser. While any HTML5-capable web browser should work, we officially support the following web browsers and operating systems:-
- | Web browser | Supported operating system | Notes |
- |-|-||
- | Microsoft Edge | Windows, macOS, Linux, Chrome OS | Version 79 or later |
- | Google Chrome | Windows, macOS, Linux, Chrome OS | Version 57 or later |
- | Apple Safari | macOS | Version 11 or later |
- | Mozilla Firefox | Windows, macOS, Linux | Version 55 or later |
-
-> [!NOTE]
-> The Remote Desktop Web client doesn't support mobile web browsers.
->
-> As of September 30, 2021, the Remote Desktop Web client no longer supports Internet Explorer. We recommend that you use Microsoft Edge with the Remote Desktop Web client instead. For more information, see our [blog post](https://aka.ms/WVDSupportIE11).
-
-## Access your resources
-
-When you sign in to the Remote Desktop Web client, you'll see your workspaces. A workspace combines all the desktops and applications that have been made available to you by your admin. You sign in by following these steps:
-
-1. Open your web browser.
-
-1. Go to one of the following URLs:
-
- | Azure environment | Workspace URL |
- |--|--|
- | Azure cloud *(most common)* | [https://client.wvd.microsoft.com/arm/webclient/](https://client.wvd.microsoft.com/arm/webclient/) |
- | Azure cloud (classic) | [https://client.wvd.microsoft.com/webclient/https://docsupdatetracker.net/index.html](https://client.wvd.microsoft.com/webclient/https://docsupdatetracker.net/index.html) |
- | Azure for US Government | [https://rdweb.wvd.azure.us/arm/webclient/](https://rdweb.wvd.azure.us/arm/webclient/) |
- | Azure operated by 21Vianet | [https://rdweb.wvd.azure.cn/arm/webclient/](https://rdweb.wvd.azure.cn/arm/webclient/) |
-
-1. Sign in with your user account. Once you've signed in successfully, your workspaces should show the desktops and applications that have been made available to you by your admin.
-
-1. Select one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
-
-1. A prompt for **Access local resources** may be displayed asking you confirm which local resources you want to be available in the remote session. Make your selection, then select **Allow**.
-
->[!TIP]
->If you've already signed in to the web browser with a different Microsoft Entra account than the one you want to use for Azure Virtual Desktop, you should either sign out or use a private browser window.
-
-## Next steps
-
-To learn more about the features of the Remote Desktop Web client, check out [Use features of the Remote Desktop Web client when connecting to Azure Virtual Desktop](client-features-web.md).
virtual-desktop Connect Windows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/users/connect-windows.md
- Title: Connect to Azure Virtual Desktop with the Remote Desktop client for Windows - Azure Virtual Desktop
-description: Learn how to connect to Azure Virtual Desktop using the Remote Desktop client for Windows.
-
-zone_pivot_groups: azure-virtual-desktop-windows-clients
--- Previously updated : 09/23/2024--
-# Connect to Azure Virtual Desktop with the Remote Desktop client for Windows
-
-> [!IMPORTANT]
-> The Azure Virtual Desktop store app is no longer available for download or installation. To ensure a seamless experience and avoid any disruption, users are encouraged to download the Windows App Windows App is the gateway to securely connect to any devices or apps across Azure Virtual Desktop, Windows 365, and Microsoft Dev Box. For more information, see [What is Windows App](/windows-app/overview).
-
-The Microsoft Remote Desktop client is used to connect to Azure Virtual Desktop to access your desktops and applications. This article shows you how to connect to Azure Virtual Desktop with the Remote Desktop client for Windows, which only allows you to subscribe to a feed made available to you by your organization administrators.
-
-There are three versions of the Remote Desktop client for Windows, which are all supported for connecting to Azure Virtual Desktop:
--- Standalone download as an MSI installer. This is the most common version of the Remote Desktop client for Windows.-- Azure Virtual Desktop app from the Microsoft Store. This is a preview version of the Remote Desktop client for Windows.-- Remote Desktop app from the Microsoft Store. This version is no longer being developed. -
-> [!TIP]
-> You can also connect to Azure Virtual Desktop with Windows App, a single app to securely connect you to Windows devices and apps from Azure Virtual Desktop, Windows 365, Microsoft Dev Box, Remote Desktop Services, and remote PCs. For more information, see [What is Windows App?](/windows-app/overview)
-
-You can find a list of all the Remote Desktop clients you can use to connect to Azure Virtual Desktop at [Remote Desktop clients overview](remote-desktop-clients-overview.md).
-
-If you want to connect to Remote Desktop Services or a remote PC instead of Azure Virtual Desktop, see [Connect to Remote Desktop Services with the Remote Desktop app for Windows](/windows-server/remote/remote-desktop-services/clients/windows).
-
-> [!TIP]
-> Select the version of the Remote Desktop client for Windows you want to use with the buttons at the top of this article.
-
-## Prerequisites
-
-Before you can access your resources, you'll need to meet the prerequisites.
--- Internet access.--- A device running one of the following supported versions of Windows:
- - Windows 11
- - Windows 10
- - Windows Server 2022
- - Windows Server 2019
- - Windows Server 2016
-
- > [!IMPORTANT]
- > - Support for Windows 7 ended on January 10, 2023.
- > - Support for Windows Server 2012 R2 ended on October 10, 2023.
--- .NET Framework 4.6.2 or later. You may need to install this on Windows Server 2016, and some versions of Windows 10. To download the latest version, see [Download .NET Framework](https://dotnet.microsoft.com/download/dotnet-framework).--- Internet access.--- A device running one of the following supported versions of Windows:
- - Windows 11
- - Windows 10
-
-Before you can access your resources, you'll need to meet the prerequisites.
--- Internet access.--- A device running one of the following supported versions of Windows:
- - Windows 11
- - Windows 10
-
-## Download and install the Remote Desktop client (MSI)
-
-Here's how to install the Remote Desktop client for Windows using the MSI installer. If you want to deploy the Remote Desktop client in an enterprise, you can use `msiexec` from the command line to install the MSI file. For more information, see [Enterprise deployment](client-features-windows.md#enterprise-deployment).
-
-1. Download the Remote Desktop client installer, choosing the correct version for your device:
-
- - [Windows 64-bit](https://go.microsoft.com/fwlink/?linkid=2139369) *(most common)*
- - [Windows 32-bit](https://go.microsoft.com/fwlink/?linkid=2139456)
- - [Windows ARM64](https://go.microsoft.com/fwlink/?linkid=2139370)
-
-1. Run the installer by double-clicking the file you downloaded.
-
-1. On the welcome screen, select **Next**.
-
-1. To accept the end-user license agreement, check the box for **I accept the terms in the License Agreement**, then select **Next**.
-
-1. For the Installation Scope, select one of the following options:
-
- - **Install just for you**: Remote Desktop will be installed in a per-user folder and be available just for your user account. You don't need local Administrator privileges.
- - **Install for all users of this machine**: Remote Desktop will be installed in a per-machine folder and be available for all users. You must have local Administrator privileges
-
-1. Select **Install**.
-
-1. Once installation has completed, select **Finish**.
-
-1. If you left the box for **Launch Remote Desktop when setup exits** selected, the Remote Desktop client will automatically open. Alternatively to launch the client after installation, use the Start menu to search for and select **Remote Desktop**.
-
-> [!IMPORTANT]
-> If you have the Remote Desktop client (MSI) and the Azure Virtual Desktop app from the Microsoft Store installed on the same device, you may see the message that begins **A version of this application called Azure Virtual Desktop was installed from the Microsoft Store**. Both apps are supported, and you have the option to choose **Continue anyway**, however it could be confusing to use the same remote resource across both apps. We recommend using only one version of the app at a time.
-
-## Download and install the Azure Virtual Desktop app
-
-The Azure Virtual Desktop app is available from the Microsoft Store. To download and install it, follow these steps:
-
-1. Go to the [Azure Virtual Desktop Store app in the Microsoft Store](https://aka.ms/AVDStoreClient).
-
-1. Select **Install** to start downloading the app and installing it.
-
-1. Once the app has finished downloading and installing, select **Open**. The first time the app runs, it will install the *Azure Virtual Desktop (HostApp)* dependency automatically.
-
-> [!IMPORTANT]
-> If you have the Azure Virtual Desktop app from the Microsoft Store and the Remote Desktop client (MSI) installed on the same device, you may see the message that begins **A version of this application called Azure Virtual Desktop was installed from the Microsoft Store**. Both apps are supported, and you have the option to choose **Continue anyway**, however it could be confusing to use the same remote resource across both apps. We recommend using only one version of the app at a time.
-
-> [!IMPORTANT]
-> We're no longer updating the Remote Desktop app for Windows with new features and support for Azure Virtual Desktop will be removed in the future.
->
-> For the best Azure Virtual Desktop experience that includes the latest features and updates, we recommend you download the Remote Desktop client (MSI) instead.
-
-The Remote Desktop app is available from the Microsoft Store. To download and install it, follow these steps:
-
-1. Go to the [Remote Desktop app in the Microsoft Store](https://go.microsoft.com/fwlink/?LinkID=616709).
-
-1. Select **Install** to start downloading the app and installing it.
-
-1. Once the app has finished downloading and installing, select **Open**.
-
-## Subscribe to a workspace
-
-A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Remote Desktop client, you need to subscribe to the workspace by following these steps:
-
-1. Open the **Remote Desktop** app on your device.
-
-1. The first time you subscribe to a workspace, from the **Let's get started** screen, select **Subscribe** or **Subscribe with URL**.
-
- - If you selected **Subscribe**, sign in with your user account when prompted, for example `user@contoso.com`. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
-
- If you see the message **No workspace is associated with this email address**, your admin might not have set up email discovery, or you are using an Azure environment that is not Azure cloud, such as Azure for US Government. Try the steps to **Subscribe with URL** instead.
-
- - If you selected **Subscribe with URL**, in the **Email or Workspace URL** box, enter the relevant URL from the following table. After a few seconds, the message **We found Workspaces at the following URLs** should be displayed.
-
- | Azure environment | Workspace URL |
- |--|--|
- | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
- | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
- | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
-
-1. Select **Next**.
-
-1. Sign in with your user account when prompted. After a few seconds, the workspace should show the desktops and applications that have been made available to you by your admin.
-
-Once you've subscribed to a workspace, its content will update automatically regularly and each time you start the client. Resources may be added, changed, or removed based on changes made by your admin.
-
-A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Azure Virtual Desktop app, you need to subscribe to the workspace by following these steps:
-
-1. Open the **Azure Virtual Desktop** app on your device.
-
-1. The first time you subscribe to a workspace, from the **Let's get started** screen, select **Subscribe** or **Subscribe with URL**. Use the tabs below for your scenario.
-
- - If you selected **Subscribe**, sign in with your user account when prompted, for example `user@contoso.com`. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
-
- If you see the message **No workspace is associated with this email address**, your admin might not have set up email discovery, or you are using an Azure environment that is not Azure cloud, such as Azure for US Government. Try the steps to **Subscribe with URL** instead.
-
- - If you selected **Subscribe with URL**, in the **Email or Workspace URL** box, enter the relevant URL from the following table. After a few seconds, the message **We found Workspaces at the following URLs** should be displayed.
-
- | Azure environment | Workspace URL |
- |--|--|
- | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
- | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
- | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
-
-1. Select **Next**.
-
-1. Sign in with your user account when prompted. After a few seconds, the workspace should show the desktops and applications that have been made available to you by your admin.
-
-Once you've subscribed to a workspace, its content will update automatically regularly and each time you start the client. Resources may be added, changed, or removed based on changes made by your admin.
-
-A workspace combines all the desktops and applications that have been made available to you by your admin. To be able to see these in the Remote Desktop app, you need to subscribe to the workspace by following these steps:
-
-1. Open the **Remote Desktop** app on your device.
-
-1. In the Connection Center, select **+ Add**, then select **Workspaces**.
-
-1. In the **Email or Workspace URL** box, either enter your user account, for example `user@contoso.com`, or the relevant URL from the following table. After a few seconds, the message **We found Workspaces at the following URLs** should be displayed.
-
- If you see the message **We couldn't find any Workspaces associated with this email address. Try providing a URL instead**, your admin might not have set up email discovery. Use one of the following workspace URLs instead.
-
- | Azure environment | Workspace URL |
- |--|--|
- | Azure cloud *(most common)* | `https://rdweb.wvd.microsoft.com` |
- | Azure for US Government | `https://rdweb.wvd.azure.us/api/arm/feeddiscovery` |
- | Azure operated by 21Vianet | `https://rdweb.wvd.azure.cn/api/arm/feeddiscovery` |
-
-1. Select **Subscribe**.
-
-1. Sign in with your user account. After a few seconds, your workspaces should show the desktops and applications that have been made available to you by your admin.
-
-Once you've subscribed to a workspace, its content will update automatically regularly. Resources may be added, changed, or removed based on changes made by your admin.
-
-## Connect to your desktops and applications
-
-Once you've subscribed to a workspace, here's how to connect:
-
-1. Open the **Remote Desktop** client on your device.
-
-1. Double-click one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
-
-1. Open the **Azure Virtual Desktop** app on your device.
-
-1. Double-click one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
-
-1. To pin your desktops and applications to the Start Menu, right-click one of the icons and select **Pin to Start Menu**, then confirm the prompt.
-
-1. Open the **Remote Desktop** app on your device.
-
-1. Select one of the icons to launch a session to Azure Virtual Desktop. You may be prompted to enter the password for your user account again, depending on how your admin has configured Azure Virtual Desktop.
-
-## Insider releases
-
-If you want to help us test new builds before they're released, you should download our Insider releases. Organizations can use the Insider releases to validate new versions for their users before they're generally available. For more information, see [Enable Insider releases](client-features-windows.md#enable-insider-releases).
-
-## Next steps
--- To learn more about the features of the Remote Desktop client for Windows, check out [Use features of the Remote Desktop client for Windows when connecting to Azure Virtual Desktop](client-features-windows.md).--- If you want to use Teams on Azure Virtual Desktop with media optimization, see [Use Microsoft Teams on Azure Virtual Desktop](../teams-on-avd.md).
virtual-desktop Remote Desktop Clients Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/users/remote-desktop-clients-overview.md
Title: Remote Desktop clients for Azure Virtual Desktop - Azure Virtual Desktop
description: Overview of the Remote Desktop clients you can use to connect to Azure Virtual Desktop. Previously updated : 04/13/2023 Last updated : 09/25/2024
Some features are only available with certain clients, so it's important to chec
> [!TIP] > You can use most versions of the Remote Desktop client to connect to [Remote Desktop Services](/windows-server/remote/remote-desktop-services/welcome-to-rds) in Windows Server or to a remote PC, as well as to Azure Virtual Desktop. If you'd prefer to use Remote Desktop Services instead, learn more at [Remote Desktop clients for Remote Desktop Services](/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients).
-Here's a list of the Remote Desktop client apps and our documentation for connecting to Azure Virtual Desktop, where you can find download links, what's new, and learn how to install and use each client.
+Here's a list of the Remote Desktop client apps and our documentation for connecting to Azure Virtual Desktop, where you can find download links, what's new, and learn how to install and use each client.
| Platform | Documentation and download links | Version information | |--|--|--|
-| Windows<br /><ul><li>Remote Desktop client (MSI)</li><li>Azure Virtual Desktop Store app</li><li>Remote Desktop Store app</li></ul> | [Connect to Azure Virtual Desktop with the Remote Desktop client for Windows](connect-windows.md) | [What's new](../whats-new-client-windows.md) |
-| Web | [Connect to Azure Virtual Desktop with the Remote Desktop client for Web](connect-web.md) | [What's new](/windows-server/remote/remote-desktop-services/clients/web-client-whatsnew?context=/azure/virtual-desktop/context/context) |
-| macOS | [Connect to Azure Virtual Desktop with the Remote Desktop client for macOS](connect-macos.md) | [What's new](/windows-server/remote/remote-desktop-services/clients/mac-whatsnew?context=/azure/virtual-desktop/context/context) |
-| iOS/iPadOS | [Connect to Azure Virtual Desktop with the Remote Desktop client for iOS and iPadOS](connect-ios-ipados.md) | [What's new](/windows-server/remote/remote-desktop-services/clients/ios-whatsnew?context=/azure/virtual-desktop/context/context) |
-| Android/Chrome OS | [Connect to Azure Virtual Desktop with the Remote Desktop client for Android and Chrome OS](connect-android-chrome-os.md) | [What's new](/windows-server/remote/remote-desktop-services/clients/android-whatsnew?context=/azure/virtual-desktop/context/context) |
+| Windows | [Connect to Azure Virtual Desktop with the Remote Desktop client for Windows](connect-remote-desktop-client.md?tabs=windows) | [What's new](../whats-new-client-windows.md) |
+| Web | [Connect to Azure Virtual Desktop with the Remote Desktop client for Web](connect-remote-desktop-client.md?tabs=web) | [What's new](/windows-server/remote/remote-desktop-services/clients/web-client-whatsnew?context=/azure/virtual-desktop/context/context) |
+| macOS | [Connect to Azure Virtual Desktop with the Remote Desktop client for macOS](connect-remote-desktop-client.md?tabs=macos) | [What's new](/windows-server/remote/remote-desktop-services/clients/mac-whatsnew?context=/azure/virtual-desktop/context/context) |
+| iOS/iPadOS | [Connect to Azure Virtual Desktop with the Remote Desktop client for iOS and iPadOS](connect-remote-desktop-client.md?tabs=ios-ipados) | [What's new](/windows-server/remote/remote-desktop-services/clients/ios-whatsnew?context=/azure/virtual-desktop/context/context) |
+| Android/Chrome OS | [Connect to Azure Virtual Desktop with the Remote Desktop client for Android and Chrome OS](connect-remote-desktop-client.md?tabs=android) | [What's new](/windows-server/remote/remote-desktop-services/clients/android-whatsnew?context=/azure/virtual-desktop/context/context) |
++
+Here's a list of legacy Remote Desktop client apps for Windows. See the below documentation links for more information.
+
+| Platform | Documentation and download links | Version information |
+|--|--|--|
+| Azure Virtual Desktop Store app for Windows | [Connect to Azure Virtual Desktop with the Remote Desktop client for Windows](connect-legacy-windows.md?tabs=avd-store) | [What's new](../whats-new-client-windows.md) |
+| Remote Desktop Store app for Windows | [Connect to Azure Virtual Desktop with the Remote Desktop client for Windows](connect-legacy-windows.md?tabs=rd-store) | [What's new](../whats-new-client-windows.md) |
virtual-desktop Whats New Client Windows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/whats-new-client-windows.md
zone_pivot_groups: azure-virtual-desktop-windows-clients Previously updated : 10/08/2024 Last updated : 10/16/2024 # What's new in the Remote Desktop client for Windows
virtual-network How To Multiple Prefixes Subnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-network/how-to-multiple-prefixes-subnet.md
The following limitations apply during the public preview:
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
+> [!CAUTION]
+> Subnet properties "addressPrefixes" and "addressPrefix" are not to be used interchangeably. For best results, use only "addressPrefixes" for both a single address prefix and for multiple address prefixes. If you are already using "addressPrefix" in your workflows, continue to use this property.
+ # [PowerShell](#tab/powershell) - Azure PowerShell installed locally or Azure Cloud Shell.
virtual-network Ipv6 Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-network/ip-services/ipv6-overview.md
description: IPv6 description of IPv6 endpoints and data paths in an Azure virtu
Previously updated : 08/24/2023 Last updated : 10/16/2024
The current IPv6 for Azure Virtual Network release has the following limitations
- IPv6-only Virtual Machines or Virtual Machines Scale Sets aren't supported, each NIC must include at least one IPv4 IP configuration. -- To add IPv6 to existing IPv4 deployments, you can't add IPv6 ranges to a virtual network that has existing resource navigation links.
+- To add IPv6 to existing IPv4 deployments, you can't add IPv6 ranges to a virtual network that has existing resource in use.
- While it's possible to create NSG rules for IPv4 and IPv6 within the same NSG, it isn't currently possible to combine an IPv4 subnet with an IPv6 subnet in the same rule when specifying IP prefixes.
virtual-wan Nat Rules Vpn Gateway https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-wan/nat-rules-vpn-gateway.md
Previously updated : 07/28/2023 Last updated : 10/16/2024
vpn-gateway Bgp Howto https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/vpn-gateway/bgp-howto.md
description: Learn how to configure BGP for Azure VPN Gateway using the Azure po
Previously updated : 04/20/2023 Last updated : 10/16/2024
Before proceeding, make sure you have enabled BGP for the VPN gateway.
Configure a local network gateway with BGP settings. * For information and steps, see the [local network gateway](tutorial-site-to-site-portal.md#LocalNetworkGateway) section in the site-to-site connection article.
-* If you already have a local network gateway, you can modify it.To modify a local network gateway, go to the local network gateway resource **Configuration** page and make any necessary changes.
+* If you already have a local network gateway, you can modify it. To modify a local network gateway, go to the local network gateway resource **Configuration** page and make any necessary changes.
1. When you create the local network gateway, for this exercise, use the following values:
vpn-gateway Nat Howto https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/vpn-gateway/nat-howto.md
description: Learn how to configure NAT for Azure VPN Gateway.
Previously updated : 10/15/2024 Last updated : 10/16/2024
Before you create connections, you must create and save NAT rules on the VPN gat
| Name | Type | Mode | Internal | External | Connection | | | | | | | |
-| VNet | Static | EgressSNAT | 10.0.1.0/24 | 100.0.1.0/24 | Both connections |
-| Branch1 | Static | IngressSNAT | 10.0.1.0/24 | 100.0.2.0/24 | Branch1 connection |
-| Branch2 | Static | IngressSNAT | 10.0.1.0/24 | 100.0.3.0/24 | Branch2 connection |
+| VNet | Static | EgressSNAT | 10.0.1.0/24 | 192.168.1.0/24 | Both connections |
+| Branch1 | Static | IngressSNAT | 10.0.1.0/24 | 192.168.2.0/24| Branch1 connection |
+| Branch2 | Static | IngressSNAT | 10.0.1.0/24 | 192.168.3.0/24 | Branch2 connection |
Use the following steps to create all the NAT rules on the VPN gateway. If you're using BGP, select **Enable** for the Enable Bgp Route Translation setting.
vpn-gateway Nat Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/vpn-gateway/nat-overview.md
description: Learn about NAT (Network Address Translation) in Azure VPN to conne
Previously updated : 05/02/2023 Last updated : 10/16/2024
The following diagram shows an example of Azure VPN NAT configurations:
The diagram shows an Azure VNet and two on-premises networks, all with address space of 10.0.1.0/24. To connect these two networks to the Azure VNet and VPN gateway, create the following rules:
-* IngressSNAT rule 1: This rule translates the on-premises address space 10.0.1.0/24 to 100.0.2.0/24.
+* IngressSNAT rule 1: This rule translates the on-premises address space 10.0.1.0/24 192.168.2.0/24.
-* IngressSNAT rule 2: This rule translates the on-premises address space 10.0.1.0/24 to 100.0.3.0/24.
+* IngressSNAT rule 2: This rule translates the on-premises address space 10.0.1.0/24 to 192.168.3.0/24.
-* EgressSNAT rule 1: This rule translates the VNet address space 10.0.1.0/24 to 100.0.1.0/24.
+* EgressSNAT rule 1: This rule translates the VNet address space 10.0.1.0/24 to 192.168.1.0/24.
In the diagram, each connection resource has the following rules:
In the diagram, each connection resource has the following rules:
Based on the rules associated with the connections, here are the address spaces for each network:
-| Network | Original | Translated |
-| | | |
-| VNet | 10.0.1.0/24 | 100.0.1.0/24 |
-| Branch 1 | 10.0.1.0/24 | 100.0.2.0/24 |
-| Branch 2 | 10.0.1.0/24 | 100.0.3.0/24 |
+| Network | Original | Translated |
+| | | |
+| VNet | 10.0.1.0/24 | 192.168.1.0/24 |
+| Branch 1 | 10.0.1.0/24 | 192.168.2.0/24 |
+| Branch 2 | 10.0.1.0/24 | 192.168.3.0/24 |
The following diagram shows an IP packet from Branch 1 to VNet, before and after the NAT translation:
vpn-gateway Point To Site Entra Vpn Client Windows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/vpn-gateway/point-to-site-entra-vpn-client-windows.md
After you obtain the VPN client profile configuration package, extract the zip f
## <a name="modify"></a>Modify profile configuration files
-If your P2S configuration uses a custom audience with your Microsoft-registered App ID, you might receive the error message **CAA20004** when you try to connect. Retrying authentication usually resolves the issue. This happens because the VPN client profile needs both the custom audience ID and the Microsoft application ID. To prevent this, modify your profile configuration .xml file to include both the custom application ID and the Microsoft application ID.
+If your P2S configuration uses a custom audience and your registered app is associated with Microsoft-registered App ID, you might receive the error message **AADSTS650057** when you try to connect. Entering your Entra ID credential in pop-up for the second time will resolve the issue. This happens because the VPN client profile needs both the custom audience ID and the Microsoft application ID. To prevent this, modify your profile configuration .xml file to include both the custom application ID and the Microsoft application ID.
[!INCLUDE [custom audience steps](../../includes/vpn-gateway-entra-vpn-client-custom.md)]
For Azure VPN Client version information, see [Azure VPN Client versions](azure-
## Next steps
-[About point-to-site connections](point-to-site-about.md).
+[About point-to-site connections](point-to-site-about.md).
vpn-gateway Point To Site Vpn Client Certificate Windows Openvpn Client Version 3 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/vpn-gateway/point-to-site-vpn-client-certificate-windows-openvpn-client-version-3.md
+
+ Title: 'Configure P2S VPN clients: certificate authentication: OpenVPN Client 3.x series - Windows'
+
+description: Learn how to configure VPN clients for P2S configurations that use certificate authentication. This article applies to Windows and the OpenVPN Client 3.x series.
+++ Last updated : 10/08/2024+++
+# Configure OpenVPN Connect 3.x client for P2S certificate authentication connections - Windows
+
+If your point-to-site (P2S) VPN gateway is configured to use OpenVPN and certificate authentication, you can connect to your virtual network using the OpenVPN Client. This article walks you through the steps to configure the **OpenVPN Connect client 3.x** and connect to your virtual network. There are some configuration differences between the [OpenVPN 2.x](point-to-site-vpn-client-certificate-windows-openvpn-client.md) client and the OpenVPN Connect 3.x client. This article focuses on the OpenVPN Connect 3.x client.
+
+## Before you begin
+
+Before beginning client configuration steps, verify that you're on the correct VPN client configuration article. The following table shows the configuration articles available for VPN Gateway point-to-site VPN clients. Steps differ, depending on the authentication type, tunnel type, and the client OS.
++
+> [!NOTE]
+> The OpenVPN client is independently managed and not under Microsoft's control. This means Microsoft does not oversee its code, builds, roadmap, or legal aspects. Should customers encounter any bugs or issues with the OpenVPN client, they should directly contact OpenVPN Inc. support. The guidelines in this article are provided 'as is' and have not been validated by OpenVPN Inc. They are intended to assist customers who are already familiar with the client and wish to use it to connect to the Azure VPN Gateway in a Point-to-Site VPN setup.
+
+### Prerequisites
+
+This article assumes that you've already performed the following prerequisites:
+
+* You created and configured your VPN gateway for point-to-site certificate authentication and the OpenVPN tunnel type. See [Configure server settings for P2S VPN Gateway connections - certificate authentication](vpn-gateway-howto-point-to-site-resource-manager-portal.md) for steps.
+* You generated and downloaded the VPN client configuration files. See [Generate VPN client profile configuration files](vpn-gateway-howto-point-to-site-resource-manager-portal.md#profile-files) for steps.
+* You can either generate client certificates, or acquire the appropriate client certificates necessary for authentication.
+
+### Connection requirements
+
+To connect to Azure using the OpenVPN Connect 3.x client using certificate authentication, each connecting client computer requires the following items:
+
+* The OpenVPN Connect client software must be installed and configured on each client computer.
+* The client computer must have a client certificate that's installed locally.
+* If your certificate chain includes an intermediate certificate, see the [Intermediate certificates](#intermediate) section first to verify that your P2S VPN gateway configuration is set up to support this certificate chain. The certificate authentication behavior for 3.x clients is different than previous versions, where you could specify the intermediate certificate in the client profile.
+
+### Workflow
+
+The workflow for this article is:
+
+1. Generate and install client certificates if you haven't already done so.
+1. View the VPN client profile configuration files contained in the VPN client profile configuration package that you generated.
+1. Configure the OpenVPN Connect client.
+1. Connect to Azure.
+
+## Generate and install client certificates
+
+For certificate authentication, a client certificate must be installed on each client computer. The client certificate you want to use must be exported with the private key, and must contain all certificates in the certification path. Additionally, for some configurations, you'll also need to install root certificate information.
+
+In many cases, you can install the client certificate directly on the client computer by double-clicking. However, for some OpenVPN client configurations, you might need to extract information from the client certificate in order to complete the configuration.
+
+* For information about working with certificates, see [Point-to site: Generate certificates](vpn-gateway-certificates-point-to-site.md).
+* To view an installed client certificate, open **Manage User Certificates**. The client certificate is installed in **Current User\Personal\Certificates**.
+
+### Install the client certificate
+
+Each computer needs a client certificate in order to authenticate. If the client certificate isn't already installed on the local computer, you can install it using the following steps:
+
+1. Locate the client certificate. For more information about client certificates, see [Install client certificates](point-to-site-how-to-vpn-client-install-azure-cert.md).
+1. Install the client certificate. Typically, you can do this by double-clicking the certificate file and providing a password (if required).
+
+## View configuration files
+
+The VPN client profile configuration package contains specific folders. The files within the folders contain the settings needed to configure the VPN client profile on the client computer. The files and the settings they contain are specific to the VPN gateway and the type of authentication and tunnel your VPN gateway is configured to use.
+
+Locate and unzip the VPN client profile configuration package you generated. For Certificate authentication and OpenVPN, you should see the **OpenVPN** folder. If you don't see the folder, verify the following items:
+
+* Verify that your VPN gateway is configured to use the OpenVPN tunnel type.
+* If you're using Microsoft Entra ID authentication, you might not have an OpenVPN folder. See the [Microsoft Entra ID](point-to-site-entra-vpn-client-windows.md) configuration article instead.
+
+## Configure the client
++
+### <a name="example"></a>User profile example
+
+The following example shows a user profile configuration file for 3.x OpenVPN Connect clients. This example shows the log file commented out and the "ping-restart 0" option added to prevent periodic reconnects due to no traffic being sent to the client.
+
+```
+client
+remote <vpnGatewayname>.ln.vpn.azure.com 443
+verify-x509-name <IdGateway>.ln.vpn.azure.com name
+remote-cert-tls server
+
+dev tun
+proto tcp
+resolv-retry infinite
+nobind
+
+auth SHA256
+cipher AES-256-GCM
+persist-key
+persist-tun
+
+tls-timeout 30
+tls-version-min 1.2
+key-direction 1
+
+#log openvpn.log
+#inactive 0
+ping-restart 0
+verb 3
+
+# P2S CA root certificate
+<ca>
+--BEGIN CERTIFICATE--
+……
+……..
+……..
+……..
+
+--END CERTIFICATE--
+</ca>
+
+# Pre Shared Key
+<tls-auth>
+--BEGIN OpenVPN Static key V1--
+……..
+……..
+……..
+
+--END OpenVPN Static key V1--
+</tls-auth>
+
+# P2S client certificate
+# Please fill this field with a PEM formatted client certificate
+# Alternatively, configure 'cert PATH_TO_CLIENT_CERT' to use input from a PEM certificate file.
+<cert>
+--BEGIN CERTIFICATE--
+……..
+……..
+……..
+--END CERTIFICATE--
+</cert>
+
+# P2S client certificate private key
+# Please fill this field with a PEM formatted private key of the client certificate.
+# Alternatively, configure 'key PATH_TO_CLIENT_KEY' to use input from a PEM key file.
+<key>
+--BEGIN PRIVATE KEY--
+……..
+……..
+……..
+--END PRIVATE KEY--
+</key>
+```
+
+## <a name="intermediate"></a>Intermediate certificates
+
+If your certificate chain includes intermediate certificates, you must upload the intermediate certificates to the Azure VPN gateway.
+This is the preferred method to use, regardless of the VPN client you choose to connect from. In previous versions, you could specify intermediate certificates in the user profile. This is no longer supported in OpenVPN Connect client version 3.x.
+
+When you're working with intermediate certificates, the intermediate certificate must be uploaded after the root certificate.
++
+## Reconnects
+
+If you experience periodic reconnects due to no traffic being sent to client, you can add the "ping-restart 0" option to the profile to prevent disconnections from causing reconnects. This is described in the OpenVPN Connect documentation as follows: " --ping-restart n Similar to --ping-exit, but trigger a SIGUSR1 restart after n seconds pass without reception of a ping or other packet from remote."
+
+See the [User profile example](#example) for an example of how to add this option.
+
+## Next steps
+
+Follow up with any additional server or connection settings. See [Point-to-site configuration steps](vpn-gateway-howto-point-to-site-resource-manager-portal.md).
vpn-gateway Point To Site Vpn Client Certificate Windows Openvpn Client https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/vpn-gateway/point-to-site-vpn-client-certificate-windows-openvpn-client.md
Title: 'Configure P2S VPN clients: certificate authentication: OpenVPN Client - Windows'
+ Title: 'Configure P2S VPN clients: certificate authentication: OpenVPN Client 2.x - Windows'
-description: Learn how to configure VPN clients for P2S configurations that use certificate authentication. This article applies to Windows and the OpenVPN Client.
+description: Learn how to configure VPN clients for P2S configurations that use certificate authentication. This article applies to Windows and the OpenVPN Client 2.x series - 2.4 and higher.
Previously updated : 05/14/2024 Last updated : 10/08/2024
-# Configure OpenVPN client for P2S certificate authentication connections - Windows
+# Configure OpenVPN 2.x client for P2S certificate authentication connections - Windows
-If your point-to-site (P2S) VPN gateway is configured to use OpenVPN and certificate authentication, you can connect to your virtual network using the OpenVPN Client. This article walks you through the steps to configure the **OpenVPN client** and connect to your virtual network.
+If your point-to-site (P2S) VPN gateway is configured to use OpenVPN and certificate authentication, you can connect to your virtual network using the OpenVPN Client. This article walks you through the steps to configure the **OpenVPN client 2.4 and higher** and connect to your virtual network.
## Before you begin
Before beginning client configuration steps, verify that you're on the correct V
[!INCLUDE [All client articles](../../includes/vpn-gateway-vpn-client-install-articles.md)]
+> [!NOTE]
+> The OpenVPN client is independently managed and not under Microsoft's control. This means Microsoft does not oversee its code, builds, roadmap, or legal aspects. Should customers encounter any bugs or issues with the OpenVPN client, they should directly contact OpenVPN Inc. support. The guidelines in this article are provided 'as is' and have not been validated by OpenVPN Inc. They are intended to assist customers who are already familiar with the client and wish to use it to connect to the Azure VPN Gateway in a Point-to-Site VPN setup.
+ ### Prerequisites This article assumes that you've already performed the following prerequisites:
Each computer needs a client certificate in order to authenticate. If the client
The VPN client profile configuration package contains specific folders. The files within the folders contain the settings needed to configure the VPN client profile on the client computer. The files and the settings they contain are specific to the VPN gateway and the type of authentication and tunnel your VPN gateway is configured to use.
-Locate and unzip the VPN client profile configuration package you generated. For Certificate authentication and OpenVPN, you should see an OpenVPN folder. If you don't see the folder, verify the following items:
+Locate and unzip the VPN client profile configuration package you generated. For Certificate authentication and OpenVPN, you should see the **OpenVPN** folder. If you don't see the folder, verify the following items:
* Verify that your VPN gateway is configured to use the OpenVPN tunnel type. * If you're using Microsoft Entra authentication, you might not have an OpenVPN folder. See the [Microsoft Entra ID](point-to-site-entra-vpn-client-windows.md) configuration article instead.
web-application-firewall Protect Azure Open Ai https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/web-application-firewall/afds/protect-azure-open-ai.md
First, create an OpenAI instance.
:::image type="content" source="../media/protect-azure-open-ai/sample-code.png" alt-text="Screenshot showing Azure OpenAI sample code with Endpoint and Key.":::
-1. Validate Azure OpenAI call using [Postman](https://www.postman.com/).
+1. Validate Azure OpenAI call using your favorite API test method, such as [Visual Studio](/aspnet/core/test/http-files) or [Insomnia](https://insomnia.rest/).
Use the Azure OpenAPI endpoint and api-key values found in the earlier steps. Use these lines of code in the POST body:
First, create an OpenAI instance.
} ```
- :::image type="content" source="../media/protect-azure-open-ai/postman-body.png" alt-text="Screenshot showing the post body." lightbox="../media/protect-azure-open-ai/postman-body.png":::
+ :::image type="content" source="../media/protect-azure-open-ai/post-body.png" alt-text="Screenshot showing the post body." lightbox="../media/protect-azure-open-ai/post-body.png":::
1. In response to the POST, you should receive a *200 OK*: :::image type="content" source="../media/protect-azure-open-ai/post-200-ok.png" alt-text="Screenshot showing the POST 200 OK." lightbox="../media/protect-azure-open-ai/post-200-ok.png":::
Now verify your Azure Front Door endpoint.
1. Retrieve the Azure Front Door endpoint from the Front Door Manager. :::image type="content" source="../media/protect-azure-open-ai/front-door-endpoint.png" alt-text="Screenshot showing the Azure Front Door endpoint." lightbox="../media/protect-azure-open-ai/front-door-endpoint.png":::
-2. Use Postman to send a POST request to the Azure Front Door endpoint.
- 1. Replace the Azure OpenAI endpoint with the AFD endpoint in Postman POST request.
+2. Use your favorite API test method, such as [Visual Studio](/aspnet/core/test/http-files) or [Insomnia](https://insomnia.rest/) to send a POST request to the Azure Front Door endpoint.
+ 1. Replace the Azure OpenAI endpoint with the AFD endpoint in the POST request.
:::image type="content" source="../media/protect-azure-open-ai/test-final.png" alt-text="Screenshot showing the final POST." lightbox="../media/protect-azure-open-ai/test-final.png"::: Azure OpenAI also generates a response using the GPT model.
The following items are common issues you may encounter when using Azure OpenAI
- You get a *415: Unsupported Media Type* message when you send a POST request to your Azure OpenAI endpoint.
- If you attempt to send a POST request to your Azure OpenAI endpoint with the Content-Type header `text/plain`, you get this message. Make sure to update your Content-Type header to `application/json` in the header section in Postman.
+ If you attempt to send a POST request to your Azure OpenAI endpoint with the Content-Type header `text/plain`, you get this message. Make sure to update your Content-Type header to `application/json` in the header section in your test.