Updates from: 08/03/2023 01:08:44
Service Microsoft Docs article Related commit history on GitHub Change details
active-directory Id Token Claims Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/id-token-claims-reference.md
The following table shows the claims that are in most ID tokens by default (exce
|`idp`| String, usually an STS URI | Records the identity provider that authenticated the subject of the token. This value is identical to the value of the issuer claim unless the user account isn't in the same tenant as the issuer - guests, for instance. If the claim isn't present, it means that the value of `iss` can be used instead. For personal accounts being used in an organizational context (for instance, a personal account invited to a tenant), the `idp` claim may be 'live.com' or an STS URI containing the Microsoft account tenant `9188040d-6c67-4c5b-b112-36a304b66dad`. | |`nbf` | int, a Unix timestamp | Identifies the time before which the JWT can't be accepted for processing. | |`exp` | int, a Unix timestamp | Identifies the expiration time on or after which the JWT can't be accepted for processing. In certain circumstances, a resource may reject the token before this time. For example, if a change in authentication is required or a token revocation has been detected. |
-| `c_hash`| String | The code hash is included in ID tokens only when the ID token is issued with an OAuth 2.0 authorization code. It can be used to validate the authenticity of an authorization code. To understand how to do this validation, see the [OpenID Connect specification](https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken). |
+| `c_hash`| String | The code hash is included in ID tokens only when the ID token is issued with an OAuth 2.0 authorization code. It can be used to validate the authenticity of an authorization code. To understand how to do this validation, see the [OpenID Connect specification](https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken). This claim isn't returned on ID tokens from the /token endpoint. |
| `at_hash` | String | The access token hash is included in ID tokens only when the ID token is issued from the `/authorize` endpoint with an OAuth 2.0 access token. It can be used to validate the authenticity of an access token. To understand how to do this validation, see the [OpenID Connect specification](https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken). This claim isn't returned on ID tokens from the `/token` endpoint. | | `aio` | Opaque String | An internal claim that's used to record data for token reuse. Should be ignored. | | `preferred_username` | String | The primary username that represents the user. It could be an email address, phone number, or a generic username without a specified format. Its value is mutable and might change over time. Since it's mutable, this value can't be used to make authorization decisions. It can be used for username hints and in human-readable UI as a username. The `profile` scope is required to receive this claim. Present only in v2.0 tokens. |
To ensure that the token size doesn't exceed HTTP header size limits, the number
## Next steps -- Learn more about the [ID tokens used in Azure AD](id-tokens.md).
+- Learn more about the [ID tokens used in Azure AD](id-tokens.md).
active-directory Licensing Service Plan Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/enterprise-users/licensing-service-plan-reference.md
When [managing licenses in the Azure portal](https://portal.azure.com/#blade/Mic
| Microsoft Teams Phone Resource Account for GCC | PHONESYSTEM_VIRTUALUSER_GOV | 2cf22bcb-0c9e-4bc6-8daf-7e7654c0f285 | MCOEV_VIRTUALUSER_GOV (0628a73f-3b4a-4989-bd7b-0f8823144313) | Microsoft 365 Phone Standard Resource Account for Government (0628a73f-3b4a-4989-bd7b-0f8823144313) | | Microsoft Teams Premium Introductory Pricing | Microsoft_Teams_Premium | 36a0f3b3-adb5-49ea-bf66-762134cf063a | MICROSOFT_ECDN (85704d55-2e73-47ee-93b4-4b8ea14db92b)<br/>TEAMSPRO_MGMT (0504111f-feb8-4a3c-992a-70280f9a2869)<br/>TEAMSPRO_CUST (cc8c0802-a325-43df-8cba-995d0c6cb373)<br/>TEAMSPRO_PROTECTION (f8b44f54-18bb-46a3-9658-44ab58712968)<br/>TEAMSPRO_VIRTUALAPPT (9104f592-f2a7-4f77-904c-ca5a5715883f)<br/>MCO_VIRTUAL_APPT (711413d0-b36e-4cd4-93db-0a50a4ab7ea3)<br/>TEAMSPRO_WEBINAR (78b58230-ec7e-4309-913c-93a45cc4735b) | Microsoft eCDN (85704d55-2e73-47ee-93b4-4b8ea14db92b)<br/>Microsoft Teams Premium Intelligent (0504111f-feb8-4a3c-992a-70280f9a2869)<br/>Microsoft Teams Premium Personalized (cc8c0802-a325-43df-8cba-995d0c6cb373)<br/>Microsoft Teams Premium Secure (f8b44f54-18bb-46a3-9658-44ab58712968)<br/>Microsoft Teams Premium Virtual Appointment (9104f592-f2a7-4f77-904c-ca5a5715883f)<br/>Microsoft Teams Premium Virtual Appointments (711413d0-b36e-4cd4-93db-0a50a4ab7ea3)<br/>Microsoft Teams Premium Webinar (78b58230-ec7e-4309-913c-93a45cc4735b) | | Microsoft Teams Rooms Basic | Microsoft_Teams_Rooms_Basic | 6af4b3d6-14bb-4a2a-960c-6c902aad34f3 | MCOMEETADV (3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>WHITEBOARD_PLAN3 (4a51bca5-1eff-43f5-878c-177680f191af) | Microsoft 365 Audio Conferencing (3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40)<br/>Microsoft Teams (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>Whiteboard (Plan 3) (4a51bca5-1eff-43f5-878c-177680f191af) |
-| Microsoft Teams Rooms Basic for EDU | Microsoft_Teams_Rooms_Basic_FAC | a4e376bd-c61e-4618-9901-3fc0cb1b88bb | MCOMEETADV (3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>Teams_Room_Basic (8081ca9c-188c-4b49-a8e5-c23b5e9463a8)<br/>Teams_Room_Pro (ec17f317-f4bc-451e-b2da-0167e5c260f9)<br/>WHITEBOARD_PLAN3 (4a51bca5-1eff-43f5-878c-177680f191af) | Microsoft 365 Audio Conferencing (3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40)<br/>Microsoft Teams (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>Teams Room Basic (8081ca9c-188c-4b49-a8e5-c23b5e9463a8)<br/>Teams Room Pro (ec17f317-f4bc-451e-b2da-0167e5c260f9)<br/>Whiteboard (Plan 3) (4a51bca5-1eff-43f5-878c-177680f191af) |
+| Microsoft Teams Rooms Basic for EDU | Microsoft_Teams_Rooms_Basic_FAC | a4e376bd-c61e-4618-9901-3fc0cb1b88bb | MCOMEETADV (3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>Teams_Room_Basic (8081ca9c-188c-4b49-a8e5-c23b5e9463a8)<br/>Teams_Room_Pro (ec17f317-f4bc-451e-b2da-0167e5c260f9)<br/>WHITEBOARD_PLAN3 (4a51bca5-1eff-43f5-878c-177680f191af) | Microsoft 365 Audio Conferencing (3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40)<br/>Microsoft Teams (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>Teams Rooms Basic (8081ca9c-188c-4b49-a8e5-c23b5e9463a8)<br/>Teams Rooms Pro (ec17f317-f4bc-451e-b2da-0167e5c260f9)<br/>Whiteboard (Plan 3) (4a51bca5-1eff-43f5-878c-177680f191af) |
| Microsoft Teams Rooms Basic without Audio Conferencing | Microsoft_Teams_Rooms_Basic_without_Audio_Conferencing | 50509a35-f0bd-4c5e-89ac-22f0e16a00f8 | TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>WHITEBOARD_PLAN3 (4a51bca5-1eff-43f5-878c-177680f191af) | Microsoft Teams (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>Whiteboard (Plan 3) (4a51bca5-1eff-43f5-878c-177680f191af) | | Microsoft Teams Rooms Pro | Microsoft_Teams_Rooms_Pro | 4cde982a-ede4-4409-9ae6-b003453c8ea6 | AAD_PREMIUM (41781fb2-bc02-4b7c-bd55-b576c07bb09d)<br/>MCOMEETADV (3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40)<br/>MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7)<br/>INTUNE_A (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>WHITEBOARD_PLAN3 (4a51bca5-1eff-43f5-878c-177680f191af) | Azure Active Directory Premium P1 (41781fb2-bc02-4b7c-bd55-b576c07bb09d)<br/>Microsoft 365 Audio Conferencing (3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40)<br/>Microsoft 365 Phone System (4828c8ec-dc2e-4779-b502-87ac9ce28ab7)<br/>Microsoft Intune (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>Microsoft Teams (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>Skype for Business Online (Plan 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>Whiteboard (Plan 3) (4a51bca5-1eff-43f5-878c-177680f191af) | | Microsoft Teams Rooms Pro without Audio Conferencing | Microsoft_Teams_Rooms_Pro_without_Audio_Conferencing | 21943e3a-2429-4f83-84c1-02735cd49e78 | AAD_PREMIUM (41781fb2-bc02-4b7c-bd55-b576c07bb09d)<br/>MCOEV (4828c8ec-dc2e-4779-b502-87ac9ce28ab7)<br/>INTUNE_A (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>TEAMS1 (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>MCOSTANDARD (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>WHITEBOARD_PLAN3 (4a51bca5-1eff-43f5-878c-177680f191af) | Azure Active Directory Premium P1 (41781fb2-bc02-4b7c-bd55-b576c07bb09d)<br/>Microsoft 365 Phone System (4828c8ec-dc2e-4779-b502-87ac9ce28ab7)<br/>Microsoft Intune (c1ec4a95-1f05-45b3-a911-aa3fa01094f5)<br/>Microsoft Teams (57ff2da0-773e-42df-b2af-ffb7a2317929)<br/>Skype for Business Online (Plan 2) (0feaeb32-d00e-4d66-bd5a-43b5b83db82c)<br/>Whiteboard (Plan 3) (4a51bca5-1eff-43f5-878c-177680f191af) |
azure-maps Add Bubble Layer Map Ios https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/add-bubble-layer-map-ios.md
This article shows you how to render point data from a data source as a bubble l
## Prerequisites
-Be sure to complete the steps in the [Quickstart: Create an iOS app](quick-ios-app.md) document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
+Be sure to complete the steps in the [Quickstart: Create an iOS app] document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
## Add a bubble layer
See the following articles for more code samples to add to your maps:
- [Add a symbol layer](add-symbol-layer-ios.md) - [Use data-driven style expressions](data-driven-style-expressions-ios-sdk.md) - [Display feature information](display-feature-information-ios-sdk.md)+
+[Quickstart: Create an iOS app]: quick-ios-app.md
azure-maps Add Heat Map Layer Ios https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/add-heat-map-layer-ios.md
You can use heat maps in many different scenarios, including:
> [!TIP] > Heat map layers by default render the coordinates of all geometries in a data source. To limit the layer so that it only renders point geometry features, set the `filter` option of the layer to `NSPredicate(format: "%@ == \"Point\"", NSExpression.geometryTypeAZMVariable)`. If you want to include MultiPoint features as well, use `NSCompoundPredicate`.
-[Internet of Things Show - Heat Maps and Image Overlays in Azure Maps](/shows/internet-of-things-show/heat-maps-and-image-overlays-in-azure-maps/player?format=ny)
+[Internet of Things Show - Heat Maps and Image Overlays in Azure Maps]
## Prerequisites
-Be sure to complete the steps in the [Quickstart: Create an iOS app](quick-ios-app.md) document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
+Be sure to complete the steps in the [Quickstart: Create an iOS app] document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
## Add a heat map layer To render a data source of points as a heat map, pass your data source into an instance of the `HeatMapLayer` class, and add it to the map.
-The following code sample loads a GeoJSON feed of earthquakes from the past week and renders them as a heat map. Each data point is rendered with a radius of 10 points at all zoom levels. To ensure a better user experience, the heat map is below the label layer so the labels stay clearly visible. The data in this sample is from the [USGS Earthquake Hazards Program](https://earthquake.usgs.gov/).
+The following code sample loads a GeoJSON feed of earthquakes from the past week and renders them as a heat map. Each data point is rendered with a radius of 10 points at all zoom levels. To ensure a better user experience, the heat map is below the label layer so the labels stay clearly visible. The data in this sample is from the [USGS Earthquake Hazards Program].
```swift // Create a data source.
The following video shows a map running the above code, which scales the radius
For more code examples to add to your maps, see the following articles: -- [Create a data source](create-data-source-ios-sdk.md)-- [Use data-driven style expressions](data-driven-style-expressions-ios-sdk.md)
+- [Create a data source]
+- [Use data-driven style expressions]
+
+[Internet of Things Show - Heat Maps and Image Overlays in Azure Maps]: /shows/internet-of-things-show/heat-maps-and-image-overlays-in-azure-maps/player?format=ny
+[Quickstart: Create an iOS app]: quick-ios-app.md
+[USGS Earthquake Hazards Program]: https://earthquake.usgs.gov
+[Create a data source]: create-data-source-ios-sdk.md
+[Use data-driven style expressions]: data-driven-style-expressions-ios-sdk.md
azure-maps Add Image Layer Map Ios https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/add-image-layer-map-ios.md
The following screenshot shows a map of Newark, New Jersey, from 1922 overlaid u
## Import a KML file as ground overlay
-This sample demonstrates how to add KML ground overlay information as an image layer on the map. KML ground overlays provide north, south, east, and west coordinates, and a counter-clockwise rotation. But, the image layer expects coordinates for each corner of the image. The KML ground overlay in this sample is for the Chartres cathedral, and it's sourced from [Wikimedia](https://commons.wikimedia.org/wiki/File:Chartres.svg/overlay.kml).
+This sample demonstrates how to add KML ground overlay information as an image layer on the map. KML ground overlays provide north, south, east, and west coordinates, and a counter-clockwise rotation. But, the image layer expects coordinates for each corner of the image. The KML ground overlay in this sample is for the Chartres cathedral, and it's sourced from [Wikimedia].
```xml <?xml version="1.0" encoding="UTF-8"?>
The following screenshot shows a map with a KML ground overlay overlaid using an
See the following article to learn more about ways to overlay imagery on a map.
-* [Add a tile layer](add-tile-layer-map-ios.md)
+* [Add a tile layer]
+
+[Wikimedia]: https://commons.wikimedia.org/wiki/File:Chartres.svg/overlay.kml
+[Add a tile layer]: add-tile-layer-map-ios.md
azure-maps Add Line Layer Map Ios https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/add-line-layer-map-ios.md
A line layer can be used to render `LineString` and `MultiLineString` features a
## Prerequisites
-Be sure to complete the steps in the [Quickstart: Create an iOS app](quick-ios-app.md) document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
+Be sure to complete the steps in the [Quickstart: Create an iOS app] document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
## Add a line layer
The following screenshot shows the above code displaying a line with arrow icons
See the following articles for more code samples to add to your maps:
-* [Create a data source](create-data-source-ios-sdk.md)
-* [Use data-driven style expressions](data-driven-style-expressions-ios-sdk.md)
-* [Add a polygon layer](add-polygon-layer-map-ios.md)
+* [Create a data source]
+* [Use data-driven style expressions]
+* [Add a polygon layer]
+
+[Quickstart: Create an iOS app]: quick-ios-app.md
+[Create a data source]: create-data-source-ios-sdk.md
+[Use data-driven style expressions]: data-driven-style-expressions-ios-sdk.md
+[Add a polygon layer]: add-polygon-layer-map-ios.md
azure-maps Add Polygon Layer Map Ios https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/add-polygon-layer-map-ios.md
This article shows you how to render the areas of `Polygon` and `MultiPolygon` f
## Prerequisites
-Be sure to complete the steps in the [Quickstart: Create an iOS app](quick-ios-app.md) document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
+Be sure to complete the steps in the [Quickstart: Create an iOS app] document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
## Use a polygon layer
The following is a screenshot of the above code rendering a polygon with a fill
See the following articles for more code samples to add to your maps: -- [Create a data source](create-data-source-ios-sdk.md)-- [Use data-driven style expressions](data-driven-style-expressions-ios-sdk.md)-- [Add a line layer](add-line-layer-map-ios.md)-- [Add a polygon extrusion layer](add-polygon-extrusion-layer-map-ios.md)
+- [Create a data source]
+- [Use data-driven style expressions]
+- [Add a line layer]
+- [Add a polygon extrusion layer]
+
+[Quickstart: Create an iOS app]: quick-ios-app.md
+[Create a data source]: create-data-source-ios-sdk.md
+[Use data-driven style expressions]: data-driven-style-expressions-ios-sdk.md
+[Add a line layer]: add-line-layer-map-ios.md
+[Add a polygon extrusion layer]: add-polygon-extrusion-layer-map-ios.md
azure-maps Add Symbol Layer Ios https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/add-symbol-layer-ios.md
This article shows you how to render point data from a data source as a symbol l
## Prerequisites
-Be sure to complete the steps in the [Quickstart: Create an iOS app](quick-ios-app.md) document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
+Be sure to complete the steps in the [Quickstart: Create an iOS app] document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
## Add a symbol layer
There are three different types of point data that can be added to the map:
- GeoJSON MultiPoint geometry - This object contains the coordinates of multiple points and nothing else. Pass an array of coordinates into the `PointCollection` class to create these objects. - GeoJSON Feature - This object consists of any GeoJSON geometry and a set of properties that contain metadata associated to the geometry.
-For more information, see the [Create a data source](create-data-source-ios-sdk.md) document on creating and adding data to the map.
+For more information, see the [Create a data source] document on creating and adding data to the map.
The following code sample creates a GeoJSON Point geometry and passes it into the GeoJSON Feature and has a `title` value added to its properties. The `title` property is displayed as text below the symbol icon on the map.
UIImage.azm_markerYellow
See the following articles for more code samples to add to your maps: -- [Create a data source](Create-data-source-ios-sdk.md)-- [Cluster point data](clustering-point-data-ios-sdk.md)-- [Add a bubble layer](add-bubble-layer-map-ios.md)-- [Use data-driven style expressions](data-driven-style-expressions-ios-sdk.md)-- [Display feature information](display-feature-information-ios-sdk.md)
+- [Create a data source]
+- [Cluster point data]
+- [Add a bubble layer]
+- [Use data-driven style expressions]
+- [Display feature information]
+
+[Add a bubble layer]: add-bubble-layer-map-ios.md
+[Cluster point data]: clustering-point-data-ios-sdk.md
+[Create a data source]: Create-data-source-ios-sdk.md
+[Display feature information]: display-feature-information-ios-sdk.md
+[Quickstart: Create an iOS app]: quick-ios-app.md
+[Use data-driven style expressions]: data-driven-style-expressions-ios-sdk.md
azure-maps Add Tile Layer Map Ios https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/add-tile-layer-map-ios.md
# Add a tile layer to a map in the iOS SDK (Preview)
-This article shows you how to render a tile layer on a map using the Azure Maps iOS SDK. Tile layers allow you to superimpose images on top of Azure Maps base map tiles. More information on Azure Maps tiling system can be found in the [Zoom levels and tile grid](zoom-levels-and-tile-grid.md) documentation.
+This article shows you how to render a tile layer on a map using the Azure Maps iOS SDK. Tile layers allow you to superimpose images on top of Azure Maps base map tiles. More information on Azure Maps tiling system can be found in the [Zoom levels and tile grid] documentation.
A Tile layer loads in tiles from a server. These images can be prerendered and stored like any other image on a server, using a naming convention that the tile layer understands. Or, these images can be rendered with a dynamic service that generates the images near real time. There are three different tile service naming conventions supported by Azure Maps TileLayer class: * X, Y, Zoom notation - Based on the zoom level, x is the column and y is the row position of the tile in the tile grid. * Quadkey notation - Combination x, y, zoom information into a single string value that is a unique identifier for a tile.
-* Bounding Box - Bounding box coordinates can be used to specify an image in the format `{west},{south},{east},{north}`, which is commonly used by [web-mapping services (WMS)](https://www.opengeospatial.org/standards/wms).
+* Bounding Box - Bounding box coordinates can be used to specify an image in the format `{west},{south},{east},{north}`, which is commonly used by [web-mapping services (WMS)].
> [!TIP] > A TileLayer is a great way to visualize large data sets on the map. Not only can a tile layer be generated from an image, but vector data can also be rendered as a tile layer too. By rendering vector data as a tile layer, the map control only needs to load the tiles, which can be much smaller in file size than the vector data they represent. This technique is used by many who need to render millions of rows of data on the map.
The tile URL passed into a Tile layer must be an http/https URL to a TileJSON re
## Prerequisites
-To complete the process in this article, you need to install [Azure Maps iOS SDK](how-to-use-ios-map-control-library.md) to load a map.
+To complete the process in this article, you need to install [Azure Maps iOS SDK] to load a map.
## Add a tile layer to the map
-This sample shows how to create a tile layer that points to a set of tiles. This sample uses the "x, y, zoom" tiling system. The source of this tile layer is the [OpenSeaMap project](https://openseamap.org/index.php), which contains crowd sourced nautical charts. Often when viewing tile layers it's desirable to be able to clearly see the labels of cities on the map. This behavior can be achieved by inserting the tile layer below the map label layers.
+This sample shows how to create a tile layer that points to a set of tiles. This sample uses the "x, y, zoom" tiling system. The source of this tile layer is the [OpenSeaMap project], which contains crowd sourced nautical charts. Often when viewing tile layers it's desirable to be able to clearly see the labels of cities on the map. This behavior can be achieved by inserting the tile layer below the map label layers.
```swift map.layers.insertLayer(
map.layers.insertLayer(
) ```
-The following screenshot shows the above code overlaying a web-mapping service of geological data from the [U.S. Geological Survey (USGS)](https://mrdata.usgs.gov/) on top of a map, below the labels.
+The following screenshot shows the above code overlaying a web-mapping service of geological data from the [U.S. Geological Survey (USGS)] on top of a map, below the labels.
:::image type="content" source="./media/ios-sdk/Add-tile-layer-to-map-ios/wms.png" alt-text="This image shows the above code overlaying a web-mapping service of geological data from the U.S. Geological Survey on top of a map, below the labels.":::
The following screenshot shows the above code overlaying a web-mapping tile serv
See the following article to learn more about ways to overlay imagery on a map.
-* [Add an image layer to a map](add-image-layer-map-ios.md)
+* [Add an image layer to a map]
+
+[Add an image layer to a map]: add-image-layer-map-ios.md
+[Azure Maps iOS SDK]: how-to-use-ios-map-control-library.md
+[OpenSeaMap project]: https://openseamap.org/index.php
+[U.S. Geological Survey (USGS)]: https://mrdata.usgs.gov
+[web-mapping services (WMS)]: https://www.opengeospatial.org/standards/wms
+[Zoom levels and tile grid]: zoom-levels-and-tile-grid.md
azure-maps Android Map Add Line Layer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/android-map-add-line-layer.md
A line layer can be used to render `LineString` and `MultiLineString` features a
## Prerequisites
-Be sure to complete the steps in the [Quickstart: Create an Android app](quick-android-map.md) document. Code blocks in this article can be inserted into the maps `onReady` event handler.
+Be sure to complete the steps in the [Quickstart: Create an Android app] document. Code blocks in this article can be inserted into the maps `onReady` event handler.
## Add a line layer
The following screenshot shows the above code displaying a line with arrow icons
See the following articles for more code samples to add to your maps: > [!div class="nextstepaction"]
-> [Create a data source](create-data-source-android-sdk.md)
+> [Create a data source]
> [!div class="nextstepaction"]
-> [Use data-driven style expressions](data-driven-style-expressions-android-sdk.md)
+> [Use data-driven style expressions]
> [!div class="nextstepaction"]
-> [Add a polygon layer](how-to-add-shapes-to-android-map.md)
+> [Add a polygon layer]
+
+[Add a polygon layer]: how-to-add-shapes-to-android-map.md
+[Create a data source]: create-data-source-android-sdk.md
+[Quickstart: Create an Android app]: quick-android-map.md
+[Use data-driven style expressions]: data-driven-style-expressions-android-sdk.md
azure-maps Android Map Events https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/android-map-events.md
map.events.add(OnCameraMove {
::: zone-end
-For more information, see the [Navigating the map](how-to-use-android-map-control-library.md#navigating-the-map) documentation on how to interact with the map and trigger events.
+For more information, see the [Navigating the map] documentation on how to interact with the map and trigger events.
## Scope feature events to layer
map.events.add(
See the following articles for full code examples: > [!div class="nextstepaction"]
-> [Navigating the map](how-to-use-android-map-control-library.md#navigating-the-map)
+> [Navigating the map]
> [!div class="nextstepaction"]
-> [Add a symbol layer](how-to-add-symbol-to-android-map.md)
+> [Add a symbol layer]
> [!div class="nextstepaction"]
-> [Add a bubble layer](map-add-bubble-layer-android.md)
+> [Add a bubble layer]
> [!div class="nextstepaction"]
-> [Add a line layer](android-map-add-line-layer.md)
+> [Add a line layer]
> [!div class="nextstepaction"]
-> [Add a polygon layer](how-to-add-shapes-to-android-map.md)
+> [Add a polygon layer]
+
+[Add a bubble layer]: map-add-bubble-layer-android.md
+[Add a line layer]: android-map-add-line-layer.md
+[Add a polygon layer]: how-to-add-shapes-to-android-map.md
+[Add a symbol layer]: how-to-add-symbol-to-android-map.md
+[Navigating the map]: how-to-use-android-map-control-library.md#navigating-the-map
azure-maps Authentication Best Practices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/authentication-best-practices.md
For apps that run on servers (such as web services and service/daemon apps), if
## Next steps > [!div class="nextstepaction"]
-> [Authentication with Azure Maps](azure-maps-authentication.md)
+> [Authentication with Azure Maps]
> [!div class="nextstepaction"]
-> [Manage authentication in Azure Maps](how-to-manage-authentication.md)
+> [Manage authentication in Azure Maps]
> [!div class="nextstepaction"]
-> [Tutorial: Add app authentication to your web app running on Azure App Service](../app-service/scenario-secure-app-authentication-app-service.md)
+> [Tutorial: Add app authentication to your web app running on Azure App Service]
-[introduction to Azure security]: ../security/fundamentals/overview.md
-[rotate them regularly]: how-to-manage-authentication.md#manage-and-rotate-shared-keys
-[Shared Key authentication with Azure Key Vault]: how-to-secure-daemon-app.md#scenario-shared-key-authentication-with-azure-key-vault
+[Authentication with Azure Maps]: azure-maps-authentication.md
[Azure Active Directory (Azure AD) authentication]: ../active-directory/fundamentals/active-directory-whatis.md
-[Shared Access Signature (SAS) Token authentication]: azure-maps-authentication.md#shared-access-signature-token-authentication
-[role-based access control (RBAC)]: azure-maps-authentication.md#authorization-with-role-based-access-control
[Configurable token lifetimes in the Microsoft identity platform (preview)]: ../active-directory/develop/configurable-token-lifetimes.md [Create SAS tokens]: azure-maps-authentication.md#create-sas-tokens
-[Public client and confidential client applications]: ../active-directory/develop/msal-client-applications.md
[Cross origin resource sharing (CORS)]: azure-maps-authentication.md#cross-origin-resource-sharing-cors
-[Managed Identities]: ../active-directory/managed-identities-azure-resources/overview.md
+[introduction to Azure security]: ../security/fundamentals/overview.md
[Least privileged roles]: ../active-directory/roles/delegate-by-task.md
+[Manage authentication in Azure Maps]: how-to-manage-authentication.md
+[Managed Identities]: ../active-directory/managed-identities-azure-resources/overview.md
+[Public client and confidential client applications]: ../active-directory/develop/msal-client-applications.md
+[role-based access control (RBAC)]: azure-maps-authentication.md#authorization-with-role-based-access-control
+[rotate them regularly]: how-to-manage-authentication.md#manage-and-rotate-shared-keys
+[Shared Access Signature (SAS) Token authentication]: azure-maps-authentication.md#shared-access-signature-token-authentication
+[Shared Key authentication with Azure Key Vault]: how-to-secure-daemon-app.md#scenario-shared-key-authentication-with-azure-key-vault
+[Tutorial: Add app authentication to your web app running on Azure App Service]: ../app-service/scenario-secure-app-authentication-app-service.md
azure-maps Azure Maps Event Grid Integration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/azure-maps-event-grid-integration.md
Azure Maps integrates with Azure Event Grid, so that users can send event notifications to other services and trigger downstream processes. The purpose of this article is to help you configure your business applications to listen to Azure Maps events. This allows users to react to critical events in a reliable, scalable, and secure manner. For example, users can build an application to update a database, create a ticket, and deliver an email notification, every time a device enters a geofence. > [!NOTE]
-> The Geofence API async event requires the region property of your Azure Maps account be set to ***Global***. When creating an Azure Maps account in the Azure portal, this isn't given as an option. For more information, see [Create an Azure Maps account with a global region](tutorial-geofence.md#create-an-azure-maps-account-with-a-global-region).
+> The Geofence API async event requires the region property of your Azure Maps account be set to ***Global***. When creating an Azure Maps account in the Azure portal, this isn't given as an option. For more information, see [Create an Azure Maps account with a global region].
-Azure Event Grid is a fully managed event routing service, which uses a publish-subscribe model. Event Grid has built-in support for Azure services like [Azure Functions](../azure-functions/functions-overview.md) and [Azure Logic Apps](../azure-functions/functions-overview.md). It can deliver event alerts to non-Azure services using webhooks. For a complete list of the event handlers that Event Grid supports, see [An introduction to Azure Event Grid](../event-grid/overview.md).
+Azure Event Grid is a fully managed event routing service, which uses a publish-subscribe model. Event Grid has built-in support for Azure services like [Azure Functions] and [Azure Logic Apps]. It can deliver event alerts to non-Azure services using webhooks. For a complete list of the event handlers that Event Grid supports, see [An introduction to Azure Event Grid].
![Azure Event Grid functional model](./media/azure-maps-event-grid-integration/azure-event-grid-functional-model.png) ## Azure Maps events types
-Event Grid uses [event subscriptions](../event-grid/concepts.md#event-subscriptions) to route event messages to subscribers. An Azure Maps account emits the following event types:
+Event Grid uses [event subscriptions] to route event messages to subscribers. An Azure Maps account emits the following event types:
| Event type | Description | | - | -- |
The following example shows the schema for GeofenceResult:
Applications that handle Azure Maps geofence events should follow a few recommended practices:
-* The Geofence API async event requires the region property of your Azure Maps account be set to ***Global***. When creating an Azure Maps account in the Azure portal, this isn't given as an option. For more information, see [Create an Azure Maps account with a global region](tutorial-geofence.md#create-an-azure-maps-account-with-a-global-region).
+* The Geofence API async event requires the region property of your Azure Maps account be set to ***Global***. When creating an Azure Maps account in the Azure portal, this isn't given as an option. For more information, see [Create an Azure Maps account with a global region].
* Configure multiple subscriptions to route events to the same event handler. It's important not to assume that events are from a particular source. Always check the message topic to ensure that the message came from the source that you expect. * Use the `X-Correlation-id` field in the response header to understand if your information about objects is up to date. Messages can arrive out of order or after a delay. * When a GET or a POST request in the Geofence API is called with the mode parameter set to `EnterAndExit`, then an Enter or Exit event is generated for each geometry in the geofence for which the status has changed from the previous Geofence API call. ## Next steps
-For details about all the events supported by Azure Maps and the schema, see [Azure Maps as an Event Grid source](../event-grid/event-schema-azure-maps.md).
+
+For details about all the events supported by Azure Maps and the schema, see [Azure Maps as an Event Grid source].
To learn more about how to use geofencing to control operations at a construction site, see:
-> [!div class="nextstepaction"]
-> [Set up a geofence by using Azure Maps](tutorial-geofence.md)
+> [!div class="nextstepaction"]
+> [Set up a geofence by using Azure Maps]
+
+[An introduction to Azure Event Grid]: ../event-grid/overview.md
+[Azure Functions]: ../azure-functions/functions-overview.md
+[Azure Logic Apps]: ../azure-functions/functions-overview.md
+[Azure Maps as an Event Grid source]: ../event-grid/event-schema-azure-maps.md
+[Create an Azure Maps account with a global region]: tutorial-geofence.md#create-an-azure-maps-account-with-a-global-region
+[event subscriptions]: ../event-grid/concepts.md#event-subscriptions
+[Set up a geofence by using Azure Maps]: tutorial-geofence.md
azure-maps Choose Pricing Tier https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/choose-pricing-tier.md
Azure Maps now offers two pricing tiers: Gen 1 and Gen 2. The new Gen 2 pricing
## Pricing tier targeted customers
-The following **pricing tier targeted customers** table shows the Gen 1 and Gen 2 pricing tiers. For more information, see [Azure Maps pricing]. If you're a current Azure Maps customer, you can learn how to change from Gen 1 to Gen 2 pricing in the [Manage pricing tier] article.
+The following **pricing tier targeted customers** table shows the Gen 1 and Gen 2 pricing tiers. For more information, see [Azure Maps pricing]. If you're a current Azure Maps customer, you can learn how to change from Gen 1 to Gen 2 pricing in the [Manage the pricing tier of your Azure Maps account] article.
| Pricing tier | SKU | Targeted Customers| ||::| |
For pricing information on [Creator for indoor maps], see the *Creator* section
Learn more about how to view and change pricing tiers: > [!div class="nextstepaction"]
-> [Manage a pricing tier](how-to-manage-pricing-tier.md)
+> [Manage the pricing tier of your Azure Maps account]
[Azure Maps pricing]: https://aka.ms/CreatorPricing
-[Manage pricing tier]: how-to-manage-pricing-tier.md
+[Manage the pricing tier of your Azure Maps account]: how-to-manage-pricing-tier.md
[Creator for indoor maps]: creator-indoor-maps.md [Azure Maps QPS rate limits]: azure-maps-qps-rate-limits.md
azure-maps Clustering Point Data Android Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/clustering-point-data-android-sdk.md
When visualizing many data points on the map, data points may overlap over each
## Prerequisites
-Be sure to complete the steps in the [Quickstart: Create an Android app](quick-android-map.md) document. Code blocks in this article can be inserted into the maps `onReady` event handler.
+Be sure to complete the steps in the [Quickstart: Create an Android app] document. Code blocks in this article can be inserted into the maps `onReady` event handler.
## Enabling clustering on a data source
map.events.add(OnFeatureClick { features: List<Feature> ->
::: zone-end
-The popup follows the steps outlined in the [display a popup](display-feature-information-android.md?#display-a-popup) document.
+The popup follows the steps outlined in the [display a popup] document.
The following image shows the above code displays a popup with aggregated counts of each entity value type for all points in the clicked clustered point.
The following image shows the above code displays a popup with aggregated counts
To add more data to your map: > [!div class="nextstepaction"]
-> [Create a data source](create-data-source-android-sdk.md)
+> [Create a data source]
> [!div class="nextstepaction"]
-> [Add a symbol layer](how-to-add-symbol-to-android-map.md)
+> [Add a symbol layer]
> [!div class="nextstepaction"]
-> [Add a bubble layer](map-add-bubble-layer-android.md)
+> [Add a bubble layer]
+
+[Add a bubble layer]: map-add-bubble-layer-android.md
+[Add a symbol layer]: how-to-add-symbol-to-android-map.md
+[Create a data source]: create-data-source-android-sdk.md
+[display a popup]: display-feature-information-android.md?#display-a-popup
+[Quickstart: Create an Android app]: quick-android-map.md
azure-maps Clustering Point Data Ios Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/clustering-point-data-ios-sdk.md
When displaying many data points on the map, data points may overlap over each other. The overlap may cause the map may become unreadable and difficult to use. Clustering point data is the process of combining point data that are near each other and representing them on the map as a single clustered data point. As the user zooms into the map, the clusters break apart into their individual data points. When you work with large number of data points, use the clustering processes to improve your user experience.
-[Internet of Things Show - Clustering point data in Azure Maps](/shows/Internet-of-Things-Show/Clustering-point-data-in-Azure-Maps/player?format=ny)
+[Internet of Things Show - Clustering point data in Azure Maps]
## Prerequisites
-Be sure to complete the steps in the [Quickstart: Create an iOS app](quick-ios-app.md) document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
+Be sure to complete the steps in the [Quickstart: Create an iOS app] document. Code blocks in this article can be inserted into the `viewDidLoad` function of `ViewController`.
## Enabling clustering on a data source
func azureMap(_ map: AzureMap, didTapOn features: [Feature]) {
} ```
-The popup follows the steps outlined in the [display a popup](Display-feature-information-ios-sdk.md) document.
+The popup follows the steps outlined in the [display a popup] document.
The following image shows the above code displaying a popup with aggregated counts of each entity value type for all points in the tapped clustered point.
The following image shows the above code displaying a popup with aggregated coun
To add more data to your map: -- [Create a data source](create-data-source-ios-sdk.md)-- [Add a symbol layer](add-symbol-layer-ios.md)-- [Add a bubble layer](add-bubble-layer-map-ios.md)
+- [Create a data source]
+- [Add a symbol layer]
+- [Add a bubble layer]
+
+[Add a bubble layer]: add-bubble-layer-map-ios.md
+[Add a symbol layer]: add-symbol-layer-ios.md
+[Create a data source]: create-data-source-ios-sdk.md
+[display a popup]: Display-feature-information-ios-sdk.md
+[Internet of Things Show - Clustering point data in Azure Maps]: /shows/Internet-of-Things-Show/Clustering-point-data-in-Azure-Maps/player?format=ny
+[Quickstart: Create an iOS app]: quick-ios-app.md
azure-maps Clustering Point Data Web Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/clustering-point-data-web-sdk.md
The [Cluster aggregates] sample uses an aggregate expression. The code calculate
Learn more about the classes and methods used in this article: > [!div class="nextstepaction"]
-> [DataSource class](/javascript/api/azure-maps-control/atlas.source.datasource)
+> [DataSource class]
> [!div class="nextstepaction"]
-> [DataSourceOptions object](/javascript/api/azure-maps-control/atlas.datasourceoptions)
+> [DataSourceOptions object]
> [!div class="nextstepaction"]
-> [atlas.math namespace](/javascript/api/azure-maps-control/atlas.math)
+> [atlas.math namespace]
See code examples to add functionality to your app: > [!div class="nextstepaction"]
-> [Add a bubble layer](map-add-bubble-layer.md)
+> [Add a bubble layer]
> [!div class="nextstepaction"]
-> [Add a symbol layer](map-add-pin.md)
+> [Add a symbol layer]
> [!div class="nextstepaction"]
-> [Add a heat map layer](map-add-heat-map-layer.md)
+> [Add a heat map layer]
+[Add a bubble layer]: map-add-bubble-layer.md
+[Add a heat map layer]: map-add-heat-map-layer.md
+[Add a symbol layer]: map-add-pin.md
[aggregate expression]: data-driven-style-expressions-web-sdk.md#aggregate-expression
+[atlas.math namespace]: /javascript/api/azure-maps-control/atlas.math
[Azure Maps Samples]: https://samples.azuremaps.com
-[Point Clusters in Bubble Layer]: https://samples.azuremaps.com/bubble-layer/point-clusters-in-bubble-layer
-[Point Clusters in Bubble Layer source code]: https://github.com/Azure-Samples/AzureMapsCodeSamples/blob/main/Samples/Bubble%20Layer/Point%20Clusters%20in%20Bubble%20Layer/Point%20Clusters%20in%20Bubble%20Layer.html
-[Display clusters with a Symbol Layer]: https://samples.azuremaps.com/symbol-layer/display-clusters-with-a-symbol-layer
-[Display clusters with a Symbol Layer source code]: https://github.com/Azure-Samples/AzureMapsCodeSamples/blob/main/Samples/Symbol%20Layer/Display%20clusters%20with%20a%20Symbol%20layer/Display%20clusters%20with%20a%20Symbol%20layer.html
-[Cluster weighted Heat Map]: https://samples.azuremaps.com/heat-map-layer/cluster-weighted-heat-map
+[Cluster aggregates source code]: https://github.com/Azure-Samples/AzureMapsCodeSamples/blob/main/Samples/Bubble%20Layer/Cluster%20aggregates/Cluster%20aggregates.html
+[Cluster aggregates]: https://samples.azuremaps.com/bubble-layer/cluster-aggregates
[Cluster weighted Heat Map source code]: https://github.com/Azure-Samples/AzureMapsCodeSamples/blob/main/Samples/Heat%20Map%20Layer/Cluster%20weighted%20Heat%20Map/Cluster%20weighted%20Heat%20Map.html
-[Display cluster area with Convex Hull]: https://samples.azuremaps.com/spatial-math/display-cluster-area-with-convex-hull
+[Cluster weighted Heat Map]: https://samples.azuremaps.com/heat-map-layer/cluster-weighted-heat-map
+[DataSource class]: /javascript/api/azure-maps-control/atlas.source.datasource
+[DataSourceOptions object]: /javascript/api/azure-maps-control/atlas.datasourceoptions
[Display cluster area with Convex Hull source code]: https://github.com/Azure-Samples/AzureMapsCodeSamples/blob/main/Samples/Spatial%20Math/Display%20cluster%20area%20with%20Convex%20Hull/Display%20cluster%20area%20with%20Convex%20Hull.html
-[Cluster aggregates]: https://samples.azuremaps.com/bubble-layer/cluster-aggregates
-[Cluster aggregates source code]: https://github.com/Azure-Samples/AzureMapsCodeSamples/blob/main/Samples/Bubble%20Layer/Cluster%20aggregates/Cluster%20aggregates.html
+[Display cluster area with Convex Hull]: https://samples.azuremaps.com/spatial-math/display-cluster-area-with-convex-hull
+[Display clusters with a Symbol Layer source code]: https://github.com/Azure-Samples/AzureMapsCodeSamples/blob/main/Samples/Symbol%20Layer/Display%20clusters%20with%20a%20Symbol%20layer/Display%20clusters%20with%20a%20Symbol%20layer.html
+[Display clusters with a Symbol Layer]: https://samples.azuremaps.com/symbol-layer/display-clusters-with-a-symbol-layer
+[Point Clusters in Bubble Layer source code]: https://github.com/Azure-Samples/AzureMapsCodeSamples/blob/main/Samples/Bubble%20Layer/Point%20Clusters%20in%20Bubble%20Layer/Point%20Clusters%20in%20Bubble%20Layer.html
+[Point Clusters in Bubble Layer]: https://samples.azuremaps.com/bubble-layer/point-clusters-in-bubble-layer
azure-maps Create Data Source Web Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/create-data-source-web-sdk.md
Learn more about the classes and methods used in this article:
See the following articles for more code samples to add to your maps: > [!div class="nextstepaction"]
-> [Add a popup](map-add-popup.md)
+> [Add a popup]
> [!div class="nextstepaction"] > [Use data-driven style expressions]
See the following articles for more code samples to add to your maps:
> [!div class="nextstepaction"] > [Code samples]
-<! learn.microsoft.com links >
-[Bubble layer]: map-add-bubble-layer.md
-[Symbol layer]: map-add-pin.md
-[Heat map layer]: map-add-heat-map-layer.md
-[Line layer]: map-add-line-layer.md
-[Polygon layer]: map-add-shape.md
-[Tile layer]: map-add-tile-layer.md
-[Image layer]: map-add-image-layer.md
-
-[Add a symbol layer]: map-add-pin.md
[Add a bubble layer]: map-add-bubble-layer.md
+[Add a heat map]: map-add-heat-map-layer.md
[Add a line layer]: map-add-line-layer.md [Add a polygon layer]: map-add-shape.md
-[Add a heat map]: map-add-heat-map-layer.md
-[Use data-driven style expressions]: data-driven-style-expressions-web-sdk.md
-[Code samples]: /samples/browse/?products=azure-maps
-<! REST API Links >
-[Road tiles]: /rest/api/maps/render-v2/get-map-tile
-[Traffic incidents]: /rest/api/maps/traffic/gettrafficincidenttile
-[Traffic flow]: /rest/api/maps/traffic/gettrafficflowtile
-[Render V2-Get Map Tile API]: /rest/api/maps/render-v2/get-map-tile
-<! javascript API Links >
+[Add a popup]: map-add-popup.md
+[Add a symbol layer]: map-add-pin.md
[atlas.data]: /javascript/api/azure-maps-control/atlas.data
-[SourceManager]: /javascript/api/azure-maps-control/atlas.sourcemanager
-[VectorTileSource]: /javascript/api/azure-maps-control/atlas.source.vectortilesource
+[Azure Maps Samples]: https://samples.azuremaps.com
+[Bubble layer]: map-add-bubble-layer.md
+[Code samples]: /samples/browse/?products=azure-maps
[DataSource]: /javascript/api/azure-maps-control/atlas.source.datasource [DataSourceOptions]: /javascript/api/azure-maps-control/atlas.datasourceoptions
-[VectorTileSourceOptions]: /javascript/api/azure-maps-control/atlas.vectortilesourceoptions
-<! External Links >
+[Heat map layer]: map-add-heat-map-layer.md
+[Image layer]: map-add-image-layer.md
+[Line layer]: map-add-line-layer.md
[Mapbox Vector Tile Specification]: https://github.com/mapbox/vector-tile-spec-
-[Vector tile line layer]: https://samples.azuremaps.com/vector-tiles/vector-tile-line-layer
+[Polygon layer]: map-add-shape.md
+[Render V2-Get Map Tile API]: /rest/api/maps/render-v2/get-map-tile
+[Road tiles]: /rest/api/maps/render-v2/get-map-tile
+[SourceManager]: /javascript/api/azure-maps-control/atlas.sourcemanager
+[Symbol layer]: map-add-pin.md
+[Tile layer]: map-add-tile-layer.md
+[Traffic flow]: /rest/api/maps/traffic/gettrafficflowtile
+[Traffic incidents]: /rest/api/maps/traffic/gettrafficincidenttile
+[Use data-driven style expressions]: data-driven-style-expressions-web-sdk.md
[Vector tile line layer sample code]: https://github.com/Azure-Samples/AzureMapsCodeSamples/blob/main/Samples/Vector%20tiles/Vector%20tile%20line%20layer/Vector%20tile%20line%20layer.html
-[Azure Maps Samples]: https://samples.azuremaps.com
+[Vector tile line layer]: https://samples.azuremaps.com/vector-tiles/vector-tile-line-layer
+[VectorTileSource]: /javascript/api/azure-maps-control/atlas.source.vectortilesource
+[VectorTileSourceOptions]: /javascript/api/azure-maps-control/atlas.vectortilesourceoptions
azure-maps Creator Indoor Maps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/creator-indoor-maps.md
The following example shows how to update a dataset, create a new tileset, and d
[sprites]: https://docs.mapbox.com/help/glossary/sprite/ [style layers]: https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/#layout [visual style editor]: https://azure.github.io/Azure-Maps-Style-Editor-
azure-maps Creator Qgis Plugin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/creator-qgis-plugin.md
Any errors received from the QGIS framework are displayed in the **Python Logs**
If you have question related to Azure Maps, see [MICROSOFT Q&A]. Be sure and tag your questions with "Azure Maps".
+[Advanced digitizing]: https://docs.qgis.org/3.28/en/docs/user_manual/working_with_vector/editing_geometry_attributes.html#advanced-digitizing
+[Azure Maps QGIS Plugin]: https://plugins.qgis.org/plugins/AzureMapsCreator/
[Creator concepts]: creator-indoor-maps.md
-[subscription key]: quick-demo-map-app.md#get-the-subscription-key-for-your-account
-[QGIS]: https://qgis.org/en/site/
-[geographic information system (GIS)]: https://www.usgs.gov/faqs/what-geographic-information-system-gis
-[datasets]: creator-indoor-maps.md#datasets
[dataset]: creator-indoor-maps.md#datasets
+[datasets]: creator-indoor-maps.md#datasets
+[Digitizing an existing layer]: https://docs.qgis.org/3.28/en/docs/user_manual/working_with_vector/editing_geometry_attributes.html?highlight=digitizing%20toolbar#digitizing-an-existing-layer
[Download QGIS]: https://qgis.org/en/site/forusers/download.html
-[layer definition]: /rest/api/maps/2023-03-01-preview/features/get-collection-definition?tabs=HTTP
-[Advanced digitizing]: https://docs.qgis.org/3.28/en/docs/user_manual/working_with_vector/editing_geometry_attributes.html#advanced-digitizing
-[Azure Maps QGIS Plugin]: https://plugins.qgis.org/plugins/AzureMapsCreator/
+[geographic information system (GIS)]: https://www.usgs.gov/faqs/what-geographic-information-system-gis
[Installing New Plugins]: https://docs.qgis.org/3.28/en/docs/training_manual/qgis_plugins/fetching_plugins.html#basic-fa-installing-new-plugins
-[Digitizing an existing layer]: https://docs.qgis.org/3.28/en/docs/user_manual/working_with_vector/editing_geometry_attributes.html?highlight=digitizing%20toolbar#digitizing-an-existing-layer
+[layer definition]: /rest/api/maps/2023-03-01-preview/features/get-collection-definition?tabs=HTTP
[MICROSOFT Q&A]: /answers/questions/ask
+[QGIS]: https://qgis.org/en/site/
+[subscription key]: quick-demo-map-app.md#get-the-subscription-key-for-your-account
[Use Creator to create indoor maps]: tutorial-creator-indoor-maps.md
azure-maps Data Driven Style Expressions Android Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/data-driven-style-expressions-android-sdk.md
Expressions enable you to apply business logic to styling options that observe t
Data-driven styles reduce the amount of code needed to implement business logic around styling. When used with layers, expressions are evaluated at render time on a separate thread. This functionality provides increased performance compared to evaluating business logic on the UI thread.
-The Azure Maps Android SDK supports nearly all the same style expressions as the Azure Maps Web SDK, so all the same concepts outlined in the [Data-driven Style Expressions (Web SDK)](data-driven-style-expressions-web-sdk.md) can be carried over into an Android app. All style expressions in the Azure Maps Android SDK are available under the `com.microsoft.azure.maps.mapcontrol.options.Expression` namespace. There are many different types of style expressions.
+The Azure Maps Android SDK supports nearly all the same style expressions as the Azure Maps Web SDK, so all the same concepts outlined in the [Data-driven Style Expressions (Web SDK)] can be carried over into an Android app. All style expressions in the Azure Maps Android SDK are available under the `com.microsoft.azure.maps.mapcontrol.options.Expression` namespace. There are many different types of style expressions.
| Type of expressions | Description | ||-|
-| [Boolean expressions](#boolean-expressions) | Boolean expressions provide a set of boolean operators expressions for evaluating boolean comparisons. |
-| [Color expressions](#color-expressions) | Color expressions make it easier to create and manipulate color values. |
-| [Conditional expressions](#conditional-expressions) | Conditional expressions provide logic operations that are like if-statements. |
-| [Data expressions](#data-expressions) | Provides access to the property data in a feature. |
-| [Interpolate and Step expressions](#interpolate-and-step-expressions) | Interpolate and step expressions can be used to calculate values along an interpolated curve or step function. |
-| [JSON-based expressions](#json-based-expressions) | Makes it easy to reuse style raw JSON-based expressions created for the Web SDK with the Android SDK. |
-| [Layer specific expressions](#layer-specific-expressions) | Special expressions that are only applicable to a single layer. |
-| [Math expressions](#math-expressions) | Provides mathematical operators to perform data-driven calculations within the expression framework. |
-| [String operator expressions](#string-operator-expressions) | String operator expressions perform conversion operations on strings such as concatenating and converting the case. |
-| [Type expressions](#type-expressions) | Type expressions provide tools for testing and converting different data types like strings, numbers, and boolean values. |
-| [Variable binding expressions](#variable-binding-expressions) | Variable binding expressions store the results of a calculation in a variable and referenced elsewhere in an expression multiple times without having to recalculate the stored value. |
-| [Zoom expression](#zoom-expression) | Retrieves the current zoom level of the map at render time. |
+| [Boolean expressions] | Boolean expressions provide a set of boolean operators expressions for evaluating boolean comparisons. |
+| [Color expressions] | Color expressions make it easier to create and manipulate color values. |
+| [Conditional expressions] | Conditional expressions provide logic operations that are like if-statements. |
+| [Data expressions] | Provides access to the property data in a feature. |
+| [Interpolate and Step expressions] | Interpolate and step expressions can be used to calculate values along an interpolated curve or step function. |
+| [JSON-based expressions] | Makes it easy to reuse style raw JSON-based expressions created for the Web SDK with the Android SDK. |
+| [Layer specific expressions] | Special expressions that are only applicable to a single layer. |
+| [Math expressions] | Provides mathematical operators to perform data-driven calculations within the expression framework. |
+| [String operator expressions] | String operator expressions perform conversion operations on strings such as concatenating and converting the case. |
+| [Type expressions] | Type expressions provide tools for testing and converting different data types like strings, numbers, and boolean values. |
+| [Variable binding expressions] | Variable binding expressions store the results of a calculation in a variable and referenced elsewhere in an expression multiple times without having to recalculate the stored value. |
+| [Zoom expression] | Retrieves the current zoom level of the map at render time. |
> [!NOTE] > The syntax for expressions is largely identical in Java and Kotlin. If you have the documentation set to Kotlin, but see code blocks for Java, the code is identical in both languages.
There are three types of interpolation methods that can be used in an `interpola
||-| | `linear()` | Interpolates linearly between the pair of stops. | | `exponential(number)` \| `exponential(Expression)` | Interpolates exponentially between the stops. A "base" is specified and controls the rate at which the output increases. Higher values make the output increase more towards the high end of the range. A "base" value close to 1 produces an output that increases more linearly.|
-| `cubicBezier(number x1, number y1, number x2, number y2)` \| `cubicBezier(Expression x1, Expression y1, Expression x2, Expression y2)` | Interpolates using a [cubic Bezier curve](https://developer.mozilla.org/docs/Web/CSS/timing-function) defined by the given control points. |
+| `cubicBezier(number x1, number y1, number x2, number y2)` \| `cubicBezier(Expression x1, Expression y1, Expression x2, Expression y2)` | Interpolates using a [cubic Bezier curve] defined by the given control points. |
The `stop` expression has the format `stop(stop, value)`.
The following image demonstrates how the colors are chosen for the above express
### Step expression
-A `step` expression can be used to calculate discrete, stepped result values by evaluating a [piecewise-constant function](https://mathworld.wolfram.com/PiecewiseConstantFunction.html) defined by stops.
+A `step` expression can be used to calculate discrete, stepped result values by evaluating a [piecewise-constant function] defined by stops.
The `interpolate` expression has the following formats:
val layer = HeatMapLayer(source,
::: zone-end
-For more information, see the [Add a heat map layer](map-add-heat-map-layer-android.md) documentation.
+For more information, see the [Add a heat map layer] documentation.
### Line progress expression
val layer = LineLayer(source,
::: zone-end
-[See live example](map-add-line-layer.md#line-stroke-gradient)
+[See live example]
### Text field format expression
val layer = BubbleLayer(source,
Learn more about the layers that support expressions: > [!div class="nextstepaction"]
-> [Add a symbol layer](how-to-add-symbol-to-android-map.md)
+> [Add a symbol layer]
> [!div class="nextstepaction"]
-> [Add a bubble layer](map-add-bubble-layer-android.md)
+> [Add a bubble layer]
> [!div class="nextstepaction"]
-> [Add a line layer](android-map-add-line-layer.md)
+> [Add a line layer]
> [!div class="nextstepaction"]
-> [Add a polygon layer](how-to-add-shapes-to-android-map.md)
+> [Add a polygon layer]
> [!div class="nextstepaction"]
-> [Add a heat map](map-add-heat-map-layer-android.md)
+> [Add a heat map]
+
+[Add a bubble layer]: map-add-bubble-layer-android.md
+[Add a heat map layer]: map-add-heat-map-layer-android.md
+[Add a heat map]: map-add-heat-map-layer-android.md
+[Add a line layer]: android-map-add-line-layer.md
+[Add a polygon layer]: how-to-add-shapes-to-android-map.md
+[Add a symbol layer]: how-to-add-symbol-to-android-map.md
+[Boolean expressions]: #boolean-expressions
+[Color expressions]: #color-expressions
+[Conditional expressions]: #conditional-expressions
+[cubic Bezier curve]: https://developer.mozilla.org/docs/Web/CSS/timing-function
+[Data expressions]: #data-expressions
+[Data-driven Style Expressions (Web SDK)]: data-driven-style-expressions-web-sdk.md
+[Interpolate and Step expressions]: #interpolate-and-step-expressions
+[JSON-based expressions]: #json-based-expressions
+[Layer specific expressions]: #layer-specific-expressions
+[Math expressions]: #math-expressions
+[piecewise-constant function]: https://mathworld.wolfram.com/PiecewiseConstantFunction.html
+[See live example]: map-add-line-layer.md#line-stroke-gradient
+[String operator expressions]: #string-operator-expressions
+[Type expressions]: #type-expressions
+[Variable binding expressions]: #variable-binding-expressions
+[Zoom expression]: #zoom-expression
azure-maps Data Driven Style Expressions Ios Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/data-driven-style-expressions-ios-sdk.md
Predicates are based on _expressions_, represented by the `NSExpression` class.
This document discusses the specific subset of the predicate and expression syntax supported by this SDK. For a more general introduction to predicates and expressions, consult the
-_[Predicate Programming Guide](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html)_
+_[Predicate Programming Guide]_
in Apple developer documentation. ## Using predicates to filter vector data
like `ALL` and `ANY`.
### Operands
-Operands in predicates can be [variables](#variables), [key paths](#key-paths),
+Operands in predicates can be [variables], [key paths],
or almost anything else that can appear
-[inside an expression](#using-expressions-to-configure-layer-options).
+[inside an expression].
Automatic type casting isn't performed. Therefore, a feature only matches a predicate if its value for the property in question is of the same type as the
path or variable into a matching type:
* To cast a value to a color, use `CAST(key, 'UIColor')`. * To cast a `UIColor` object to an array, use `CAST(noindex(color), 'NSArray')`.
-For details about the predicate format string syntax, consult the ΓÇ£Predicate
-Format String SyntaxΓÇ¥ chapter of the
-_[Predicate Programming Guide](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html)_
+For more information about the predicate format string syntax, see the ΓÇ£Predicate
+Format String SyntaxΓÇ¥ chapter of the _[Predicate Programming Guide]_
in Apple developer documentation. ### Operands examples
Using this approach can make it easy to reuse style expressions between mobile a
This video provides an overview of data-driven styling in Azure Maps.
->[Internet of Things Show - Data-Driven Styling with Azure Maps](/shows/Internet-of-Things-Show/Data-Driven-Styling-with-Azure-Maps/player?format=ny)
+>[Internet of Things Show - Data-Driven Styling with Azure Maps]
### Constant values
NSExpression(
### Functions Of the
-[functions predefined](https://developer.apple.com/documentation/foundation/nsexpression/1413747-init#discussion)
-by the
-[`NSExpression(forFunction:arguments:)` method](https://developer.apple.com/documentation/foundation/nsexpression/1413747-init),
+[functions predefined] by the [`NSExpression(forFunction:arguments:)` method],
the following subset is supported in layer options: Initializer parameter | Format string syntax
Initializer parameter | Format string syntax
### Conditionals
-Conditionals are supported via the built-in `NSExpression(forAZMConditional:trueExpression:falseExpression:)` method and `TERNARY()` operator. If you need to express multiple cases (ΓÇ£else-ifΓÇ¥), you can either nest a conditional within a conditional or use the [match expression](#match-expression).
+Conditionals are supported via the built-in `NSExpression(forAZMConditional:trueExpression:falseExpression:)` method and `TERNARY()` operator. If you need to express multiple cases (ΓÇ£else-ifΓÇ¥), you can either nest a conditional within a conditional or use the [match expression].
#### Conditionals example
_Format string syntax_: `$geometryType`
##### Variables example
-See [Operands examples](#operands-examples).
+See [Operands examples].
#### Zoom
let layer = HeatMapLayer(
#### HeatMap density
-The [kernel density estimation](https://en.wikipedia.org/wiki/Kernel_density_estimation)
+The [kernel density estimation]
of a screen point in a heatmap layer; in other words, a relative measure of how many data points are crowded around a particular pixel. This variable evaluates to a number between 0 and 1.
let layer = HeatMapLayer(
) ```
-For more information, see the [Add a heat map layer](add-heat-map-layer-ios.md) documentation.
+For more information, see the [Add a heat map layer] article.
#### Line progress
let layer = LineLayer(
) ```
-[See live example](add-line-layer-map-ios.md)
+[See live example]
### AzureMaps-specific methods
There are three types of interpolation methods that can be used in an interpolat
||-|| | `ExpressionInterpolationMode.linear` | Interpolates linearly between the pair of stops. | `nil` | | `ExpressionInterpolationMode.exponential` | Interpolates exponentially between the stops. A base is specified and controls the rate at which the output increases. Higher values make the output increase more towards the high end of the range. A base value close to 1 produces an output that increases more linearly.| An expression that evaluates to a number, specifying the base of the exponential interpolation. |
-| `ExpressionInterpolationMode.cubicBezier` | Interpolates using a [cubic Bezier curve](https://developer.mozilla.org/docs/Web/CSS/timing-function) defined by the given control points. | An array or aggregate expression containing four expressions, each evaluating to a number. The four numbers are control points for the cubic Bézier curve. |
+| `ExpressionInterpolationMode.cubicBezier` | Interpolates using a [cubic Bezier curve] defined by the given control points. | An array or aggregate expression containing four expressions, each evaluating to a number. The four numbers are control points for the cubic Bézier curve. |
Here's an example of what these different types of interpolations look like.
The following image demonstrates how the colors are chosen for the above express
##### Step expression
-A step expression can be used to calculate discrete, stepped result values by evaluating a [piecewise-constant function](https://mathworld.wolfram.com/PiecewiseConstantFunction.html) defined by stops.
+A step expression can be used to calculate discrete, stepped result values by evaluating a [piecewise-constant function] defined by stops.
Step expressions return the output value of the stop just before the input value, or the from value if the input is less than the first stop.
The following image demonstrates how the colors are chosen for the above express
Learn more about the layers that support expressions:
-* [Add a symbol layer](add-symbol-layer-ios.md)
-* [Add a bubble layer](add-bubble-layer-map-ios.md)
-* [Add a line layer](add-line-layer-map-ios.md)
-* [Add a polygon layer](add-polygon-layer-map-ios.md)
+* [Add a symbol layer]
+* [Add a bubble layer]
+* [Add a line layer]
+* [Add a polygon layer]
+
+[`NSExpression(forFunction:arguments:)` method]: https://developer.apple.com/documentation/foundation/nsexpression/1413747-init
+[Add a bubble layer]: add-bubble-layer-map-ios.md
+[Add a heat map layer]: add-heat-map-layer-ios.md
+[Add a line layer]: add-line-layer-map-ios.md
+[Add a polygon layer]: add-polygon-layer-map-ios.md
+[Add a symbol layer]: add-symbol-layer-ios.md
+[cubic Bezier curve]: https://developer.mozilla.org/docs/Web/CSS/timing-function
+[functions predefined]: https://developer.apple.com/documentation/foundation/nsexpression/1413747-init#discussion
+[inside an expression]: #using-expressions-to-configure-layer-options
+[Internet of Things Show - Data-Driven Styling with Azure Maps]: /shows/Internet-of-Things-Show/Data-Driven-Styling-with-Azure-Maps/player?format=ny
+[kernel density estimation]: https://en.wikipedia.org/wiki/Kernel_density_estimation
+[key paths]: #key-paths
+[match expression]: #match-expression
+[Operands examples]: #operands-examples
+[piecewise-constant function]: https://mathworld.wolfram.com/PiecewiseConstantFunction.html
+[Predicate Programming Guide]: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html
+[See live example]: add-line-layer-map-ios.md
+[variables]: #variables
azure-maps Tutorial Ev Routing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/tutorial-ev-routing.md
To learn more about Azure Notebooks, see
[Azure Maps account]: quick-demo-map-app.md#create-an-azure-maps-account [Azure Maps Jupyter Notebook repository]: https://github.com/Azure-Samples/Azure-Maps-Jupyter-Notebook
-[Azure Maps REST APIs]: ./consumption-model.md
+[Azure Maps REST APIs]: /rest/api/maps
[Azure Notebooks]: https://notebooks.azure.com [Data Upload API]: /rest/api/maps/data-v2/upload [Data Upload]: /rest/api/maps/data-v2/upload
azure-resource-manager Deployment Stacks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/deployment-stacks.md
The Azure PowerShell includes these parameters to customize the deny assignment:
- `DenySettingsMode`: Defines the operations that are prohibited on the managed resources to safeguard against unauthorized security principals attempting to delete or update them. This restriction applies to everyone unless explicitly granted access. The values include: `None`, `DenyDelete`, and `DenyWriteAndDelete`. - `DenySettingsApplyToChildScopes`: Deny settings are applied to nested resources under managed resources. - `DenySettingsExcludedActions`: List of role-based management operations that are excluded from the deny settings. Up to 200 actions are permitted.-- `DenySettingsExcludedPrincipals`: List of Azure Active Directory (Azure AD) principal IDs excluded from the lock. Up to five principals are permitted.
+- `DenySettingsExcludedPrincipal`: List of Azure Active Directory (Azure AD) principal IDs excluded from the lock. Up to five principals are permitted.
# [CLI](#tab/azure-cli)
New-AzResourceGroupDeploymentStack `
-TemplateFile "<bicep-file-name>" ` -DenySettingsMode "DenyDelete" ` -DenySettingsExcludedActions "Microsoft.Compute/virtualMachines/write Microsoft.StorageAccounts/delete" `
- -DenySettingsExcludedPrincipals "<object-id>" "<object-id>"
+ -DenySettingsExcludedPrincipal "<object-id>" "<object-id>"
``` # [CLI](#tab/azure-cli)
New-AzSubscriptionDeploymentStack `
-TemplateFile "<bicep-file-name>" ` -DenySettingsMode "DenyDelete" ` -DenySettingsExcludedActions "Microsoft.Compute/virtualMachines/write Microsoft.StorageAccounts/delete" `
- -DenySettingsExcludedPrincipals "<object-id>" "<object-id>"
+ -DenySettingsExcludedPrincipal "<object-id>" "<object-id>"
``` Use the `DeploymentResourceGroupName` parameter to specify the resource group name at which the deployment stack is created. If a scope isn't specified, it uses the scope of the deployment stack.
New-AzManagmentGroupDeploymentStack `
-TemplateFile "<bicep-file-name>" ` -DenySettingsMode "DenyDelete" ` -DenySettingsExcludedActions "Microsoft.Compute/virtualMachines/write Microsoft.StorageAccounts/delete" `
- -DenySettingsExcludedPrincipals "<object-id>" "<object-id>"
+ -DenySettingsExcludedPrincipal "<object-id>" "<object-id>"
``` Use the `DeploymentSubscriptionId ` parameter to specify the subscription ID at which the deployment stack is created. If a scope isn't specified, it uses the scope of the deployment stack.
communication-services Play Ai Action https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/call-automation/play-ai-action.md
# Playing audio in calls
-The play action provided through the ACS Call Automation SDK allows you to play audio prompts to participants in the call. This action can be accessed through the server-side implementation of your application. You can play audio to call participants through one of two methods;
-- Providing ACS access to pre-recorded audio files of WAV format, that ACS can access with support for authentication
+The play action provided through the Azure Communication Services Call Automation SDK allows you to play audio prompts to participants in the call. This action can be accessed through the server-side implementation of your application. You can play audio to call participants through one of two methods;
+- Providing Azure Communication Services access to pre-recorded audio files of WAV format, that ACS can access with support for authentication
- Regular text that can be converted into speech output through the integration with Azure AI services. You can leverage the newly announced integration between [Azure Communication Services and Azure AI services](./azure-communication-services-azure-cognitive-services-integration.md) to play personalized responses using Azure [Text-To-Speech](../../../../articles/cognitive-services/Speech-Service/text-to-speech.md). You can use human like prebuilt neural voices out of the box or create custom neural voices that are unique to your product or brand. For more information on supported voices, languages and locales please see [Language and voice support for the Speech service](../../../../articles/cognitive-services/Speech-Service/language-support.md). > [!NOTE]
-> ACS currently only supports WAV files formatted as mono channel audio recorded at 16KHz. You can create your own audio files using [Speech synthesis with Audio Content Creation tool](../../../../articles/cognitive-services/Speech-Service/how-to-audio-content-creation.md).
+> Azure Communication Services currently only supports WAV files formatted as mono channel audio recorded at 16KHz. You can create your own audio files using [Speech synthesis with Audio Content Creation tool](../../../../articles/cognitive-services/Speech-Service/how-to-audio-content-creation.md).
## Prebuilt Neural Text to Speech voices Microsoft uses deep neural networks to overcome the limits of traditional speech synthesis with regards to stress and intonation in spoken language. Prosody prediction and voice synthesis occur simultaneously, resulting in a more fluid and natural sounding output. You can use these neural voices to make interactions with your chatbots and voice assistants more natural and engaging. There are over 100 pre-built voices to choose from. Learn more about [Azure Text-to-Speech voices](../../../../articles/cognitive-services/Speech-Service/language-support.md).
communication-services Closed Captions Teams Interop How To https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/how-tos/calling-sdk/closed-captions-teams-interop-how-to.md
zone_pivot_groups: acs-plat-web-ios-android-windows
# Enable Closed captions for Teams interoperability
-Learn how to allow your users to enable closed captions during a Teams interoperability scenario where your users might be in a meeting between an ACS user and a Teams client user, or where your users are using ACS calling SDK with their Microsoft 365 identity.
+Learn how to allow your users to enable closed captions during a Teams interoperability scenario where your users might be in a meeting between an Azure Communication Services user and a Teams client user, or where your users are using Azure Communication Services calling SDK with their Microsoft 365 identity.
[!INCLUDE [Public Preview](../../../communication-services/includes/public-preview-include.md)]
communication-services Get Started Volume Indicator https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/quickstarts/voice-video-calling/get-started-volume-indicator.md
# Accessing call volume level
-As a developer you can have control over checking microphone volume in JavaScript. This quickstart shows examples of how to accomplish this within the ACS WebJS.
+As a developer you can have control over checking microphone volume in JavaScript. This quickstart shows examples of how to accomplish this within the Azure Communication Services WebJS.
## Prerequisites >[!IMPORTANT] > The quick start examples here are available starting in version [1.13.1](https://www.npmjs.com/package/@azure/communication-calling/v/1.13.1) of the calling Web SDK. Make sure to use that SDK version or newer when trying this quickstart. ## Checking the audio stream volume
-As a developer it can be nice to have the ability to check and display to end users the current local microphone volume or the incoming microphone level. ACS calling API exposes this information using `getVolume`. The `getVolume` value is a number ranging from 0 to 100 (with 0 noting zero audio detected, 100 as the max level detectable). This value is sampled every 200 ms to get near real time value of volume level.
+As a developer it can be nice to have the ability to check and display to end users the current local microphone volume or the incoming microphone level. Azure Communication Services calling API exposes this information using `getVolume`. The `getVolume` value is a number ranging from 0 to 100 (with 0 noting zero audio detected, 100 as the max level detectable). This value is sampled every 200 ms to get near real time value of volume level.
### Example usage This example shows how to generate the volume level by accessing `getVolume` of the local audio stream and of the remote incoming audio stream.
communication-services Media Streaming https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/quickstarts/voice-video-calling/media-streaming.md
Get started with using audio streams through Azure Communication Services Media
## Message schema
-When ACS has received the URL for your WebSocket server, it will create a connection to it. Once ACS has successfully connected to your WebSocket server, it will send through the first data packet which contains metadata regarding the incoming media packets.
+When Azure Communication Services has received the URL for your WebSocket server, it will create a connection to it. Once Azure Communication Services has successfully connected to your WebSocket server, it will send through the first data packet which contains metadata regarding the incoming media packets.
``` code {
When ACS has received the URL for your WebSocket server, it will create a connec
``` ## Audio streaming schema
-After sending through the metadata packet, ACS will start streaming audio media to your WebSocket server. Below is an example of what the media object your server will receive looks like.
+After sending through the metadata packet, Azure Communication Services will start streaming audio media to your WebSocket server. Below is an example of what the media object your server will receive looks like.
``` code {
communication-services Integrate Azure Function https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/tutorials/integrate-azure-function.md
Before you get started, make sure to:
}; } ```
-**Explanation to code above**: The first line import the interface for the `CommunicationIdentityClient`. The connection string in the second line can be found in your ACS resource in the Azure portal. The `ACSEndpoint` is the URL of the ACS resource that was created.
+**Explanation to code above**: The first line import the interface for the `CommunicationIdentityClient`. The connection string in the second line can be found in your Azure Communication Services resource in the Azure portal. The `ACSEndpoint` is the URL of the ACS resource that was created.
5. Open the local Azure Function folder in Visual Studio Code. Open the `index.js` and run the local Azure Function. A local Azure Function endpoint will be created and printed in the terminal. The printed message looks similar to:
Open the link in a browser. The result will be similar to this example:
7. **Test the deployed Azure Function.** First, find your Azure Function in the Azure portal. Then, use the "Get Function URL" button to get the Azure Function endpoint. The result you see should be similar to what was shown in step 5. The Azure Function endpoint will be used in the app for initializing application parameters.
-8. Implement `UserTokenClient`, which is used to call the target Azure Function resource and obtain the ACS endpoint, user ID and user token from the returned JSON object. Refer to the sample app for usage.
+8. Implement `UserTokenClient`, which is used to call the target Azure Function resource and obtain the Azure Communication Services endpoint, user ID and user token from the returned JSON object. Refer to the sample app for usage.
## Troubleshooting guide 1. If the Azure Function extension failed to deploy the local function to the Azure cloud, it's likely due to the version of Visual Studio Code and the Azure Function extension being used having a bug. This version combination has been tested to work: Visual Studio Code version `1.68.1` and Azure Function extension version `1.2.1`.
container-registry Container Registry Authentication https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-registry/container-registry-authentication.md
TOKEN=$(az acr login --name <acrName> --expose-token --output tsv --query access
Then, run `docker login`, passing `00000000-0000-0000-0000-000000000000` as the username and using the access token as password: ```console
-ΓÇó docker login myregistry.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password-stdin <<< $TOKEN
+docker login myregistry.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password-stdin <<< $TOKEN
``` Likewise, you can use the token returned by `az acr login` with the `helm registry login` command to authenticate with the registry:
cosmos-db Udfs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/nosql/query/udfs.md
If you must use the same UDF multiple times in a query, you should reference the
The following example registers a UDF under an item container in the Azure Cosmos DB database. The example creates a UDF whose name is `REGEX_MATCH`. It accepts two JSON string values, `input` and `pattern`, and checks if the first matches the pattern specified in the second using JavaScript's `string.match()` function.
-```javascript
- UserDefinedFunction regexMatchUdf = new UserDefinedFunction
- {
- Id = "REGEX_MATCH",
- Body = @"function (input, pattern) {
- return input.match(pattern) !== null;
- };",
- };
-
- UserDefinedFunction createdUdf = client.CreateUserDefinedFunctionAsync(
- UriFactory.CreateDocumentCollectionUri("myDatabase", "families"),
- regexMatchUdf).Result;
+```csharp
+var regexMatchUdf = new UserDefinedFunctionProperties
+{
+ Id = "REGEX_MATCH",
+ Body = @"function (input, pattern) {
+ return input.match(pattern) !== null;
+ };",
+};
+
+var response = await container.Scripts.CreateUserDefinedFunctionAsync(regexMatchUdf);
+
+Console.WriteLine($"Created UDF [{response.Resource?.Id}]");
``` Now, use this UDF in a query projection. You must qualify UDFs with the case-sensitive prefix `udf.` when calling them from within queries.
virtual-machines Bsv2 Series https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/bsv2-series.md
Bsv2-series virtual machines offer a balance of compute, memory, and network res
[Nested Virtualization](/virtualization/hyper-v-on-windows/user-guide/nested-virtualization): Not Supported <br> <br>
-| Size | vCPU | RAM | Base CPU Performance of VM (%) | Initial Credits (#) | Credits banked/hour | Max Banked Credits (#) | Max uncached disk throughput: IOPS/M8ps | Max burst uncached disk throughput: IOPS/MBps | Max Data Disks | Max Network Bandwidth (Gbps) | Max NICs |
+| Size | vCPU | RAM | Base CPU Performance of VM (%) | Initial Credits (#) | Credits banked/hour | Max Banked Credits (#) | Max uncached disk throughput: IOPS/MBps | Max burst uncached disk throughput: IOPS/MBps | Max Data Disks | Max Network Bandwidth (Gbps) | Max NICs |
|-||--|--||||--|--|-||-| | Standard_B2ts_v2 | 2 | 1 | 20% | 60 | 24 | 576 | 3750/85 | 10,000/960 | 4 | 6.250 | 2 | | Standard_B2ls_v2 | 2 | 4 | 30% | 60 | 24 | 576 | 3750/85 | 10,000/960 | 4 | 6.50 | 2 |
virtual-machines Run Command Managed https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/windows/run-command-managed.md
Remove-AzVMRunCommand -ResourceGroupName "myRG" -VMName "myVM" -RunCommandName "
To deploy a new Run Command, execute a PUT on the VM directly and specify a unique name for the Run Command instance. ```rest
-PUT /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?api-version=2019-12-01
+PUT /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?api-version=2023-03-01
``` ```json
PUT /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers
], "runAsUser": "userName", "runAsPassword": "userPassword",
- "timeoutInSeconds": 3600,
+ "timeoutInSeconds": 3600,
+ "treatFailureAsDeploymentFailure": true,
"outputBlobUri": "< SAS URI of a storage append blob with read, add, create, write access>", "errorBlobUri": "< SAS URI of a storage append blob with read, add, create, write access >" }
PUT /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers
### Notes - You can provide an inline script, a script URI, or a built-in script [command ID](run-command.md#available-commands) as the input source. Script URI is either storage blob SAS URI with read access or public URI.-- Only one type of source input is supported for one command execution.
+- Only one type of source input is supported for one command execution.
+- Starting with API version 2023-03-01, you can set the property `treatFailureAsDeploymentFailure` to **true** causing the deployment to fail when there is a failure in the script. If set to **false**, ProvisioningState would only reflect whether the run command was run or not by the extensions platform. It would not indicate whether the script failed in case of script failures.
- Run Command supports writing output and error to Storage blobs using outputBlobUri and errorBlobUri parameters, which can be used to store large script outputs. Use SAS URI of a storage append blob with read, add, create, write access. The blob should be of type AppendBlob. Writing the script output or error blob would fail otherwise. The blob will be overwritten if it already exists. It will be created if it does not exist. ### List running instances of Run Command on a VM ```rest
-GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands?api-version=2019-12-01
+GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands?api-version=2023-03-01
``` ### Get output details for a specific Run Command deployment ```rest
-GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?$expand=instanceView&api-version=2019-12-01
+GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?$expand=instanceView&api-version=2023-03-01
``` ### Delete a specific Run Command deployment
GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers
You can also delete the instance of Run Command. ```rest
-DELETE /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?api-version=2019-12-01
+DELETE /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/runcommands/<runCommandName>?api-version=2023-03-01
``` ### Deploy scripts in an ordered sequence
In this example, **secondRunCommand** will execute after **firstRunCommand**.
{ "type":"Microsoft.Compute/virtualMachines/runCommands", "name":"[concat(parameters('vmName'),'/firstRunCommand')]",
- "apiVersion":"2019-12-01",
+ "apiVersion":"2023-03-01",
"location":"[parameters('location')]", "dependsOn":[ "[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]"