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

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

ทั้งโหมดส่วนบุคคลและโหมดมาตรฐานของ เกตเวย์ข้อมูลภายในองค์กร รองรับตัวเชื่อมต่อแบบกําหนดเอง

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

เมื่อต้องการสนับสนุนการรีเฟรชตามกําหนดการผ่านเกตเวย์ข้อมูลภายในองค์กร ตัวเชื่อมต่อของคุณ ต้องใช้ ตัวจัดการ 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"
];