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: docs/data-engineering/api-graphql-azure-api-management.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,21 +22,21 @@ For this section, we assume that you have a GraphQL API in Fabric and APIM insta
22
22
23
23
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:
24
24
25
-

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":::
26
26
27
27
Now navigate to your API Management instance in the Azure portal and select **APIs** > **+ Add API**.
28
28
29
29
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:
30
30
31
-
[](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":::
32
32
33
33
## Using managed identities with APIM and API for GraphQL in Fabric
34
34
35
35
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.
36
36
37
37
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:
38
38
39
-

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":::
40
40
41
41
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).
42
42
@@ -58,7 +58,7 @@ Make sure to replace the client ID in the snippet above with your managed identi
58
58
59
59
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:
60
60
61
-
[](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":::
62
62
63
63
Testing the successful connection between APIM and Fabric GraphQL
64
64
@@ -112,7 +112,7 @@ APIs and operations in API Management can be configured with response caching. R
112
112
113
113
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:
114
114
115
-
[](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":::
116
116
117
117
For advanced caching scenarios, please refer to the [APIM documentation](/azure/api-management/api-management-howto-cache) on caching.
Copy file name to clipboardExpand all lines: docs/data-engineering/api-graphql-introspection-schema-export.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,13 +22,13 @@ The Fabric API for GraphQL provides two mechanisms to retrieve information about
22
22
23
23
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:
24
24
25
-

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":::
26
26
27
-

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":::
28
28
29
29
If you enable introspection, the following confirmation dialog is displayed:
30
30
31
-

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":::
32
32
33
33
Select **confirm** to enable introspection or **cancel** to leave it disabled.
34
34
@@ -46,7 +46,7 @@ query {
46
46
}
47
47
```
48
48
49
-

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":::
50
50
51
51
The information retrieved by introspection queries is verbose. You can use query filters to narrow the scope of the query.
52
52
@@ -56,7 +56,7 @@ To learn more about introspection, see the [GraphQL Foundation's official docume
56
56
57
57
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).
58
58
59
-

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":::
Copy file name to clipboardExpand all lines: docs/data-engineering/api-graphql-local-model-context-protocol.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
@@ -259,7 +259,7 @@ This will return a list of all types in your GraphQL schema.
259
259
```
260
260
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:
261
261
262
-
[](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":::
Copy file name to clipboardExpand all lines: docs/data-engineering/api-graphql-performance.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
@@ -32,7 +32,7 @@ You can find your tenant region with the following steps:
32
32
1. From **Workspace settings**, go to **License info**.
33
33
1. You can find your capacity region information under **License capacity**.
34
34
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":::
Copy file name to clipboardExpand all lines: docs/data-engineering/api-graphql-pricing.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
@@ -28,7 +28,7 @@ Resolver executions triggered by requests to API for GraphQL consume Fabric Capa
28
28
29
29
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".
30
30
31
-

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":::
Copy file name to clipboardExpand all lines: docs/data-engineering/api-graphql-service-principal.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
@@ -21,7 +21,7 @@ Follow the steps in the [connect applications](connect-apps-api-graphql.md) sect
21
21
22
22
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.
23
23
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":::
25
25
26
26
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.
Copy file name to clipboardExpand all lines: docs/data-engineering/api-graphql-stored-procedures.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -121,7 +121,7 @@ Creating an API from your SQL table is fast, easy, and straightforward. You just
121
121
122
122
Next select the **SalesLT** tables in your database and the stored procedure we just created, then click **Load**:
123
123
124
-

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":::
125
125
126
126
The GraphQL API, schema, and all resolvers are automatically generated in seconds based on the SQL tables and stored procedure.
127
127
@@ -148,7 +148,7 @@ ProductID
148
148
}
149
149
```
150
150
151
-

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":::
Copy file name to clipboardExpand all lines: docs/data-engineering/author-execute-notebook.md
+12-13Lines changed: 12 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -103,19 +103,19 @@ Fabric notebooks provide code snippets that help you easily write commonly used
103
103
104
104
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.
105
105
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":::
107
107
108
108
### Drag and drop to insert snippets
109
109
110
110
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.
111
111
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":::
113
113
114
114
### Drag and drop to insert images
115
115
116
116
Use drag and drop to easily insert images from your browser or local computer to a markdown cell.
117
117
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":::
You can drag from the empty part of a cell and drop it to the desired position.
145
145
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
-
148
146
You can also move the selected cell using **Move up** and **Move down** on the ribbon.
149
147
150
148
:::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)
159
157
160
158
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.
@@ -176,7 +173,7 @@ You can use [OneLake data access roles (preview)](../onelake/security/get-starte
176
173
177
174
The lock and freeze cell operations allow you to make cells read-only or stop code cells from being run on an individual basis.
178
175
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":::
180
177
181
178
### Merge and split cells
182
179
@@ -196,7 +193,7 @@ Selecting Outlines or Table of Contents presents the first markdown header of an
196
193
197
194
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.
198
195
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":::
200
197
201
198
### Find and replace
202
199
@@ -217,11 +214,13 @@ Copilot inline code completion is an AI-powered feature that helps you to write
217
214
218
215
### How it works
219
216
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":::
221
220
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.
> 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
336
335
337
336
In the bottom left corner, you can select on the session status to get more information about the current session:
338
337
339
-

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":::
340
339
341
340
In the pop-up, there's an option to reset the timeout to x minutes or hours.
342
341
343
-

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":::
344
343
345
344
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!
0 commit comments