Skip to content

Commit 3040f95

Browse files
authored
Merge pull request #274485 from MicrosoftDocs/main
5/7 11:00 AM IST Publish
2 parents e0ee45c + 08a221f commit 3040f95

File tree

57 files changed

+771
-360
lines changed

Some content is hidden

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

57 files changed

+771
-360
lines changed

articles/api-management/configure-graphql-resolver.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: dlepow
66

77
ms.service: api-management
88
ms.topic: article
9-
ms.date: 06/08/2023
9+
ms.date: 05/02/2024
1010
ms.author: danlep
1111
---
1212

@@ -29,6 +29,7 @@ Currently, API Management supports resolvers that can access the following data
2929
* Each resolver resolves data for a single field. To resolve data for multiple fields, configure a separate resolver for each.
3030
* Resolver-scoped policies are evaluated *after* any `inbound` and `backend` policies in the policy execution pipeline. They don't inherit policies from other scopes. For more information, see [Policies in API Management](api-management-howto-policies.md).
3131
* You can configure API-scoped policies for a GraphQL API, independent of the resolver-scoped policies. For example, add a [validate-graphql-request](validate-graphql-request-policy.md) policy to the `inbound` scope to validate the request before the resolver is invoked. Configure API-scoped policies on the **API policies** tab for the API.
32+
* To support interface and union types in GraphQL resolvers, the backend response must either already contain the `__typename` field, or be altered using the [set-body](set-body-policy.md) policy to include `__typename`.
3233

3334
## Prerequisites
3435

articles/api-management/graphql-apis-overview.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: dlepow
66

77
ms.service: api-management
88
ms.topic: conceptual
9-
ms.date: 09/18/2023
9+
ms.date: 05/05/2024
1010
ms.author: danlep
1111
---
1212

@@ -41,12 +41,13 @@ The GraphQL specification explicitly solves common issues experienced by client
4141

4242
Using a GraphQL API, the client app can specify the data they need to render a page in a query document that is sent as a single request to a GraphQL service. A client app can also subscribe to data updates pushed from the GraphQL service in real time.
4343

44-
## Schema and operation types
44+
## Schema and types
4545

4646
In API Management, add a GraphQL API from a GraphQL schema, either retrieved from a backend GraphQL API endpoint or uploaded by you. A GraphQL schema describes:
4747

4848
* Data object types and fields that clients can request from a GraphQL API
4949
* Operation types allowed on the data, such as queries
50+
* Other types, such as unions and interfaces, that provide additional flexibility and control over the data
5051

5152
For example, a basic GraphQL schema for user data and a query for all users might look like:
5253

