Skip to content

Commit acef597

Browse files
Merge pull request #2226 from MicrosoftDocs/main638940891091351062sync_temp
For protected branch, push strategy should use PR and merge to target branch method to work around git push error
2 parents 60c8f14 + 0791c4b commit acef597

File tree

67 files changed

+264
-247
lines changed

Some content is hidden

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

67 files changed

+264
-247
lines changed

docs/data-engineering/api-graphql-azure-api-management.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,21 @@ For this section, we assume that you have a GraphQL API in Fabric and APIM insta
2222

2323
To get started retrieve your API endpoint from the Fabric portal by going in your GraphQL item and clicking on the **Copy endpoint** button in the ribbon. You will also need to save your GraphQL schema to a file, which you can accomplish by clicking on the **Export schema** button and saving it to a file in your local device:
2424

25-
![Screenshot of API for GraphQL ribbon.](media/api-graphql-apim/api-graphql-apim-ribbon.png)
25+
:::image type="content" source="media/api-graphql-apim/api-graphql-apim-ribbon.png" alt-text="Screenshot of API for GraphQL ribbon." lightbox="media/api-graphql-apim/api-graphql-apim-ribbon.png":::
2626

2727
Now navigate to your API Management instance in the Azure portal and select **APIs** > **+ Add API**.
2828

2929
Choose the GraphQL icon and, in the APIM **Create from GraphQL schema** screen, fill in the required fields such as Display name, Name, and GraphQL API endpoint. Select **Upload schema** and use the schema file you downloaded previously:
3030

31-
[![Screenshot from APIM create from GraphQL schema screen.](media/api-graphql-apim/api-graphql-apim-create.png)](media/api-graphql-apim/api-graphql-apim-create.png)
31+
:::image type="content" source="media/api-graphql-apim/api-graphql-apim-create.png" alt-text="Screenshot from APIM create from GraphQL schema screen." lightbox="media/api-graphql-apim/api-graphql-apim-create.png":::
3232

3333
## Using managed identities with APIM and API for GraphQL in Fabric
3434

3535
Next, we need to configure a policy for authentication using a managed identity to handle authentication for this API. You can [create a managed identity in the Azure portal](/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities) or by using any of the tools available to do so.
3636

3737
Now we have a managed identity credential we can use for authentication, we need grant it permissions to the GraphQL item in Fabric. For the sake of simplicity, we add the managed identity (in this example, **apim-id**) as a member of the workspace where both the GraphQL API and its data source are located:
3838

39-
![Screenshot of workspace permissions.](media/api-graphql-apim/api-graphql-apim-permissions.png)
39+
:::image type="content" source="media/api-graphql-apim/api-graphql-apim-permissions.png" alt-text="Screenshot of workspace permissions." lightbox="media/api-graphql-apim/api-graphql-apim-permissions.png":::
4040

