Skip to content

Commit 00da4dd

Browse files
authored
Merge pull request #229834 from MicrosoftDocs/repo_sync_working_branch
Confirm merge from repo_sync_working_branch to main to sync with https://github.com/MicrosoftDocs/azure-docs (branch main)
2 parents a1c048f + f355272 commit 00da4dd

File tree

7 files changed

+75
-33
lines changed

7 files changed

+75
-33
lines changed

articles/active-directory/develop/reply-url.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ To add a redirect URI that uses the `http` scheme with the `127.0.0.1` loopback
116116

117117
## Restrictions on wildcards in redirect URIs
118118

119-
Wildcard URIs like `https://*.contoso.com` may seem convenient, but should be avoided due to security implications. According to the OAuth 2.0 specification ([section 3.1.2 of RFC 6749](https://tools.ietf.org/html/rfc6749#section-3.1.2)), a redirection endpoint URI must be an absolute URI.
119+
Wildcard URIs like `https://*.contoso.com` may seem convenient, but should be avoided due to security implications. According to the OAuth 2.0 specification ([section 3.1.2 of RFC 6749](https://tools.ietf.org/html/rfc6749#section-3.1.2)), a redirection endpoint URI must be an absolute URI. As such, when a configured wildcard URI matches a redirect URI, query strings and fragments in the redirect URI are stripped.
120120

121121
Wildcard URIs are currently unsupported in app registrations configured to sign in personal Microsoft accounts and work or school accounts. Wildcard URIs are allowed, however, for apps that are configured to sign in only work or school accounts in an organization's Azure AD tenant.
122122

articles/azure-maps/how-to-creator-wfs.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,14 @@ After the response returns, copy the feature `id` for one of the `unit` features
108108
}
109109
```
110110

111+
## Next steps
112+
111113
> [!div class="nextstepaction"]
112114
> [How to create a feature stateset]
113115
114116
[datasets]: /rest/api/maps/v2/dataset
115117
[WFS API]: /rest/api/maps/v2/wfs
116-
[Web Feature Service (WFS)]: /rest/api/maps/v2/wfs
118+
[Web Feature Service (WFS)]: /rest/api/maps/v2/wfs
117119
[Tutorial: Use Creator to create indoor maps]: tutorial-creator-indoor-maps.md
118120
[Check dataset creation status]: tutorial-creator-indoor-maps.md#check-the-dataset-creation-status
119121
[Access to Creator Services]: how-to-manage-creator.md#access-to-creator-services

articles/azure-maps/tutorial-creator-indoor-maps.md

Lines changed: 39 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,27 +23,27 @@ This tutorial describes how to create indoor maps for use in Microsoft Azure Map
2323
> * Get the default map configuration ID from your tileset.
2424
2525
> [!TIP]
26-
> You can also create a dataset from a GeoJSON package. For more information, see [Create a dataset using a GeoJson package (Preview)](how-to-dataset-geojson.md).
26+
> You can also create a dataset from a GeoJSON package. For more information, see [Create a dataset using a GeoJson package (Preview)].
2727
2828
## Prerequisites
2929

30-
1. [Make an Azure Maps account](quick-demo-map-app.md#create-an-azure-maps-account).
31-
2. [Obtain a primary subscription key](quick-demo-map-app.md#get-the-primary-key-for-your-account), also known as the primary key or the subscription key.
32-
3. [Create a Creator resource](how-to-manage-creator.md).
33-
4. Download the [Sample drawing package](https://github.com/Azure-Samples/am-creator-indoor-data-examples/blob/master/Sample%20-%20Contoso%20Drawing%20Package.zip).
30+
1. An [Azure Maps account]
31+
2. A [subscription key]
32+
3. A [Creator resource]
33+
4. Download the [Sample drawing package]
3434

35-
This tutorial uses the [Postman](https://www.postman.com/) application, but you can use a different API development environment.
35+
This tutorial uses the [Postman] application, but you can use a different API development environment.
3636

3737
>[!IMPORTANT]
3838
>
39-
> * This article uses the `us.atlas.microsoft.com` geographical URL. If your Creator service wasn't created in the United States, you must use a different geographical URL. For more information, see [Access to Creator services](how-to-manage-creator.md#access-to-creator-services).
39+
> * This article uses the `us.atlas.microsoft.com` geographical URL. If your Creator service wasn't created in the United States, you must use a different geographical URL. For more information, see [Access to Creator services].
4040
> * In the URL examples in this article you will need to replace `{Your-Azure-Maps-Subscription-key}` with your Azure Maps subscription key.
4141
4242
## Upload a drawing package
4343

44-
Use the [Data Upload API](/rest/api/maps/data-v2/upload) to upload the drawing package to Azure Maps resources.
44+
Use the [Data Upload API] to upload the drawing package to Azure Maps resources.
4545

46-
The Data Upload API is a long running transaction that implements the pattern defined in [Creator Long-Running Operation API V2](creator-long-running-operation-v2.md).
46+
The Data Upload API is a long running transaction that implements the pattern defined in [Creator Long-Running Operation API V2].
4747

4848
To upload the drawing package:
4949

@@ -55,7 +55,7 @@ To upload the drawing package:
5555

5656
4. Select the **POST** HTTP method.
5757

58-
5. Enter the following URL to the [Data Upload API](/rest/api/maps/data-v2/upload) The request should look like the following URL:
58+
5. Enter the following URL to the [Data Upload API] The request should look like the following URL:
5959

6060
```http
6161
https://us.atlas.microsoft.com/mapData?api-version=2.0&dataFormat=dwgzippackage&subscription-key={Your-Azure-Maps-Subscription-key}
@@ -148,7 +148,7 @@ To retrieve content metadata:
148148
149149
## Convert a drawing package
150150
151-
Now that the drawing package is uploaded, you'll use the `udid` for the uploaded package to convert the package into map data. The [Conversion API](/rest/api/maps/v2/conversion) uses a long-running transaction that implements the pattern defined in the [Creator Long-Running Operation](creator-long-running-operation-v2.md) article.
151+
Now that the drawing package is uploaded, you'll use the `udid` for the uploaded package to convert the package into map data. The [Conversion API] uses a long-running transaction that implements the pattern defined in the [Creator Long-Running Operation] article.
152152
153153
To convert a drawing package:
154154
@@ -160,7 +160,7 @@ To convert a drawing package:
160160
161161
4. Select the **POST** HTTP method.
162162
163-
5. Enter the following URL to the [Conversion service](/rest/api/maps/v2/conversion/convert) (replace `{Your-Azure-Maps-Subscription-key}` with your Azure Maps subscription key and `udid` with the `udid` of the uploaded package):
163+
5. Enter the following URL to the [Conversion service] (replace `{Your-Azure-Maps-Subscription-key}` with your Azure Maps subscription key and `udid` with the `udid` of the uploaded package):
164164
165165
```http
166166
https://us.atlas.microsoft.com/conversions?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=2.0&udid={udid}&inputType=DWG&outputOntology=facility-2.0
@@ -202,7 +202,7 @@ To check the status of the conversion process and retrieve the `conversionId`:
202202
203203
:::image type="content" source="./media/tutorial-creator-indoor-maps/data-conversion-id.png" alt-text="A screenshot of Postman highlighting the conversion ID value that appears in the resource location key in the responses header.":::
204204
205-
The sample drawing package should be converted without errors or warnings. However, if you receive errors or warnings from your own drawing package, the JSON response includes a link to the [Drawing error visualizer](drawing-error-visualizer.md). You can use the Drawing Error visualizer to inspect the details of errors and warnings. To receive recommendations to resolve conversion errors and warnings, see [Drawing conversion errors and warnings](drawing-conversion-error-codes.md).
205+
The sample drawing package should be converted without errors or warnings. However, if you receive errors or warnings from your own drawing package, the JSON response includes a link to the [Drawing error visualizer]. You can use the Drawing Error visualizer to inspect the details of errors and warnings. To receive recommendations to resolve conversion errors and warnings, see [Drawing conversion errors and warnings].
206206
207207
The following JSON fragment displays a sample conversion warning:
208208
@@ -233,7 +233,7 @@ The following JSON fragment displays a sample conversion warning:
233233

234234
## Create a dataset
235235

236-
A dataset is a collection of map features, such as buildings, levels, and rooms. To create a dataset, use the [Dataset Create API](/rest/api/maps/v2/dataset/create). The Dataset Create API takes the `conversionId` for the converted drawing package and returns a `datasetId` of the created dataset.
236+
A dataset is a collection of map features, such as buildings, levels, and rooms. To create a dataset, use the [Dataset Create API]. The Dataset Create API takes the `conversionId` for the converted drawing package and returns a `datasetId` of the created dataset.
237237

238238
To create a dataset:
239239

@@ -245,7 +245,7 @@ To create a dataset:
245245

246246
4. Select the **POST** HTTP method.
247247

248-
5. Enter the following URL to the [Dataset API](/rest/api/maps/v2/dataset). The request should look like the following URL (replace `{conversionId`} with the `conversionId` obtained in [Check drawing package conversion status](#check-the-drawing-package-conversion-status)):
248+
5. Enter the following URL to the [Dataset service]. The request should look like the following URL (replace `{conversionId`} with the `conversionId` obtained in [Check drawing package conversion status](#check-the-drawing-package-conversion-status)):
249249

250250
```http
251251
https://us.atlas.microsoft.com/datasets?api-version=2.0&conversionId={conversionId}&subscription-key={Your-Azure-Maps-Subscription-key}
@@ -299,7 +299,7 @@ To create a tileset:
299299
300300
4. Select the **POST** HTTP method.
301301
302-
5. Enter the following URL to the [Tileset API](/rest/api/maps/v2/tileset). The request should look like the following URL (replace `{datasetId`} with the `datasetId` obtained in the [Check the dataset creation status](#check-the-dataset-creation-status) section above:
302+
5. Enter the following URL to the [Tileset service]. The request should look like the following URL (replace `{datasetId`} with the `datasetId` obtained in the [Check the dataset creation status](#check-the-dataset-creation-status) section above:
303303
304304
```http
305305
https://us.atlas.microsoft.com/tilesets?api-version=2022-09-01-preview&datasetID={datasetId}&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
@@ -339,7 +339,7 @@ To check the status of the tileset creation process and retrieve the `tilesetId`
339339
340340
## The map configuration (preview)
341341
342-
Once your tileset creation completes, you can get the `mapConfigurationId` using the [tileset get](/rest/api/maps/v20220901preview/tileset/get) HTTP request:
342+
Once your tileset creation completes, you can get the `mapConfigurationId` using the [tileset get] HTTP request:
343343
344344
1. In the Postman app, select **New**.
345345
@@ -349,7 +349,7 @@ Once your tileset creation completes, you can get the `mapConfigurationId` using
349349
350350
4. Select the **GET** HTTP method.
351351
352-
5. Enter the following URL to the [Tileset API](/rest/api/maps/v20220901preview/tileset), passing in the tileset ID you obtained in the previous step.
352+
5. Enter the following URL to the [Tileset service], passing in the tileset ID you obtained in the previous step.
353353
354354
```http
355355
https://us.atlas.microsoft.com/tilesets/{tilesetId}?api-version=2022-09-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
@@ -363,9 +363,29 @@ Once your tileset creation completes, you can get the `mapConfigurationId` using
363363
"defaultMapConfigurationId": "5906cd57-2dba-389b-3313-ce6b549d4396"
364364
```
365365
366-
For more information, see [Map configuration](creator-indoor-maps.md#map-configuration) in the indoor maps concepts article.
366+
For more information, see [Map configuration] in the indoor maps concepts article.
367367
368368
## Next steps
369369
370370
> [!div class="nextstepaction"]
371371
> [Use the Azure Maps Indoor Maps module with custom styles](how-to-use-indoor-module.md)
372+
373+
[Azure Maps account]: quick-demo-map-app.md#create-an-azure-maps-account
374+
[subscription key]: quick-demo-map-app.md#get-the-primary-key-for-your-account
375+
[Creator resource]: how-to-manage-creator.md
376+
[Sample drawing package]: https://github.com/Azure-Samples/am-creator-indoor-data-examples/blob/master/Sample%20-%20Contoso%20Drawing%20Package.zip
377+
[Postman]: https://www.postman.com
378+
[Access to Creator services]: how-to-manage-creator.md#access-to-creator-services
379+
[Create a dataset using a GeoJson package (Preview)]: how-to-dataset-geojson.md
380+
[Data Upload API]: /rest/api/maps/data-v2/upload
381+
[Creator Long-Running Operation API V2]: creator-long-running-operation-v2.md
382+
[Conversion API]: /rest/api/maps/v2/conversion
383+
[Conversion service]: /rest/api/maps/v2/conversion/convert
384+
[Creator Long-Running Operation]: creator-long-running-operation-v2.md
385+
[Drawing error visualizer]: drawing-error-visualizer.md
386+
[Drawing conversion errors and warnings]: drawing-conversion-error-codes.md
387+
[Dataset Create API]: /rest/api/maps/v2/dataset/create
388+
[Dataset service]: /rest/api/maps/v2/dataset
389+
[Tileset service]: /rest/api/maps/v20220901preview/tileset
390+
[tileset get]: /rest/api/maps/v20220901preview/tileset/get
391+
[Map configuration]: creator-indoor-maps.md#map-configuration

articles/cost-management-billing/savings-plan/choose-commitment-amount.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,26 @@ Note the following points:
3636

3737
Savings plan purchases are calculated by the recommendations engine for the selected term and scope, based on last 30 days of usage. Recommendations are provided through [Azure Advisor](https://portal.azure.com/#view/Microsoft_Azure_Expert/AdvisorMenuBlade/~/Cost), the savings plan purchase experience in [Azure portal](https://portal.azure.com/), and through the [savings plan benefit recommendations API](/rest/api/cost-management/benefit-recommendations/list).
3838

39+
## Savings plan purchase recommendations for customers using Management groups
40+
Currently Azure portal doesn't provide Savings plan recommendations for Management groups, but customers can calculate their own per-hour commitment for Management groups by using the following steps until Azure portal provides Management group-level recommendations.
41+
1. Download Usage Detail report from EA portal or Azure portal to get the accurate usage and cost.
42+
- From EA portal - By logging into ea.azure.com, navigating to Reports section, and downloading Usage Details report for the current month and the past 2 months.
43+
- From Azure portal - By logging into Azure portal and searching for cost management and billing. Under Billing, click on Usage + charges and click on download against the month to download current and past 2 months.
44+
1. Open the downloaded file in Excel. If the file size is huge open it in Power BI.
45+
1. Create cost column by multiplying PayG Price * Quantity (i.e. calculated cost).
46+
1. Filter Charge Type = "Usage".
47+
1. Filter Meter Category = "Virtual Machines", "App Service", "Functions", "Container Instance" - As the SP is applied on only these services.
48+
1. Filter ProductOrderName = Blank
49+
1. Filter Quantity >= 23 to consider only items which ran 24 hours as SP is per hour commitment, and we have the granularity of per day and not per hour. This will avoid any sparse compute.
50+
1. Filter Months for current and previous 2 months.
51+
1. If you are doing this in Power BI export the data to .csv file and copy into Excel.
52+
1. Now copy the subscription names that belong to the management group on which you want to apply Savings plan on in Excel sheet.
53+
1. Do a Vlookup against the internal subscriptions against the filter data.
54+
1. Divide calculated cost with 24 hours to get per hour cost.
55+
1. Create pivot to group the data by subscription by month and day, and copy this pivot data into new sheet.
56+
1. Multiply per hour cost with .4. Reason for this is you will get a discount on the usage. For example, you have committed 100 rupees you will be charged based on 1 or 3 year Savings plan discount applicable for SKU hence your cost per hour will be less than 100 hours and hence you will be needing more cost of compute to get the value of 100. 40% is the safe limit.
57+
1. Now see the range of cost per hour per day and per month to get view of the sage commitment you can make.
58+
3959
## Need help? Contact us
4060

4161
If you have Azure savings plan for compute questions, contact your account team, or [create a support request](https://portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade/newsupportrequest). Temporarily, Microsoft will only provide Azure savings plan for compute expert support requests in English.
@@ -44,4 +64,4 @@ If you have Azure savings plan for compute questions, contact your account team,
4464

4565
- [Manage Azure savings plans](manage-savings-plan.md)
4666
- [View Azure savings plan cost and usage details](utilization-cost-reports.md)
47-
- [Software costs not included in saving plan](software-costs-not-included.md)
67+
- [Software costs not included in saving plan](software-costs-not-included.md)

articles/cost-management-billing/savings-plan/utilization-cost-reports.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,13 +126,13 @@ Get the Amortized costs data and filter the data for a `PricingModel` = `Savings
126126
2. Get the savings plan costs. Sum the `Cost` values to get the monetary value of what you paid for the savings plan. It includes the used and unused costs of the savings plan.
127127
3. Subtract estimated pay-as-you-go costs from savings plan costs to get the estimated savings.
128128

129-
To know the Savings made out of public list price:
130-
Get public or list price cost. Multiply the `PayGPrice` value with `Quantity` values to get public-list-price costs.
131-
Get Savings made out of savings plan against public list price. Subtract estimated public-list-price costs from `Cost`.
129+
- To know the Savings made out of public list price:
130+
- Get public or list price cost. Multiply the `PayGPrice` value with `Quantity` values to get public-list-price costs.
131+
- Get Savings made out of savings plan against public list price. Subtract estimated public-list-price costs from `Cost`.
132132

133-
To know the % savings made out of discounted price for customer:
134-
Get Savings made out of savings plan against discounts given to customer. Subtract estimated pay-as-you-go from `Cost`.
135-
Get % discount applied on each line item. Divide `Cost` with public-list-price and then divide by 100.
133+
+ To know the % savings made out of discounted price for customer:
134+
+ Get Savings made out of savings plan against discounts given to customer. Subtract estimated pay-as-you-go from `Cost`.
135+
+ Get % discount applied on each line item. Divide `Cost` with public-list-price and then divide by 100.
136136

137137
Keep in mind that if you have an underutilized savings plan, the `UnusedBenefit` entry for `ChargeType` becomes a factor to consider. When you have a fully utilized savings plan, you receive the maximum savings possible. Any `UnusedBenefit` quantity reduces savings.
138138

0 commit comments

Comments
 (0)