You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/develop/reply-url.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -116,7 +116,7 @@ To add a redirect URI that uses the `http` scheme with the `127.0.0.1` loopback
116
116
117
117
## Restrictions on wildcards in redirect URIs
118
118
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.
120
120
121
121
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.
Copy file name to clipboardExpand all lines: articles/azure-maps/tutorial-creator-indoor-maps.md
+39-19Lines changed: 39 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,27 +23,27 @@ This tutorial describes how to create indoor maps for use in Microsoft Azure Map
23
23
> * Get the default map configuration ID from your tileset.
24
24
25
25
> [!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)].
27
27
28
28
## Prerequisites
29
29
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]
34
34
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.
36
36
37
37
>[!IMPORTANT]
38
38
>
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].
40
40
> * In the URL examples in this article you will need to replace `{Your-Azure-Maps-Subscription-key}` with your Azure Maps subscription key.
41
41
42
42
## Upload a drawing package
43
43
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.
45
45
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].
47
47
48
48
To upload the drawing package:
49
49
@@ -55,7 +55,7 @@ To upload the drawing package:
55
55
56
56
4. Select the **POST** HTTP method.
57
57
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:
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.
152
152
153
153
To convert a drawing package:
154
154
@@ -160,7 +160,7 @@ To convert a drawing package:
160
160
161
161
4. Select the **POST** HTTP method.
162
162
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):
@@ -202,7 +202,7 @@ To check the status of the conversion process and retrieve the `conversionId`:
202
202
203
203
:::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.":::
204
204
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].
206
206
207
207
The following JSON fragment displays a sample conversion warning:
208
208
@@ -233,7 +233,7 @@ The following JSON fragment displays a sample conversion warning:
233
233
234
234
## Create a dataset
235
235
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.
237
237
238
238
To create a dataset:
239
239
@@ -245,7 +245,7 @@ To create a dataset:
245
245
246
246
4. Select the **POST** HTTP method.
247
247
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)):
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:
@@ -339,7 +339,7 @@ To check the status of the tileset creation process and retrieve the `tilesetId`
339
339
340
340
## The map configuration (preview)
341
341
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:
343
343
344
344
1. In the Postman app, select **New**.
345
345
@@ -349,7 +349,7 @@ Once your tileset creation completes, you can get the `mapConfigurationId` using
349
349
350
350
4. Select the **GET** HTTP method.
351
351
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.
Copy file name to clipboardExpand all lines: articles/cost-management-billing/savings-plan/choose-commitment-amount.md
+21-1Lines changed: 21 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,26 @@ Note the following points:
36
36
37
37
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).
38
38
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.
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
+
39
59
## Need help? Contact us
40
60
41
61
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,
Copy file name to clipboardExpand all lines: articles/cost-management-billing/savings-plan/utilization-cost-reports.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -126,13 +126,13 @@ Get the Amortized costs data and filter the data for a `PricingModel` = `Savings
126
126
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.
127
127
3. Subtract estimated pay-as-you-go costs from savings plan costs to get the estimated savings.
128
128
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`.
132
132
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.
136
136
137
137
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.
0 commit comments