การจัดการการสนับสนุนเกตเวย์

ทดสอบการเชื่อมต่อ

สนับสนุนตัวเชื่อมต่อแบบปรับแต่งเองพร้อมใช้งานทั้งโหมดส่วนบุคคล และมาตรฐานของเกตเวย์ข้อมูลภายในองค์กร ทั้งสองโหมดเกตเวย์สนับสนุน การนํา เข้า Direct Query รองรับเฉพาะในโหมดมาตรฐานเท่านั้น OAuth สำหรับตัวเชื่อมต่อแบบกำหนดเองผ่านเกตเวย์ได้รับการรองรับเฉพาะสำหรับผู้ดูแลเกตเวย์แต่ไม่ใช่แหล่งข้อมูลอื่นๆ ในขณะนี้

วิธีการในการใช้ฟังก์ชัน TestConnection มีแนวโน้มที่จะเปลี่ยนแปลงในขณะที่ฟังก์ชันตัวเชื่อมต่อข้อมูลแบบปรับแต่งเองของ Power BI อยู่ในตัวอย่าง

เพื่อสนับสนุนการรีเฟรชตามตารางเวลาผ่านเกตเวย์ข้อมูลภายในองค์กร ตัวเชื่อมต่อ ของคุณจะต้อง ใช้ตัวจัดการ TestConnection ฟังก์ชันจะถูกเรียกเมื่อผู้ใช้กําหนดค่าข้อมูลรับรองความถูกต้องของแหล่งข้อมูลของคุณ และใช้เพื่อให้แน่ใจว่าข้อมูลเหล่านั้นถูกต้อง ตัวจัดการ TestConnection ถูกตั้งค่าในเรกคอร์ด ชนิดแหล่งข้อมูล และมีลายเซ็นต่อไปนี้:

(dataSourcePath) as list => ...

dataSourcePathโดยที่ คือค่าเส้นทางของแหล่งข้อมูล (Data Source Path) ของฟังก์ชันคุณ และค่าที่ส่งกลับคือรายการที่ประกอบขึ้นของ:

  • ชื่อของฟังก์ชันในการเรียก (ฟังก์ชันนี้ต้องถูกเครื่องหมาย #shared เป็น และมักจะเป็นฟังก์ชันแหล่งข้อมูลหลักของคุณ)
  • อย่างน้อยหนึ่งอาร์กิวเมนต์เพื่อส่งผ่านไปยังฟังก์ชันของคุณ

ถ้าการเรียกฟังก์ชันให้ผลลัพธ์เป็นข้อผิดพลาด TestConnection จะถือว่าล้มเหลว และข้อมูลรับรองจะไม่สามารถยังคงอยู่ได้

หมายเหตุ

ตามที่ระบุไว้ด้านบน ชื่อฟังก์ชันที่ให้มาโดย TestConnection shared ต้องเป็นสมาชิก

ตัวอย่าง: ตัวเชื่อมต่อที่ไม่มีอาร์กิวเมนต์ที่ต้องใช้

ส่วนย่อยของโค้ดด้านล่างจะใช้งาน TestConnection ในแหล่งข้อมูลที่ไม่มีพารามิเตอร์ที่ต้องใช้ (เช่นในบทช่วยสอนTripPin) ตัวเชื่อมต่อที่ไม่มีพารามิเตอร์ที่ต้องใช้ (เรียกว่า 'Singletons') ไม่ต้องมีผู้ใช้ใด ๆ ที่ป้อนเพื่อทดสอบการเชื่อมต่อ (นอกเหนือจากข้อมูลรับรอง) ในกรณีนี้ ค่า dataSourcePath จะเท่ากับชื่อของชนิดแหล่งข้อมูล และสามารถละเว้นได้ TripPin.Contentsฟังก์ชันจะถูกเรียกใช้โดยไม่มีพารามิเตอร์เพิ่มเติม

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

ตัวอย่าง: ตัวเชื่อมกับพารามิเตอร์ URL

ถ้าฟังก์ชันแหล่งข้อมูลของคุณมีพารามิเตอร์ที่ต้องใช้ชนิด Uri.Type เดียว dataSourcePath จะเท่ากับ URL ที่ผู้ใช้ระบุ ส่วนย่อยด้านล่างแสดงการดําเนินการ TestConnection จากตัวอย่าง Github

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

ตัวอย่าง: ตัวเชื่อมต่อที่มีพารามิเตอร์ที่ต้องใช้

ถ้าฟังก์ชันแหล่งข้อมูลของคุณมีพารามิเตอร์หลายตัวหรือพารามิเตอร์ที่ไม่ใช่ 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"
];