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/data-factory/connector-rest.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -148,7 +148,7 @@ Set the **authenticationType** property to **AadServicePrincipal**. In addition
148
148
| servicePrincipalEmbeddedCertPassword | Specify the password of your certificate if your certificate is secured with a password. Mark this field as a **SecureString** to store it securely, or [reference a secret stored in Azure Key Vault](store-credentials-in-key-vault.md). | No |
149
149
||||
150
150
| tenant | Specify the tenant information (domain name or tenant ID) under which your application resides. Retrieve it by hovering the mouse in the top-right corner of the Azure portal. | Yes |
151
-
| aadResourceId | Specify the Microsoft Entra resource you are requesting for authorization, for example, `https://management.core.windows.net`.| Yes |
151
+
| aadResourceId | Specify the Microsoft Entra resource you're requesting for authorization, for example, `https://management.core.windows.net`.| Yes |
152
152
| azureCloudType | For Service Principal authentication, specify the type of Azure cloud environment to which your Microsoft Entra application is registered. <br/> Allowed values are **AzurePublic**, **AzureChina**, **AzureUsGovernment**, and **AzureGermany**. By default, the data factory's cloud environment is used. | No |
153
153
154
154
**Example 1: Using service principal key authentication**
@@ -272,7 +272,7 @@ Set the **authenticationType** property to **ManagedServiceIdentity**. In additi
272
272
273
273
| Property | Description | Required |
274
274
|:--- |:--- |:--- |
275
-
| aadResourceId | Specify the Microsoft Entra resource you are requesting for authorization, for example, `https://management.core.windows.net`.| Yes |
275
+
| aadResourceId | Specify the Microsoft Entra resource you're requesting for authorization, for example, `https://management.core.windows.net`.| Yes |
276
276
277
277
**Example**
278
278
@@ -299,7 +299,7 @@ Set the **authenticationType** property to **ManagedServiceIdentity**. In additi
299
299
300
300
| Property | Description | Required |
301
301
|:--- |:--- |:--- |
302
-
| aadResourceId | Specify the Microsoft Entra resource you are requesting for authorization, for example, `https://management.core.windows.net`.| Yes |
302
+
| aadResourceId | Specify the Microsoft Entra resource you're requesting for authorization, for example, `https://management.core.windows.net`.| Yes |
303
303
| credentials | Specify the user-assigned managed identity as the credential object. | Yes |
304
304
305
305
@@ -369,7 +369,7 @@ To copy data from REST, the following properties are supported:
369
369
| type | The **type** property of the dataset must be set to **RestResource**. | Yes |
370
370
| relativeUrl | A relative URL to the resource that contains the data. When this property isn't specified, only the URL that's specified in the linked service definition is used. The HTTP connector copies data from the combined URL: `[URL specified in linked service]/[relative URL specified in dataset]`. | No |
371
371
372
-
If you were setting `requestMethod`, `additionalHeaders`, `requestBody` and `paginationRules` in dataset, it is still supported as-is, while you are suggested to use the new model in activity going forward.
372
+
If you were setting `requestMethod`, `additionalHeaders`, `requestBody` and `paginationRules` in dataset, it's still supported as-is, while you're suggested to use the new model in activity going forward.
373
373
374
374
**Example:**
375
375
@@ -411,8 +411,8 @@ The following properties are supported in the copy activity **source** section:
411
411
| requestInterval | The time to wait before sending the request for next page. The default value is **00:00:01**| No |
412
412
413
413
>[!NOTE]
414
-
>REST connector ignores any "Accept" header specified in `additionalHeaders`. As REST connector only support response in JSON, it will auto generate a header of`Accept: application/json`. <br>
415
-
>The array of object as the response body is not supported in pagination.
414
+
>The REST connector ignores any "Accept" header specified in `additionalHeaders`. Since it only supports JSON responses, it automatically sets the header to`Accept: application/json`. <br>
415
+
>Pagination isn't supported for REST API responses where the top-level structure is a JSON array.
416
416
417
417
**Example 1: Using the Get method with pagination**
418
418
@@ -577,7 +577,7 @@ You can set the delete, insert, update, and upsert methods as well as the relati
577
577
578
578
## Sample data flow script
579
579
580
-
Notice the use of an alter row transformation prior to the sink to instruct ADF what type of action to take with your REST sink. I.e. insert, update, upsert, delete.
580
+
Notice the use of an alter row transformation prior to the sink to instruct ADF what type of action to take with your REST sink. That is, insert, update, upsert, delete.
581
581
582
582
```
583
583
AlterRow1 sink(allowSchemaDrift: true,
@@ -631,12 +631,12 @@ This generic REST connector supports the following pagination patterns:
631
631
| Value | Description |
632
632
|:--- |:--- |
633
633
| Headers.*response_header* OR Headers['response_header']| "response_header" is user-defined, which references one header name in the current HTTP response, the value of which will be used to issue next request. |
634
-
| A JSONPath expression starting with "$" (representing the root of the response body) | The response body should contain only one JSON object and the array of object as the response body is not supported. The JSONPath expression should return a single primitive value, which will be used to issue next request. |
634
+
| A JSONPath expression starting with "$" (representing the root of the response body) | The response body should contain only one JSON object and the array of object as the response body isn't supported. The JSONPath expression should return a single primitive value, which will be used to issue next request. |
635
635
636
636
>[!NOTE]
637
637
> The pagination rules in mapping data flows is different from it in copy activity in the following aspects:
638
-
>1. Range is not supported in mapping data flows.
639
-
>2.`['']`is not supported in mapping data flows. Instead, use `{}` to escape special character. For example, `body.{@odata.nextLink}`, whose JSON node `@odata.nextLink` contains special character `.` .
638
+
>1. Range isn't supported in mapping data flows.
639
+
>2.`['']`isn't supported in mapping data flows. Instead, use `{}` to escape special character. For example, `body.{@odata.nextLink}`, whose JSON node `@odata.nextLink` contains special character `.` .
640
640
>3. The end condition is supported in mapping data flows, but the condition syntax is different from it in copy activity. `body` is used to indicate the response body instead of `$`. `header` is used to indicate the response header instead of `headers`. Here are two examples showing this difference:
:::image type="content" source="media/connector-rest/pagination-rule-example-3.png" alt-text="Screenshot showing the pagination rule to send multiple requests whose variables are in Headers.":::
717
717
718
-
#### Example 4:Variables are in AbsoluteUrl/QueryParameters/Headers, the end variable is not pre-defined and the end condition is based on the response
718
+
#### Example 4:Variables are in AbsoluteUrl/QueryParameters/Headers, the end variable isn't predefined and the end condition is based on the response
719
719
720
-
This example provides configuration steps to send multiple requests whose variables are in AbsoluteUrl/QueryParameters/Headers but the end variable is not defined. For different responses, different end condition rule settings are shown in Example 4.1-4.6.
720
+
This example provides configuration steps to send multiple requests whose variables are in AbsoluteUrl/QueryParameters/Headers but the end variable isn't defined. For different responses, different end condition rule settings are shown in Example 4.1-4.6.
721
721
722
722
**Multiple requests:**
723
723
@@ -780,7 +780,7 @@ Response 2:
780
780
```json
781
781
{}
782
782
```
783
-
Set the end condition rule as **"EndCondition:$.data": "NonExist"** to end the pagination when the value of the specific node in response does not exist.
783
+
Set the end condition rule as **"EndCondition:$.data": "NonExist"** to end the pagination when the value of the specific node in response doesn't exist.
784
784
785
785
:::image type="content" source="media/connector-rest/pagination-rule-example-4-2.png" alt-text="Screenshot showing the End Condition setting for Example 4.2.":::
786
786
@@ -860,9 +860,9 @@ Response 2:
860
860
861
861
:::image type="content" source="media/connector-rest/pagination-rule-example-4-6.png" alt-text="Screenshot showing the End Condition setting for Example 4.6.":::
862
862
863
-
#### Example 5:Set end condition to avoid endless requests when range rule is not defined
863
+
#### Example 5:Set end condition to avoid endless requests when range rule isn't defined
864
864
865
-
This example provides the configuration steps to send multiple requests when the range rule is not used. The end condition can be set refer to Example 4.1-4.6 to avoid endless requests. The REST API returns response in the following structure, in which case next page's URL is represented in ***paging.next***.
865
+
This example provides the configuration steps to send multiple requests when the range rule isn't used. The end condition can be set refer to Example 4.1-4.6 to avoid endless requests. The REST API returns response in the following structure, in which case next page's URL is represented in ***paging.next***.
866
866
867
867
```json
868
868
{
@@ -985,7 +985,7 @@ The pagination rule syntax is the same as in Example 8 and should be set as belo
985
985
986
986
## Export JSON response as-is
987
987
988
-
You can use this REST connector to export REST API JSON response as-is to various file-based stores. To achieve such schema-agnostic copy, skip the "structure" (also called *schema*) section in dataset and schema mapping in copy activity.
988
+
You can use the REST connector to export a REST API's JSON response as-is to various file-based storage systems (sinks). To enable this schema-agnostic copy behavior, use default schema mapping (don’t define any mapping in the Copy Activity's Mapping tab.)
0 commit comments