개체의 커넥터 메서드를 dataApi 사용하여 페이지에 바인딩된 Power Platform 커넥터에 의해 노출되는 데이터를 사용합니다.
비고
커넥터 메서드는 공유 dataApi 계약에서 선택 사항입니다. 일부 호스트는 구현하지 않으므로 메서드를 호출하기 전에 메서드가 있는지 확인합니다. 존재하는 메서드가 페이지에 연결된 커넥터가 있거나 연결, 데이터 세트, 테이블 또는 작업이 예상대로 구성, 권한 부여 또는 허용되었음을 의미하지는 않습니다.
작업 및 함수 메서드와 달리 커넥터 메서드는 호출이 실패할 때 반환된 약속을 거부합니다. 예를 들어 연결 참조를 확인할 수 없거나, 연결 권한이 부여되지 않고, 사용자가 동의 프롬프트를 완료하지 않거나, 커넥터가 오류 상태를 반환합니다.
executeConnectorOperation
ok: false 는 대부분의 오류 상태를 확인하지만 누락된 작업, 완료된 동의 없이 무단 연결(403) 또는 전송 실패를 거부합니다. 에서 try/catch커넥터 호출 래핑
| 메서드 | Description |
|---|---|
createConnectorRow |
지정된 커넥터 테이블에 새 행을 만듭니다. |
deleteConnectorRow |
지정된 커넥터 테이블에서 행을 삭제합니다. |
executeConnectorOperation |
rest(operation-keyed) 커넥터에 의해 노출되는 명명된 작업(예: Office 365 사용자)을 호출합니다. |
getConnectorSwagger |
커넥터에 대한 Swagger(OpenAPI) 정의를 검색합니다. |
getConnectorTableSchema |
커넥터에서 노출하는 테이블(엔터티 또는 목록이라고도 함)에 대한 스키마를 검색합니다. |
listConnectorDatasets |
커넥터에 사용할 수 있는 데이터 세트를 나열합니다. |
listConnectorOperations |
REST(operation-keyed) 커넥터에 의해 노출되는 작업을 나열합니다. |
listConnectorTables |
지정된 커넥터 데이터 세트에서 사용할 수 있는 테이블을 나열합니다. |
queryConnectorTable |
지정된 옵션을 사용하여 커넥터에 의해 노출되는 테이블을 쿼리합니다. |
retrieveConnectorRow |
지정된 커넥터 테이블에서 단일 행을 검색합니다. |
updateConnectorRow |
지정된 커넥터 테이블의 기존 행을 업데이트합니다. |
queryConnectorTable 메서드
지정된 옵션을 사용하여 커넥터에 의해 노출되는 테이블을 쿼리합니다.
Parameters
이러한 필수 매개 변수에 대한 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorLogicalName |
string |
페이지에 바인딩된 연결 참조의 논리적 이름입니다(예: sp_shared_sharepointonline). |
dataset |
string |
SharePoint 사이트 URL과 같이 테이블을 포함하는 데이터 세트입니다. |
tableName |
string |
에서 반환listConnectorTables한 속성의 name 테이블 내부 이름입니다. 표시 이름을 사용하지 마세요. |
options |
QueryConnectorTableOptions | 테이블을 쿼리하는 옵션입니다. |
QueryConnectorTableOptions
| Name | Type | Description |
|---|---|---|
select |
string[] |
(권장) 검색할 열 이름의 배열입니다. |
filter |
string |
(선택 사항) 커넥터에서 지원하는 필터 식입니다. |
orderBy |
string |
(선택 사항) 커넥터에서 지원하는 순서별 식입니다. |
top |
number |
(선택 사항) 반환할 최대 행 수입니다. |
Returns
작업 결과를 포함하는 프라미스 입니다. 작업이 성공하면 promise는 다음과 같은 속성이 포함된 결과가 포함된 데이터 테이블이 포함된 개체를 반환합니다.
| Name | Type | Description |
|---|---|---|
rows |
Object[] |
행 데이터의 배열입니다. |
hasMoreRows |
boolean |
사용할 수 있는 행이 더 있는지를 나타냅니다. |
queryConnectorTable 는 결과의 단일 페이지를 반환합니다. 연속 함수를 반환하지 않으며 현재 다음 페이지를 가져올 수 있는 방법이 없습니다. 이 경우 hasMoreRowstrue반환된 행보다 더 많은 행이 일치합니다. 쿼리 filter범위를 좁히거나 결과가 불완전하다는 것을 사용자에게 알릴 수 있습니다.
queryConnectorTable 예제
if (!dataApi.listConnectorTables || !dataApi.queryConnectorTable) {
throw new Error("Connector methods aren't available on this page.");
}
const tables = await dataApi.listConnectorTables(
"sp_shared_sharepointonline",
"https://contoso.sharepoint.com/sites/Marketing"
);
const documentsTable = tables.find((table) => table.displayName === "Documents");
if (!documentsTable) {
throw new Error("The Documents table wasn't found in this dataset.");
}
const documentsTableName = documentsTable.name;
const result = await dataApi.queryConnectorTable(
"sp_shared_sharepointonline",
"https://contoso.sharepoint.com/sites/Marketing",
documentsTableName,
{
select: ["Title", "Modified"],
top: 50,
}
);
다음 예제에서는 위와 같이 테이블의 name 원본listConnectorTables을 보유하는 것으로 가정 documentsTableName 합니다.
listConnectorTables 메서드
지정된 커넥터 데이터 세트에서 사용할 수 있는 테이블(목록 또는 엔터티)을 나열합니다.
Parameters
이러한 필수 매개 변수에 대한 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorLogicalName |
string |
페이지에 바인딩된 연결 참조의 논리적 이름입니다. |
dataset |
string |
테이블을 나열할 데이터 세트입니다. |
Returns
테이블 정보의 배열을 포함하는 프라미스 입니다. 각 항목에는 다음과 같은 속성이 있습니다.
| Name | Type | Description |
|---|---|---|
name |
string |
테이블의 내부 이름입니다. |
displayName |
string |
테이블의 표시 이름입니다. |
listConnectorTables 예제
const tables = await dataApi.listConnectorTables?.(
"sp_shared_sharepointonline",
"https://contoso.sharepoint.com/sites/Marketing"
);
listConnectorDatasets 메서드
연결에서 액세스할 수 있는 SharePoint 사이트와 같이 커넥터에 사용할 수 있는 데이터 세트를 나열합니다.
Parameters
이 필수 매개 변수의 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorLogicalName |
string |
페이지에 바인딩된 연결 참조의 논리적 이름입니다. |
Returns
데이터 세트 정보의 배열을 포함하는 프라미스 입니다. 각 항목에는 다음과 같은 속성이 있습니다.
| Name | Type | Description |
|---|---|---|
name |
string |
데이터 세트의 내부 이름 또는 식별자입니다. |
displayName |
string |
데이터 세트의 표시 이름입니다. |
listConnectorDatasets 예제
const datasets = await dataApi.listConnectorDatasets?.("sp_shared_sharepointonline");
listConnectorOperations 메서드
내부로 표시된 작업을 제외하고 커넥터의 Swagger 정의에 정의된 작업을 표시 이름으로 정렬합니다. 이 메서드는 Office 365 사용자 같은 REST(작업 키) 커넥터에 가장 유용합니다. 테이블 형식 커넥터의 경우 이 메서드가 나열하는 작업 대신 쿼리 및 행 메서드를 사용합니다.
Parameters
이 필수 매개 변수의 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorLogicalName |
string |
페이지에 바인딩된 연결 참조의 논리적 이름입니다. |
Returns
작업 정보의 배열을 포함하는 프라미스 입니다. 각 항목에는 다음과 같은 속성이 있습니다.
| Name | Type | Description |
|---|---|---|
name |
string |
커넥터의 Swagger 정의에 정의된 작업 ID입니다. 이 값을 .에 전달합니다 executeConnectorOperation. |
displayName |
string |
Swagger 요약과 같이 사람이 읽을 수 있는 표시 작업 이름입니다. 요약이 name 정의되지 않은 경우 뒤로 돌아갑니다. |
listConnectorOperations 예제
const operations = await dataApi.listConnectorOperations?.("sp_shared_sharepointonline");
getConnectorSwagger 메서드
커넥터에 대한 Swagger(OpenAPI) 정의를 검색합니다. 이 정의는 커넥터가 노출하는 작업을 설명합니다. 반환된 문서에서는 커넥터 전체에 대해 설명합니다. 테이블 형식 커넥터에 대한 테이블별 열 스키마는 포함되지 않습니다. 해당 정보에 사용합니다 getConnectorTableSchema .
Parameters
이 필수 매개 변수의 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorApiId |
string |
커넥터 API 식별자(예: /providers/Microsoft.PowerApps/apis/shared_sharepointonline. 이 식별자는 대부분의 다른 커넥터 메서드에서 사용하는 연결 참조 논리 이름(connectorLogicalName)과 다릅니다. |
Returns
커넥터의 Swagger 정의를 개체로 포함하는 프라미스 입니다.
getConnectorSwagger 예제
if (!dataApi.getConnectorSwagger) {
throw new Error("getConnectorSwagger isn't available on this page.");
}
const swagger = await dataApi.getConnectorSwagger(
"/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
);
getConnectorTableSchema 메서드
커넥터에서 노출하는 테이블에 대한 스키마(열 정의)를 검색합니다. 커넥터는 반환하는 스키마를 정의하며 커넥터에 따라 다릅니다. 테이블에 포함될 수 있는 모든 동적 열이 포함되어 있다고 가정하지 마세요.
Parameters
이러한 필수 매개 변수에 대한 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorLogicalName |
string |
페이지에 바인딩된 연결 참조의 논리적 이름입니다. |
dataset |
string |
테이블을 포함하는 데이터 세트입니다. |
tableName |
string |
에서 반환listConnectorTables한 속성의 name 테이블 내부 이름입니다. 표시 이름을 사용하지 마세요. |
Returns
테이블의 스키마를 개체로 포함하는 프라미스 입니다.
getConnectorTableSchema 예제
if (!dataApi.getConnectorTableSchema) {
throw new Error("getConnectorTableSchema isn't available on this page.");
}
const schema = await dataApi.getConnectorTableSchema(
"sp_shared_sharepointonline",
"https://contoso.sharepoint.com/sites/Marketing",
documentsTableName // from listConnectorTables
);
retrieveConnectorRow 메서드
지정된 커넥터 테이블에서 단일 행을 검색합니다.
Parameters
이러한 필수 매개 변수에 대한 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorLogicalName |
string |
페이지에 바인딩된 연결 참조의 논리적 이름입니다. |
dataset |
string |
테이블을 포함하는 데이터 세트입니다. |
tableName |
string |
에서 반환listConnectorTables한 속성의 name 테이블 내부 이름입니다. 표시 이름을 사용하지 마세요. |
id |
string |
검색할 행의 ID입니다. |
options |
RetrieveConnectorRowOptions | (선택 사항) 행을 검색하는 옵션입니다. |
RetrieveConnectorRowOptions
| Name | Type | Description |
|---|---|---|
select |
string[] |
(권장) 검색할 열 이름의 배열입니다. 생략하면 프로젝션이 전송되지 않습니다 $select . 커넥터는 반환할 열을 결정하며 행의 모든 열을 반환하지 않습니다. |
Returns
행 데이터가 포함된 프라미스 입니다.
retrieveConnectorRow 예제
if (!dataApi.retrieveConnectorRow) {
throw new Error("retrieveConnectorRow isn't available on this page.");
}
const row = await dataApi.retrieveConnectorRow(
"sp_shared_sharepointonline",
"https://contoso.sharepoint.com/sites/Marketing",
documentsTableName, // from listConnectorTables
"1"
);
createConnectorRow 메서드
지정된 커넥터 테이블에 새 행을 만듭니다.
Parameters
이러한 필수 매개 변수에 대한 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorLogicalName |
string |
페이지에 바인딩된 연결 참조의 논리적 이름입니다. |
dataset |
string |
테이블을 포함하는 데이터 세트입니다. |
tableName |
string |
에서 반환listConnectorTables한 속성의 name 테이블 내부 이름입니다. 표시 이름을 사용하지 마세요. |
row |
object |
만들 행 데이터입니다. |
Returns
커넥터에서 반환한 응답 본문(있는 경우)을 포함하는 프라미스 입니다. 커넥터에 따라 이 값은 생성된 행, 부분 행 또는 값이 될 수 없습니다.
createConnectorRow 예제
if (!dataApi.createConnectorRow) {
throw new Error("createConnectorRow isn't available on this page.");
}
const newRow = await dataApi.createConnectorRow(
"sp_shared_sharepointonline",
"https://contoso.sharepoint.com/sites/Marketing",
documentsTableName, // from listConnectorTables
{ Title: "New document" }
);
updateConnectorRow 메서드
지정된 커넥터 테이블의 기존 행을 업데이트합니다.
Parameters
이러한 필수 매개 변수에 대한 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorLogicalName |
string |
페이지에 바인딩된 연결 참조의 논리적 이름입니다. |
dataset |
string |
테이블을 포함하는 데이터 세트입니다. |
tableName |
string |
에서 반환listConnectorTables한 속성의 name 테이블 내부 이름입니다. 표시 이름을 사용하지 마세요. |
id |
string |
업데이트할 행의 ID입니다. |
row |
object |
업데이트할 행 데이터입니다. |
Returns
커넥터에서 반환한 응답 본문(있는 경우)을 포함하는 프라미스 입니다. 커넥터에 따라 이 값은 업데이트된 행, 부분 행 또는 값이 될 수 없습니다. 행의 현재 값을 읽으려면 .를 호출 retrieveConnectorRow합니다.
updateConnectorRow 예제
if (!dataApi.updateConnectorRow) {
throw new Error("updateConnectorRow isn't available on this page.");
}
const updatedRow = await dataApi.updateConnectorRow(
"sp_shared_sharepointonline",
"https://contoso.sharepoint.com/sites/Marketing",
documentsTableName, // from listConnectorTables
"1",
{ Title: "Updated title" }
);
deleteConnectorRow 메서드
지정된 커넥터 테이블에서 행을 삭제합니다.
Parameters
이러한 필수 매개 변수에 대한 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorLogicalName |
string |
페이지에 바인딩된 연결 참조의 논리적 이름입니다. |
dataset |
string |
테이블을 포함하는 데이터 세트입니다. |
tableName |
string |
에서 반환listConnectorTables한 속성의 name 테이블 내부 이름입니다. 표시 이름을 사용하지 마세요. |
id |
string |
삭제할 행의 ID입니다. |
Returns
작업 결과를 포함하는 프라미스 입니다. 작업이 성공하면 값을 반환하지 않습니다.
deleteConnectorRow 예제
if (!dataApi.deleteConnectorRow) {
throw new Error("deleteConnectorRow isn't available on this page.");
}
await dataApi.deleteConnectorRow(
"sp_shared_sharepointonline",
"https://contoso.sharepoint.com/sites/Marketing",
documentsTableName, // from listConnectorTables
"1"
);
executeConnectorOperation 메서드
REST(operation-keyed) 커넥터(예: HTTP, Teams 송신 메시지 또는 Office 365 사용자)에서 노출되는 명명된 작업을 호출합니다. 테이블 형식 커넥터는 쿼리 및 행 CRUD 메서드를 대신 사용해야 합니다.
Parameters
이러한 필수 매개 변수에 대한 값을 설정합니다.
| Name | Type | Description |
|---|---|---|
connectorLogicalName |
string |
페이지에 바인딩된 연결 참조의 논리적 이름입니다. |
operationName |
string |
커넥터의 Swagger 정의에 정의된 작업 ID입니다. |
parameters |
object |
작업에 필요한 매개 변수입니다. 작업이 매개 변수를 사용하지 않는 경우 빈 개체({})를 전달합니다. 이 매개 변수는 보낼 것이 없는 경우에도 필요합니다. |
Returns
이러한 속성을 사용하여 작업 결과를 포함하는 프라미스 입니다. 연결 참조를 확인할 수 없거나, 커넥터의 Swagger 정의를 검색할 수 없거나, 작업을 찾을 수 없거나, 호출을 디스패치할 수 없거나, 연결에 권한이 부여되지 않고(HTTP 403) 사용자가 연결 동의 프롬프트를 완료하지 않으면 프라미스가 거부됩니다.
| Name | Type | Description |
|---|---|---|
ok |
boolean |
true 기본 HTTP 상태가 400보다 작은 경우 이 상태에는 리디렉션(3xx) 상태가 포함되므로 작업에서 데이터를 반환했다는 증거로 단독으로 처리 ok 하지 마세요. 또한 확인 status 하거나 검사합니다 body. |
status |
number |
커넥터에서 반환하는 원시 HTTP 상태 코드입니다. |
body |
unknown |
구문 분석된 JSON 응답 본문이거나 본문이 JSON이 아닌 경우 원시 문자열입니다. |
executeConnectorOperation 예제
다음 예제에서는 허용 및 destinationUrl 매개 변수를 사용하는 명명된 CopyFile 작업을 가정합니다sourceUrl. 사용 가능한 작업 및 해당 매개 변수는 커넥터에 따라 다르므로 사용하기 전에 커넥터의 자체 Swagger 정의에 대한 작업 ID 및 해당 매개 변수를 확인합니다(예 listConnectorOperationsgetConnectorSwagger: 사용 전 또는 사용).
if (!dataApi.executeConnectorOperation) {
throw new Error("executeConnectorOperation isn't available on this page.");
}
try {
const result = await dataApi.executeConnectorOperation(
"sp_shared_sharepointonline",
"CopyFile",
{ sourceUrl: "/sites/Marketing/Shared Documents/file.docx", destinationUrl: "/sites/Sales/Shared Documents/file.docx" }
);
if (result.ok) {
console.log(result.body);
}
else {
console.log(result.status);
}
}
catch (error) {
console.log(error);
}