แชร์ผ่าน


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

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

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

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

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

(dataSourcePath) as list => ...

ค่าเส้นทางแหล่งข้อมูลสําหรับฟังก์ชันของคุณอยู่ที่ไหน dataSourcePath และค่าที่ส่งคืนคือรายการที่ประกอบด้วย:

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

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

Note

ตามที่ระบุไว้ข้างต้นชื่อฟังก์ชันที่ 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"
];