@@ -61,17 +62,23 @@ type User {
6162
}
6263
```
6364

64-
API Management supports the following operation types in GraphQL schemas. For more information about these operation types, see the [GraphQL specification](https://spec.graphql.org/October2021/#sec-Subscription-Operation-Definitions).
65+
### Operation types
66+
67+
API Management supports the following operation types in GraphQL schemas. For more information about these operation types, see the [GraphQL specification](https://spec.graphql.org/October2021/#sec-Root-Operation-Types).
6568

6669
* **Query** - Fetches data, similar to a `GET` operation in REST
6770
* **Mutation** - Modifies server-side data, similar to a `PUT` or `PATCH` operation in REST
6871
* **Subscription** - Enables notifying subscribed clients in real time about changes to data on the GraphQL service
6972

7073
For example, when data is modified via a GraphQL mutation, subscribed clients could be automatically notified about the change.
7174

72-
> [!IMPORTANT]
73-
> API Management supports subscriptions implemented using the [graphql-ws](https://github.com/enisdenjo/graphql-ws) WebSocket protocol. Queries and mutations aren't supported over WebSocket.
74-
>
75+
> [!IMPORTANT]
76+
> API Management supports subscriptions implemented using the [graphql-ws](https://github.com/enisdenjo/graphql-ws) WebSocket protocol. Queries and mutations aren't supported over WebSocket.
77+
>
78+
79+
### Other types
80+
81+
API Management supports the [union](https://spec.graphql.org/October2021/#sec-Unions) and [interface](https://spec.graphql.org/October2021/#sec-Interfaces) types in GraphQL schemas.
7582

7683
## Resolvers
7784

articles/api-management/http-data-source-policy.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: dlepow
66

77
ms.service: api-management
88
ms.topic: article
9-
ms.date: 03/19/2024
9+
ms.date: 05/02/2024
1010
ms.author: danlep
1111
---
1212

@@ -97,7 +97,6 @@ The `http-data-source` resolver policy configures the HTTP request and optionall
9797

9898
* To configure and manage a resolver with this policy, see [Configure a GraphQL resolver](configure-graphql-resolver.md).
9999
* This policy is invoked only when resolving a single field in a matching GraphQL operation type in the schema.
100-
* This policy supports GraphQL [union types](https://spec.graphql.org/October2021/#sec-Unions).
101100

102101
## Examples
103102

articles/azure-monitor/agents/azure-monitor-agent-migration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ When you migrate the following services, which currently use Log Analytics agent
118118
| [Automation Hybrid Runbook Worker overview](../../automation/automation-hybrid-runbook-worker.md) | Automation Hybrid Worker Extension (no dependency on Log Analytics agents or Azure Monitor Agent) | GA | [Migrate to Extension based Hybrid Workers](../../automation/extension-based-hybrid-runbook-worker-install.md#migrate-an-existing-agent-based-to-extension-based-hybrid-workers) |
119119
120120
## Known parity gaps for solutions that may impact your migration
121+
- ***IIS Logs***: When IIS log collection is enabled, AMA might not populate the `sSiteName` column of the `W3CIISLog` table. This field gets collected by default when IIS log collection is enabled for the legacy agent. If you need to collect the `sSiteName` field using AMA, enable the `Service Name (s-sitename)` field in W3C logging of IIS. For steps to enable this field, see [Select W3C Fields to Log](/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis#select-w3c-fields-to-log).
121122
- ***Sentinel***: Windows firewall logs are not yet GA
122-
123123
- ***SQL Assessment Solution***: This is now part of SQL best practice assessment. The deployment policies require one Log Analytics Workspace per subscription, which is not the best practice recommended by the AMA team.
124124
- ***Microsoft Defender for cloud***: Some features for the new agentless solution are in development. Your migration maybe impacted if you use File Integraty Monitoring (FIM), Endpoint protection discovery recommendations, OS Misconfigurations (Azure Security Benchmark (ASB) recommendations) and Adaptive Application controls.
125125
- ***Container Insights***: The Windows version is in public preview.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
title: Use service tag for Azure Resource Manager
3+
description: Learn how to use the service tag for Azure Resource Manager to create security rules that allow or deny traffic.
4+
ms.topic: conceptual
5+
ms.date: 05/07/2024
6+
---
7+
8+
# Understand how to use Azure Resource Manager service tag
9+
10+
By using the `AzureResourceManager` service tag, you can define network access for the Azure Resource Manager service without specifying individual IP addresses. The service tag is a group of IP address prefixes that you use to minimize the complexity of creating security rules. When you use service tags, Azure automatically updates the IP addresses as they change for the service. However, the service tag isn't a security control mechanism. The service tag is merely a list of IP addresses.
11+
12+
## When to use
13+
14+
You use service tags to define network access controls for:
15+
16+
* Network security groups (NSGs)
17+
* Azure Firewall rules
18+
* User-defined routing (UDR)
19+
20+
In addition to these scenarios, use the `AzureResourceManager` service tag to:
21+
22+
* Restrict access to linked templates referenced within an ARM template deployment.
23+
* Restrict access to a Kubernetes control plane accessed via Bicep extensibility.
24+
25+
## Security considerations
26+
27+
The Azure Resource Manager service tag helps you define network access, but it shouldn't be considered as a replacement for proper network security measures. In particular, the Azure Resource Manager service tag:
28+
29+
* Doesn't provide granular control over individual IP addresses.
30+
* Shouldn't be relied upon as the sole method for securing a network.
31+
32+
## Monitoring and automation
33+
34+
When monitoring your infrastructure, use the specific IP address prefixes that are associated with a service tag in the Azure networking stack.
35+
36+
For deployment automation and monitoring, make sure that only public IPs from the service's tagged ranges are used on customer-facing portions of the service.
37+
38+
## Next steps
39+
40+
For more information about service tags, see [Virtual network service tags](../../virtual-network/service-tags-overview.md).

articles/azure-resource-manager/management/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
href: tls-support.md
2727
- name: Security baseline
2828
href: /security/benchmark/azure/baselines/azure-resource-manager-security-baseline?toc=/azure/azure-resource-manager/management/toc.json
29+
- name: Service tag
30+
href: service-tags.md
2931
- name: Security controls by Azure Policy
3032
displayName: regulatory, compliance, standards, domains
3133
href: ./security-controls-policy.md

articles/azure-web-pubsub/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
href: tutorial-pub-sub-messages.md
3232
- name: Build a chat app
3333
href: tutorial-build-chat.md
34+
- name: Develop with Visual Studio Code
35+
href: tutorial-develop-with-visual-studio-code.md
3436
- name: Client streaming with a service-supported subprotocol
3537
href: tutorial-subprotocol.md
3638
- name: Authentication and permissions
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
title: 'Visual Studio Code Extension for Azure Web PubSub'
3+
description: Develop with Visual Studio Code extension
4+
author: xingsy97
5+
ms.author: siyuanxing
6+
ms.service: azure-web-pubsub
7+
ms.topic: reference
8+
ms.date: 04/28/2024
9+
---
10+
11+
# Quickstart: Develop with Visual Studio Code Extension
12+
Azure Web PubSub helps developer build real-time messaging web applications using WebSockets and the publish-subscribe pattern easily.
13+
14+
In this tutorial, you create a chat application using Azure Web PubSub with the help of Visual Studio Code.
15+
16+
## Prerequisites
17+
18+
- An Azure account with an active subscription is required. If you don't already have one, you can [create an account for free](https://azure.microsoft.com/free).
19+
- Visual Studio Code, available as a [free download](https://code.visualstudio.com/).
20+
- The following Visual Studio Code extensions installed:
21+
- The [Azure Account extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.azure-account)
22+
- The [Azure Web PubSub extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurewebpubsub)
23+
24+
## Clone the project
25+
26+
1. Open a new Visual Studio Code window.
27+
28+
1. Press <kbd>F1</kbd> to open the command palette.
29+
30+
1. Enter **Git: Clone** and press enter.
31+
32+
1. Enter the following URL to clone the sample project:
33+
34+
```git
35+
https://github.com/Azure/azure-webpubsub.git
36+
```
37+
38+
> [!NOTE]
39+
> This tutorial uses a JavaScript project, but the steps are language agnostic.
40+
41+
1. Select a folder to clone the project into.
42+
43+
1. Select **Open -> Open Folder** to `azure-webpubsub/samples/javascript/chatapp/nativeapi` in Visual Studio Code.
44+
45+
## Sign in to Azure
46+
47+
1. Press <kbd>F1</kbd> to open the command palette.
48+
49+
1. Select **Azure: Sign In** and follow the prompts to authenticate.
50+
51+
1. Once signed in, return to Visual Studio Code.
52+
53+
## Create an Azure Web PubSub Service
54+
55+
The Azure Web PubSub extension for Visual Studio Code enables users to quickly create, manage, and utilize Azure Web PubSub Service and its developer tools such as [Azure Web PubSub Local Tunnel Tool](https://www.npmjs.com/package/@azure/web-pubsub-tunnel-tool).
56+
In this scenario, you create a new Azure Web PubSub Service resource and configure it to host your application. After installing the Web PubSub extension, you can access its features under the Azure control panel in Visual Studio Code.
57+
58+
1. Press <kbd>F1</kbd> to open the command palette and run the **Azure Web PubSub: Create Web PubSub Service** command.
59+
60+
1. Enter the following values as prompted by the extension.
61+
62+
| Prompt | Value |
63+
|--|--|
64+
| Select subscription | Select the Azure subscription you want to use. |
65+
| Select resource group | Select the Azure resource group you want to use. |
66+
| Enter a name for the service | Enter `my-wps`. |
67+
| Select a location | Select an Azure region close to you. |
68+
| Select a pricing tier | Select a pricing tier you want to use. |
69+
| Select a unit count | Select a unit count you want to use.|
70+
71+
The Azure activity log panel opens and displays the deployment progress. This process might take a few minutes to complete.
72+
73+
1. Once this process finishes, Visual Studio Code displays a notification.
74+
75+
## Create a hub setting
76+
1. Open **Azure** icon in the Activity Bar in the left side of Visual Studio Code.
77+
78+
> [!NOTE]
79+
> If your activity bar is hidden, you won't be able to access the extension. Show the Activity Bar by clicking **View > Appearance > Show Activity Bar**
80+
81+
1. In the resource tree, find the Azure Web PubSub resource `my-wps` you created and click it to expand
82+
83+
1. Right click the item **Hub Settings** and then select **Create Hub Setting**
84+
85+
1. Input `sample_chat` as the hub name and create the hub setting. It doesn't matter whether to create extra event handlers or not. Wait for the progress notification shown as finished
86+
87+
1. Below the item **Hub Settings**, a new subitem *Hub sample_chat* shall appear. Right click on the new item and then choose "Attach Local Tunnel"
88+
89+
1. A notification reminds you to create a tunnel-enabled event handler pops up. Click **Yes** button. Then enter the following values as prompted by the extension
90+
91+
| Prompt | Value |
92+
|--|--|
93+
| Select User Events | Select **All** |
94+
| Select System Events | Select **connected** |
95+
| Input Server Port | Enter **8080** |
96+
97+
1. The extension creates a new terminal to run the Local Tunnel Tool and a notification reminds you to open Local Tunnel Portal shows up. Click the button "Yes" or open "http://localhost:4000" in web browser manually to view the portal.
98+
99+
## Run the server application
100+
1. Ensure working directory is `azure-webpubsub/samples/javascript/chatapp/nativeapi`
101+
102+
1. Install Node.js dependencies
103+
104+
```bash
105+
npm install
106+
```
107+
108+
1. Open **Azure** icon in the Activity Bar and find the Azure Web PubSub resource `my-wps`. Then right click on the resource item and select **Copy Connection String**. The connection string is copied to your clipboard
109+
110+
1. Run the server application with copied connection string
111+
112+
```bash
113+
node server.js "<connection-string>"
114+
```
115+
116+
1. Open `http://localhost:8080/index.html` in browser to try your chat application.
117+
118+
> [!TIP]
119+
> Having issues? Let us know on GitHub by opening an issue in the [Azure Web PubSub repo](https://github.com/azure/azure-webpubsub/).

articles/communication-services/concepts/call-automation/call-recording/bring-your-own-storage.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ ms.service: azure-communication-services
1313

1414
# Bring your own Azure storage overview
1515

16-
[!INCLUDE [Private Preview Disclaimer](../../../../communication-services/includes/private-preview-include-section.md)]
17-
18-
1916
Bring Your Own Azure Storage for Call Recording allows you to specify an Azure blob storage account for storing call recording files. Bring your own Azure storage enables businesses to store their data in a way that meets their compliance requirements and business needs. For example, end-users could customize their own rules and access to the data, enabling them to store or delete content whenever they need it. Bring your own Azure Storage provides a simple and straightforward solution that eliminates the need for developers to invest time and resources in downloading and exporting files.
2017

2118
The same Azure Communication Services Call Recording APIs are used to export recordings to your Azure Blob Storage Container. While starting recording for a call, specify the container path where the recording needs to be exported. Upon recording completion, Azure Communication Services automatically fetches and uploads your recording to your storage.
@@ -29,8 +26,8 @@ Bring your own Azure storage uses [Azure Managed Identities](/entra/identity/man
2926

3027
## Known issues
3128

32-
- Azure Communication Services will also store your files in a built-in storage for 48 hours even if the exporting is successful.
33-
- Randomly, recording files are duplicated during the exporting process. Make sure you delete the duplicated file to avoid extra storage costs in your storage account.
29+
- Azure Communication Services will also store your files in a built-in storage for 24 hours even if the exporting is successful.
30+
- For Pause on Start Recording the meta data file would have an incorrect pause duration in relation to the recording file.
3431

3532

3633
## Next steps

articles/communication-services/concepts/voice-video-calling/call-recording.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ For example, you can record 1:1 or 1:N audio and video calls:
2525
![Diagram showing a call that it's being recorded.](../media/call-recording-client.png)
2626

2727
But also, you can use Call Recording to record complex PSTN or VoIP inbound and outbound calling workflows managed by [Call Automation](../call-automation/call-automation.md).
28-
Regardless of how you established the call, Call Recording allows you to produce mixed or unmixed media files that are stored for 48 hours on a built-in temporary storage. You can retrieve the files and take them to the long-term storage solution of your choice. Call Recording supports all Azure Communication Services data regions.
28+
Regardless of how you established the call, Call Recording allows you to produce mixed or unmixed media files that are stored for 24 hours on a built-in temporary storage. You can retrieve the files , move it your own Azure Blob Store [Bring Your Own Storage](../../quickstarts\call-automation\call-recording\bring-your-own-storage.md) or a storage solution of your choice. Call Recording supports all Azure Communication Services data regions.
2929

3030

3131
![Diagram showing call recording architecture.](../media/call-recording-with-call-automation.png)
@@ -70,7 +70,7 @@ A `recordingId` is returned when recording is started, which is then used for fo
7070
Call Recording use [Azure Event Grid](../../../event-grid/event-schema-communication-services.md) to provide you with notifications related to media and metadata.
7171

7272
> [!NOTE]
73-
> Azure Communication Services provides short term media storage for recordings. **Recordings will be available to download for 48 hours.** After 48 hours, recordings will no longer be available.
73+
> Azure Communication Services provides short term media storage for recordings. **Recordings will be available to download for 24 hours.** After 24 hours, recordings will no longer be available.
7474
7575

7676
An Event Grid notification `Microsoft.Communication.RecordingFileStatusUpdated` is published when a recording is ready for retrieval, typically a few minutes after the recording process has completed (for example, meeting ended, recording stopped). Recording event notifications include `contentLocation` and `metadataLocation`, which are used to retrieve both recorded media and a recording metadata file.

0 commit comments

Comments
 (0)