4141
If you prefer to enable access directly to the Fabric items such as the API itself and the data sources attached to the API such as a LakeHouse or SQL database, you need to grant the appropriate permissions for the managed identity on each item, especially in case they were attached to the API using Single Sign-On (SSO) authentication. You can find more information in the [permissions summary](get-started-api-graphql.md#permissions-summary).
4242

@@ -58,7 +58,7 @@ Make sure to replace the client ID in the snippet above with your managed identi
5858

5959
Now, back to the API, head to the **Test** tab and confirm you can issue queries and/or mutations to your Fabric data via GraphQL:
6060

61-
[![Screenshot of successful test in the APIM portal.](media/api-graphql-apim/api-graphql-apim-test.png)](media/api-graphql-apim/api-graphql-apim-test.png)
61+
:::image type="content" source="media/api-graphql-apim/api-graphql-apim-test.png" alt-text="Screenshot of successful test in the APIM portal." lightbox="media/api-graphql-apim/api-graphql-apim-test.png":::
6262

6363
Testing the successful connection between APIM and Fabric GraphQL
6464

@@ -112,7 +112,7 @@ APIs and operations in API Management can be configured with response caching. R
112112

113113
You can confirm the requests are getting cached by [tracing a GraphQL API query or mutation](/azure/api-management/api-management-howto-api-inspector#trace-a-call-in-the-portal) in the APIM portal:
114114

115-
[![Screenshot of cache hit in the APIM portal.](media/api-graphql-apim/api-graphql-apim-cache.png)](media/api-graphql-apim/api-graphql-apim-cache.png)
115+
:::image type="content" source="media/api-graphql-apim/api-graphql-apim-cache.png" alt-text="Screenshot of cache hit in the APIM portal." lightbox="media/api-graphql-apim/api-graphql-apim-cache.png":::
116116

117117
For advanced caching scenarios, please refer to the [APIM documentation](/azure/api-management/api-management-howto-cache) on caching.
118118

docs/data-engineering/api-graphql-introspection-schema-export.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ The Fabric API for GraphQL provides two mechanisms to retrieve information about
2222

2323
By default, introspection is disabled on your API for GraphQL items. This setting can only be toggled by Workspace Admins. All other users will see a disabled slider. To enable it, click on the API **Settings** gear icon in the top menu and choose **Introspection** from the available settings. You'll see a toggle to enable or disable introspection:
2424

25-
![Screenshot that shows the portal bar showing the settings gear button.](media/api-graphql-introspection-schema-export/portal-bar-settings.png)
25+
:::image type="content" source="media/api-graphql-introspection-schema-export/portal-bar-settings.png" alt-text="Screenshot that shows the portal bar showing the settings gear button." lightbox="media/api-graphql-introspection-schema-export/portal-bar-settings.png":::
2626

27-
![Screenshot that shows the introspection setting slider.](media/api-graphql-introspection-schema-export/introspection-settings.png)
27+
:::image type="content" source="media/api-graphql-introspection-schema-export/introspection-settings.png" alt-text="Screenshot that shows the introspection setting slider." lightbox="media/api-graphql-introspection-schema-export/introspection-settings.png":::
2828

2929
If you enable introspection, the following confirmation dialog is displayed:
3030

31-
![Screenshot that shows the enable introspection confirmation dialog.](media/api-graphql-introspection-schema-export/enable-introspection-confirmation.png)
31+
:::image type="content" source="media/api-graphql-introspection-schema-export/enable-introspection-confirmation.png" alt-text="Screenshot that shows the enable introspection confirmation dialog." lightbox="media/api-graphql-introspection-schema-export/enable-introspection-confirmation.png":::
3232

3333
Select **confirm** to enable introspection or **cancel** to leave it disabled.
3434

@@ -46,7 +46,7 @@ query {
4646
}
4747
```
4848

49-
![Screenshot that shows the introspection query example.](media/api-graphql-introspection-schema-export/introspection-query-example.png)
49+
:::image type="content" source="media/api-graphql-introspection-schema-export/introspection-query-example.png" alt-text="Screenshot that shows the introspection query example." lightbox="media/api-graphql-introspection-schema-export/introspection-query-example.png":::
5050

5151
The information retrieved by introspection queries is verbose. You can use query filters to narrow the scope of the query.
5252

@@ -56,7 +56,7 @@ To learn more about introspection, see the [GraphQL Foundation's official docume
5656

5757
Another way to retrieve schema information is using the GraphQL schema export. It works directly from the Fabric portal. Open your API for GraphQL and select **Export schema**. And your browser will download an SDL (Schema Definition Language) file with full schema. You can then use this SDL file in any development tool or service such as, for example, integrating with [Azure API Management](api-graphql-azure-api-management.md).
5858

59-
![Screenshot that shows the export schema button.](media/api-graphql-introspection-schema-export/export-schema.png)
59+
:::image type="content" source="media/api-graphql-introspection-schema-export/export-schema.png" alt-text="Screenshot that shows the export schema button." lightbox="media/api-graphql-introspection-schema-export/export-schema.png":::
6060

6161
## Related content
6262

docs/data-engineering/api-graphql-local-model-context-protocol.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ This will return a list of all types in your GraphQL schema.
259259
```
260260
3. In Copilot chat, first ask to introspect the schema then try asking a pertinent question related to the introspected data in natural language, for example:
261261

262-
[![Screenshot: Retrieving a list of customers using the introspected Microsoft Fabric GraphQL API schema in VSCode with GitHub Copilot and local MCP Server.](media/api-graphql-local-model-context-protocol/api-graphql-local-model-context-protocol.png )](media/api-graphql-local-model-context-protocol/api-graphql-local-model-context-protocol.png)
262+
:::image type="content" source="media/api-graphql-local-model-context-protocol/api-graphql-local-model-context-protocol.png" alt-text="Screenshot: Retrieving a list of customers using the introspected Microsoft Fabric GraphQL API schema in VSCode with GitHub Copilot and local MCP Server." lightbox="media/api-graphql-local-model-context-protocol/api-graphql-local-model-context-protocol.png":::
263263

264264
### Cursor IDE
265265

docs/data-engineering/api-graphql-performance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ You can find your tenant region with the following steps:
3232
1. From **Workspace settings**, go to **License info**.
3333
1. You can find your capacity region information under **License capacity**.
3434

35-
:::image type="content" source="./media/api-graphql-performance/capacity-region.png" alt-text="Screenshot showing how to get the capacity region for your workspace.":::
35+
:::image type="content" source="./media/api-graphql-performance/capacity-region.png" alt-text="Screenshot showing how to get the capacity region for your workspace." lightbox="media/api-graphql-performance/capacity-region.png":::
3636

3737
### Data source region
3838

docs/data-engineering/api-graphql-pricing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Resolver executions triggered by requests to API for GraphQL consume Fabric Capa
2828

2929
The [Fabric Capacity Metrics app](../enterprise/metrics-app-compute-page.md) displays the total capacity usage for API for GraphQL operations under the name "Query". Additionally, API users are able to view a summary of their billing charges for API for GraphQL usage under the invoicing item "GraphQL".
3030

31-
![Screenshot of GraphQL in Capacity app.](media/api-graphql-pricing/api-graphql-capacity-app.png)
31+
:::image type="content" source="media/api-graphql-pricing/api-graphql-capacity-app.png" alt-text="Screenshot of GraphQL in Capacity app." lightbox="media/api-graphql-pricing/api-graphql-capacity-app.png":::
3232

3333
## Capacity utilization type
3434

docs/data-engineering/api-graphql-service-principal.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Follow the steps in the [connect applications](connect-apps-api-graphql.md) sect
2121

2222
1. The service principal needs access to both the GraphQL API and the data source, more specifically *Execute* permission to the GraphQL API and read or write access required in the data source of choice accordingly. In the Fabric Portal, open the workspace and select the ellipsis next to API. Select *Manage permissions* for the API then *Add user*. Add the application and select *Run Queries and Mutations*, which provides the required *Execute* permissions to the service principal. For testing purposes, the easiest way to implement the required permissions for both the API and data source is by adding the application as a workspace member with a contributor role where both the GraphQL API and data source items are located.
2323

24-
:::image type="content" source="media/connect-apps-api-graphql/add-spn-permissions.png" alt-text="Screenshot of GraphQL API permissions.":::
24+
:::image type="content" source="media/connect-apps-api-graphql/add-spn-permissions.png" alt-text="Screenshot of GraphQL API permissions." lightbox="media/connect-apps-api-graphql/add-spn-permissions.png":::
2525

2626
Because a service principal requires either a certificate or a client secret, it isn't supported by the Microsoft Authentication Library (MSAL) in single-page applications (SPAs) like the React app built in the last step. You can use a backend service properly secured with well defined authorization logic depending on your requirements and use cases.
2727

docs/data-engineering/api-graphql-stored-procedures.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ Creating an API from your SQL table is fast, easy, and straightforward. You just
121121

122122
Next select the **SalesLT** tables in your database and the stored procedure we just created, then click **Load**:
123123

124-
![Get data screen to select tables and procedures in API for GraphQL](media/api-graphql-stored-procedures/api-graphql-stored-procedures.png)
124+
:::image type="content" source="media/api-graphql-stored-procedures/api-graphql-stored-procedures.png" alt-text="Get data screen to select tables and procedures in API for GraphQL." lightbox="media/api-graphql-stored-procedures/api-graphql-stored-procedures.png":::
125125

126126
The GraphQL API, schema, and all resolvers are automatically generated in seconds based on the SQL tables and stored procedure.
127127

@@ -148,7 +148,7 @@ ProductID
148148
}
149149
```
150150

151-
![Mutation in the GraphQL API portal displaying the results](media/api-graphql-stored-procedures/api-graphql-stored-procedures-mutation.png)
151+
:::image type="content" source="media/api-graphql-stored-procedures/api-graphql-stored-procedures-mutation.png" alt-text="Mutation in the GraphQL API portal displaying the results." lightbox="media/api-graphql-stored-procedures/api-graphql-stored-procedures-mutation.png":::
152152

153153
**Tips**
154154

docs/data-engineering/author-execute-notebook.md

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -103,19 +103,19 @@ Fabric notebooks provide code snippets that help you easily write commonly used
103103

104104
Snippets appear in [Shortcut keys of IDE style IntelliSense](#ide-style-intellisense) mixed with other suggestions. The code snippet contents align with the code cell language. You can see available snippets by typing **Snippet**. You can also type any keyword to see a list of relevant snippets. For example, if you type **read**, you see the list of snippets to read data from various data sources.
105105

106-
:::image type="content" border="true" source="media/author-execute-notebook/code-snippet.gif" alt-text="Animated GIF of code snippets.":::
106+
:::image type="content" border="true" source="media/author-execute-notebook/code-snippet.gif" alt-text="Animated GIF of code snippets." lightbox="media/author-execute-notebook/code-snippet.gif":::
107107

108108
### Drag and drop to insert snippets
109109

110110
Use drag and drop to read data from Lakehouse explorer conveniently. Multiple file types are supported here; you can operate on text files, tables, images, etc. You can either drop to an existing cell or to a new cell. The notebook generates the code snippet accordingly to preview the data.
111111

112-
:::image type="content" border="true" source="media/author-execute-notebook/drag-drop-insert-snippet.gif" alt-text="Animated GIF of drag and drop to insert snippets.":::
112+
:::image type="content" border="true" source="media/author-execute-notebook/drag-drop-insert-snippet.gif" alt-text="Animated GIF of drag and drop to insert snippets." lightbox="media/author-execute-notebook/drag-drop-insert-snippet.gif":::
113113

114114
### Drag and drop to insert images
115115

116116
Use drag and drop to easily insert images from your browser or local computer to a markdown cell.
117117

118-
:::image type="content" border="true" source="media/author-execute-notebook/drag-drop-insert-image.gif" alt-text="Animated GIF of drag and drop to insert images.":::
118+
:::image type="content" border="true" source="media/author-execute-notebook/drag-drop-insert-image.gif" alt-text="Animated GIF of drag and drop to insert images." lightbox="media/author-execute-notebook/drag-drop-insert-image.gif":::
119119

120120
### Format text cell with toolbar buttons
121121

@@ -143,8 +143,6 @@ Supported undo cell operations:
143143

144144
You can drag from the empty part of a cell and drop it to the desired position.
145145

146-
<!-- :::image type="content" border="true" source="media/author-execute-notebook/drag-drop-move-cell.gif" alt-text="Animated GIF of drag and drop to move a cell."::: -->
147-
148146
You can also move the selected cell using **Move up** and **Move down** on the ribbon.
149147

150148
:::image type="content" source="media\author-execute-notebook\move-cell-options.png" alt-text="Screenshot showing the options for moving a cell." lightbox="media\author-execute-notebook\move-cell-options.png":::
@@ -159,7 +157,6 @@ You can also use [shortcut keys in command mode](#shortcut-keys-in-command-mode)
159157

160158
Select the **More commands** ellipses (...) on the cell toolbar and **Hide input** to collapse the current cell's input. To expand it again, select **Show input** when the cell is collapsed.
161159

162-
<!-- :::image type="content" border="true" source="media/author-execute-notebook/collapse-cell-input.gif" alt-text="Animated GIF of collapsing cell input."::: -->
163160

164161
### Collapse a cell output
165162

@@ -176,7 +173,7 @@ You can use [OneLake data access roles (preview)](../onelake/security/get-starte
176173

177174
The lock and freeze cell operations allow you to make cells read-only or stop code cells from being run on an individual basis.
178175

179-
:::image type="content" border="true" source="media/author-execute-notebook/lock-and-freeze-cell.gif" alt-text="Animated GIF of lock or freeze a cell.":::
176+
:::image type="content" border="true" source="media/author-execute-notebook/lock-and-freeze-cell.gif" alt-text="Animated GIF of lock or freeze a cell." lightbox="media/author-execute-notebook/lock-and-freeze-cell.gif":::
180177

181178
### Merge and split cells
182179

@@ -196,7 +193,7 @@ Selecting Outlines or Table of Contents presents the first markdown header of an
196193

197194
The markdown folding option allows you to hide cells under a markdown cell that contains a heading. The markdown cell and its hidden cells are treated the same as a set of contiguous multi-selected cells when performing cell operations.
198195

199-
:::image type="content" border="true" source="media/author-execute-notebook/markdown-folding.gif" alt-text="Animated GIF of markdown folding.":::
196+
:::image type="content" border="true" source="media/author-execute-notebook/markdown-folding.gif" alt-text="Animated GIF of markdown folding." lightbox="media/author-execute-notebook/markdown-folding.gif":::
200197

201198
### Find and replace
202199

@@ -217,11 +214,13 @@ Copilot inline code completion is an AI-powered feature that helps you to write
217214

218215
### How it works
219216

220-
Enable inline code suggestions using the toggle at the bottom of your notebook. As you type, suggestions appear in light gray text, press tab to accept or modify. Suggestions are based on previous notebook cells.
217+
Enable inline code suggestions using the toggle at the bottom of your notebook.
218+
219+
:::image type="content" source="media\author-execute-notebook\copilot-inline-code.png" alt-text="Screenshot showing how to enable Copilot code completions." lightbox="media\author-execute-notebook\copilot-inline-code.png":::
221220

222-
:::image type="content" source="media\author-execute-notebook\copilot-inline-code.png" alt-text="Screenshot showing how to enable Copilot code completions.":::
221+
As you type, suggestions appear in light gray text, press tab to accept or modify. Suggestions are based on previous notebook cells.
223222

224-
:::image type="content" source="media\author-execute-notebook\copilot-code-suggestion.png" alt-text="Screenshot showing automatic code suggestion with Copilot code completion.":::
223+
:::image type="content" source="media\author-execute-notebook\copilot-code-suggestion.png" alt-text="Screenshot showing automatic code suggestion with Copilot code completion." lightbox="media\author-execute-notebook\copilot-code-suggestion.png":::
225224

226225
> [!NOTE]
227226
> Enabling Copilot inline code completion consumes more [capacity units](../enterprise/fabric-copilot-capacity.md).
@@ -336,11 +335,11 @@ A step-by-step cell execution status is displayed beneath the cell to help you s
336335

337336
In the bottom left corner, you can select on the session status to get more information about the current session:
338337

339-
![Screenshot that shows Session Information.](./media/author-execute-notebook/session-info.png)
338+
:::image type="content" source="media/author-execute-notebook/session-info.png" alt-text="Screenshot that shows Session Information." lightbox="media/author-execute-notebook/session-info.png":::
340339

341340
In the pop-up, there's an option to reset the timeout to x minutes or hours.
342341

343-
![Screenshot that shows Session timeout.](./media/author-execute-notebook/session-timeout.png)
342+
:::image type="content" source="media/author-execute-notebook/session-timeout.png" alt-text="Screenshot that shows Session timeout." lightbox="media/author-execute-notebook/session-timeout.png":::
344343

345344
Take your pick in how long you want an uninterrupted session, and hit apply. The session timeout resets itself with the new value and you're good to go!
346345

0 commit comments

Comments
 (0)