다음을 통해 공유


게이트웨이 지원 처리

연결 테스트

사용자 지정 커넥트or 지원은 온-프레미스 데이터 게이트웨이개인 및 표준 모드에서 모두 사용할 수 있습니다. 두 게이트웨이 모드 모두 가져오기를 지원합니다. 직접 쿼리 는 표준 모드에서만 지원됩니다. 게이트웨이를 통한 사용자 지정 커넥터에 대한 OAuth는 현재 게이트웨이 관리자만 지원되지만 다른 데이터 원본 사용자는 지원되지 않습니다.

Power BI 사용자 지정 데이터 커넥트or 기능이 미리 보기 상태인 동안 테스트커넥트ion 기능을 구현하는 방법은 변경됩니다.

온-프레미스 데이터 게이트웨이를 통해 예약된 새로 고침을 지원하려면 커넥터가 Test커넥트ion 처리기를 구현해야 합니다. 이 함수는 사용자가 원본에 대한 자격 증명을 구성할 때 호출되며 유효한지 확인하는 데 사용됩니다. Test커넥트ion 처리기는 데이터 원본 종류 레코드에 설정되며 다음 서명이 있습니다.

(dataSourcePath) as list => ...

함수의 데이터 원본 경로 값은 어디에 dataSourcePath 있으며 반환 값은 다음으로 구성된 목록입니다.

  • 호출할 함수의 이름입니다(이 함수는 일반적으로 기본 데이터 원본 함수로 #shared표시되어야 합니다).
  • 함수에 전달할 하나 이상의 인수입니다.

함수를 호출하면 오류가 발생하면 Test커넥트ion이 실패한 것으로 간주되며 자격 증명이 유지되지 않습니다.

참고 항목

위에서 설명한 대로 Test커넥트ion에서 제공하는 함수 이름은 멤버여야 shared 합니다.

예: 필수 인수가 없는 커넥트or

아래 코드 조각은 필수 매개 변수가 없는 데이터 원본에 대한 Test커넥트ion을 구현합니다(예: TripPin 자습서에 있는 코드). 필수 매개 변수가 없는 커넥트('싱글톤'이라고 함)에는 사용자가 제공한 입력을 사용하여 연결을 테스트할 필요가 없습니다(자격 증명 이외의). 이 경우 값은 dataSourcePath 데이터 원본 종류의 이름과 같으며 무시될 수 있습니다. 함수는 TripPin.Contents 추가 매개 변수 없이 호출됩니다.

TripPin = [
    TestConnection = (dataSourcePath) => { "TripPin.Contents" },
    Authentication = [
        Anonymous = []
    ],
    Label = "TripPin"
];

예: URL 매개 변수가 있는 커넥트or

데이터 원본 함수에 형식 Uri.TypedataSourcePath 의 단일 필수 매개 변수가 있는 경우 해당 매개 변수는 사용자가 제공한 URL과 같습니다. 아래 코드 조각은 Github 샘플의 Test커넥트ion 구현을 보여줍니다.

GithubSample = [
    TestConnection = (dataSourcePath) => {"GithubSample.Contents", dataSourcePath},
    Authentication = [
        OAuth = [
            StartLogin = StartLogin,
            FinishLogin = FinishLogin,
            Label = Extension.LoadString("AuthenticationLabel")
        ]
    ]
];

예: 필수 매개 변수가 있는 커넥트or

데이터 원본 함수에 여러 매개 변수 또는 URL이 아닌 단일 매개 변수 dataSourcePath 가 있는 경우 값은 매개 변수를 포함하는 JSON 문자열이 됩니다. 아래 코드 조각은 DirectQueryForSQL 샘플에서 제공됩니다.

DirectSQL = [
    TestConnection = (dataSourcePath) =>
        let
            json = Json.Document(dataSourcePath),
            server = json[server],
            database = json[database]
        in
            { "DirectSQL.Database", server, database },
    Authentication = [
        Windows = [],
        UsernamePassword = []
    ],
    Label = "Direct Query for SQL"
];