พารามิเตอร์สําหรับ Data Factory ใน Microsoft Fabric
เอกสารนี้อธิบายวิธีการใช้พารามิเตอร์ในไปป์ไลน์ของคุณสําหรับ Data Factory ใน Fabric
วิธีใช้พารามิเตอร์ นิพจน์ และฟังก์ชันในไปป์ไลน์สําหรับ Data Factory ใน Fabric
ในเอกสารนี้ เรามุ่งเน้นที่การเรียนรู้แนวคิดพื้นฐานที่มีตัวอย่างต่าง ๆ เพื่อสํารวจความสามารถในการสร้างไปป์ไลน์ข้อมูลแบบพารามิเตอร์ภายใน Data Factory ใน Fabric การกําหนดพารามิเตอร์และนิพจน์แบบไดนามิกสามารถประหยัดเวลาได้มากและช่วยให้สามารถแยก แปลง, โหลด (ETL) หรือแยก, โหลด, แปลง (ELT) ได้อย่างมาก ซึ่งช่วยลดค่าใช้จ่ายในการบํารุงรักษาโซลูชัน และเพิ่มความเร็วการนําคุณลักษณะใหม่ไปใช้ในไปป์ไลน์ที่มีอยู่ ผลกําไรเหล่านี้เป็นเพราะการกําหนดพารามิเตอร์ลดจํานวนการเขียนโค้ดอย่างหนักและเพิ่มจํานวนวัตถุและกระบวนการที่สามารถนํามาใช้ใหม่ได้ในโซลูชัน
แนวคิดพารามิเตอร์และนิพจน์
คุณสามารถใช้พารามิเตอร์เพื่อส่งผ่านค่าภายนอกไปยังไปป์ไลน์ได้ เมื่อพารามิเตอร์ถูกส่งผ่านไปยังทรัพยากร จะไม่สามารถเปลี่ยนแปลงได้ คุณสามารถนําทรัพยากรเหล่านั้นกลับมาใช้ใหม่ด้วยค่าที่แตกต่างกันในแต่ละครั้งโดยการกําหนดพารามิเตอร์ คุณสามารถใช้พารามิเตอร์ทีละรายการหรือเป็นส่วนหนึ่งของนิพจน์ได้ ค่าพารามิเตอร์ในข้อกําหนดอาจเป็นสัญพจน์หรือนิพจน์ที่มีการประเมินในขณะทํางาน
นิพจน์สามารถปรากฏที่ใดก็ได้ในค่าสตริงและสร้างค่าสตริงอื่นเสมอ ต่อไปนี้ รหัสผ่านเป็นพารามิเตอร์ไปป์ไลน์ในนิพจน์ ถ้าค่าพารามิเตอร์เป็นนิพจน์ เนื้อความของนิพจน์จะถูกแยกออกโดยการเอาเครื่องหมาย at-sign (@) ออก ถ้าจําเป็นต้องใช้สตริงสัญพจน์ที่ขึ้นต้นด้วย @จะต้องหลีกโดยใช้ @@ ตัวอย่างต่อไปนี้แสดงวิธีการประเมินนิพจน์
ค่าพารามิเตอร์ | ผล |
---|---|
"พารามิเตอร์" | อักขระ 'พารามิเตอร์' จะถูกส่งกลับ |
"พารามิเตอร์[1]" | อักขระ 'พารามิเตอร์[1]' จะถูกส่งกลับ |
"@@" | สตริงอักขระ 1 ตัวที่มี '@' จะถูกส่งกลับ |
" @" | สตริงอักขระ 2 ตัวที่มี ' @' จะถูกส่งกลับ |
นิพจน์ยังสามารถปรากฏภายในสตริง โดยใช้คุณลักษณะที่เรียกว่า การประมาณค่าในช่วงสตริง ที่นิพจน์จะถูกตัดคําใน @{ ... }
ตัวอย่างเช่น สตริงต่อไปนี้ประกอบด้วยค่าพารามิเตอร์และค่าสตริงสัญพจน์:
"ชื่อแรก: @{pipeline().parameters.firstName} นามสกุล: @{pipeline().parameters.lastName}"
การใช้การประมาณค่าในช่วงสตริง ผลลัพธ์จะเป็นสตริงเสมอ ตัวอย่างเช่น ถ้าคุณกําหนด myNumber
เป็น 42
และ myString
เป็น foo
:
ค่าพารามิเตอร์ | ผล |
---|---|
"@pipeline().parameters.myString" | แสดง foo เป็นสตริง |
"@{pipeline().parameters.myString}" | แสดง foo เป็นสตริง |
"@pipeline().parameters.myNumber" | แสดง 42 เป็นตัวเลข |
"@{pipeline().parameters.myNumber}" | แสดง 42 เป็นสตริง |
"คําตอบคือ: @{pipeline().parameters.myNumber}" | แสดงสตริง Answer is: 42 |
"@concat('คําตอบคือ: ', string(pipeline().parameters.myNumber)"" | ส่งกลับสตริง Answer is: 42 |
"คําตอบคือ: @@{pipeline().parameters.myNumber}" | แสดงสตริง Answer is: @{pipeline().parameters.myNumber} |
ตัวอย่างของการใช้พารามิเตอร์ในนิพจน์
การสร้างและการใช้พารามิเตอร์
หากต้องการสร้างพารามิเตอร์ ให้เลือกพื้นหลังของพื้นที่ตัวแก้ไขไปป์ไลน์ จากนั้น พารามิเตอร์ แท็บของหน้าต่างคุณสมบัติที่ด้านล่าง เลือกปุ่ม + ใหม่ เพื่อเพิ่มพารามิเตอร์ใหม่ลงในไปป์ไลน์ ตั้งชื่อ ชนิดข้อมูล และค่าเริ่มต้น:
จากนั้นคุณสามารถใช้พารามิเตอร์ได้ทุกที่ในไปป์ไลน์ของคุณที่รองรับเนื้อหาแบบไดนามิก ในตัวอย่างนี้ พารามิเตอร์ถูกใช้เพื่อระบุชื่อของที่เก็บข้อมูลของ Lakehouse แบบไดนามิกบนแท็บ Source ของหน้าคุณสมบัติของกิจกรรมการคัดลอก
หน้าต่าง เพิ่มเนื้อหาแบบไดนามิก จะแสดงขึ้นให้คุณสามารถระบุเนื้อหาแบบไดนามิกทุกชนิด รวมถึงพารามิเตอร์ ตัวแปรระบบฟังก์ชันหรือตัวแปรไปป์ไลน์ ในตัวอย่างนี้ พารามิเตอร์ที่กําหนดไว้ก่อนหน้านี้ถูกเลือก และหน้าต่างเนื้อหาแบบไดนามิกจะถูกเติมด้วยนิพจน์ที่ถูกต้องโดยอัตโนมัติเพื่ออ้างอิงพารามิเตอร์
ตัวอย่างนิพจน์ที่ซับซ้อน
ตัวอย่างต่อไปนี้แสดงตัวอย่างที่ซับซ้อนที่อ้างอิงเขตข้อมูลย่อยลึกของผลลัพธ์กิจกรรม เมื่อต้องการอ้างอิงพารามิเตอร์ไปป์ไลน์ที่ประเมินเป็นเขตข้อมูลย่อย ให้ใช้ไวยากรณ์ [] แทนตัวดําเนินการ dot(.) (เช่นเดียวกับ subfield1 และ subfield2)
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
ตัวแก้ไขเนื้อหาแบบไดนามิก
ตัวแก้ไขเนื้อหาแบบไดนามิกจะหลีกอักขระในเนื้อหาของคุณโดยอัตโนมัติเมื่อคุณทําการแก้ไขเสร็จสิ้นแล้ว ตัวอย่างเช่น เนื้อหาต่อไปนี้ในตัวแก้ไขเนื้อหาคือการประมาณค่าในช่วงสตริงกับฟังก์ชันนิพจน์:
@{toUpper('myData')}
ตัวแก้ไขเนื้อหาแบบไดนามิกแปลงเนื้อหาก่อนหน้าเป็นนิพจน์ต่อไปนี้:
MYDATA
การใช้ฟังก์ชันและตัวแปรในนิพจน์
คุณสามารถเรียกใช้ฟังก์ชันและใช้ตัวแปรภายในนิพจน์ได้ ส่วนต่อไปนี้แสดงข้อมูลเกี่ยวกับฟังก์ชันที่สามารถใช้ในนิพจน์ได้
ตัวแปรขอบเขตไปป์ไลน์
ตัวแปรระบบเหล่านี้สามารถอ้างอิงได้ทุกที่ในไปป์ไลน์ JSON
ชื่อตัวแปร | คำอธิบาย |
---|---|
@pipeline().DataFactory | ชื่อของข้อมูลหรือพื้นที่ทํางาน Synapse ที่เรียกใช้ไปป์ไลน์กําลังทํางานอยู่ |
@pipeline().Pipeline | ชื่อของไปป์ไลน์ |
@pipeline().RunId | ID ของการเรียกใช้ไปป์ไลน์เฉพาะ |
@pipeline().TriggerId | ID ของทริกเกอร์ที่เรียกใช้ไปป์ไลน์ |
@pipeline().TriggerName | ชื่อของทริกเกอร์ที่เรียกใช้ไปป์ไลน์ |
@pipeline().TriggerTime | เวลาของทริกเกอร์ที่เรียกใช้ไปป์ไลน์ นี่คือเวลาที่ทริกเกอร์ ถูกเรียกใช้จริง เพื่อเรียกใช้การเรียกใช้ไปป์ไลน์และอาจแตกต่างจากเวลาที่กําหนดไว้ของทริกเกอร์เล็กน้อย |
@pipeline().GroupId | รหัสของกลุ่มที่มีการเรียกใช้ไปป์ไลน์ ใน Microsoft Fabric 'กลุ่ม' หมายถึงคอลเลกชันของทรัพยากรที่เกี่ยวข้องที่สามารถจัดการร่วมกันได้ กลุ่มจะถูกใช้เพื่อจัดระเบียบและควบคุมการเข้าถึงทรัพยากร ทําให้ง่ายต่อการจัดการสิทธิ์และตรวจสอบกิจกรรมในหลายไปป์ไลน์ |
@pipeline()? ทริกเกอร์ ByPipelineName | ชื่อของไปป์ไลน์ที่ทริกเกอร์การเรียกใช้ไปป์ไลน์ ใช้งานได้เมื่อการเรียกใช้ไปป์ไลน์ถูกทริกเกอร์โดยกิจกรรม ExecutePipeline ประเมินเพื่อ Null เมื่อใช้ในสถานการณ์อื่น ๆ จดเครื่องหมายคําถามหลังจาก @pipeline() |
@pipeline()? TriggeredByPipelineRunId | เรียกใช้รหัสของไปป์ไลน์ที่ทริกเกอร์การเรียกใช้ไปป์ไลน์ ใช้งานได้เมื่อการเรียกใช้ไปป์ไลน์ถูกทริกเกอร์โดยกิจกรรม ExecutePipeline ประเมินเพื่อ Null เมื่อใช้ในสถานการณ์อื่น ๆ จดเครื่องหมายคําถามหลังจาก @pipeline() |
โน้ต
ตัวแปรระบบวันที่/เวลาที่เกี่ยวข้องกับทริกเกอร์ (ทั้งในไปป์ไลน์และขอบเขตทริกเกอร์) จะแสดงวันที่ UTC ในรูปแบบ ISO 8601 ตัวอย่างเช่น 2017-06-01T22:20:00.4061448Z
ฟังก์ชันสตริง
เมื่อต้องการทํางานกับสตริง คุณสามารถใช้ฟังก์ชันสตริงเหล่านี้และฟังก์ชันคอลเลกชัน บางอย่าง ฟังก์ชันสตริงทํางานกับสตริงเท่านั้น
ฟังก์ชันสตริง | งาน |
---|---|
concat |
รวมสองสตริงหรือมากกว่าและส่งกลับสตริงที่รวมกัน |
endsWith | ตรวจสอบว่าสตริงลงท้ายด้วยซับสตริงที่ระบุหรือไม่ |
guid |
สร้างตัวระบุที่ไม่ซ้ํากันทั่วโลก (GUID) เป็นสตริง |
indexOf | แสดงตําแหน่งเริ่มต้นสําหรับสตริงย่อย |
lastIndexOf | แสดงตําแหน่งเริ่มต้นสําหรับการปรากฏครั้งล่าสุดของสตริงย่อย |
แทนที่ | แทนที่สตริงย่อยด้วยสตริงที่ระบุและส่งกลับสตริงที่อัปเดตแล้ว |
แยก |
แสดงอาร์เรย์ที่มีสตริงย่อยที่คั่นด้วยเครื่องหมายจุลภาคจากสตริงที่ใหญ่กว่าโดยยึดตามอักขระตัวคั่นที่ระบุในสตริงเดิม |
เริ่มต้น | ตรวจสอบว่าสตริงเริ่มต้นด้วยซับสตริงเฉพาะหรือไม่ |
สตริงย่อย |
แสดงอักขระจากสตริง โดยเริ่มต้นจากตําแหน่งที่ระบุ |
toLower | ส่งกลับสตริงในรูปแบบตัวพิมพ์เล็ก |
toUpper | ส่งกลับสตริงในรูปแบบตัวพิมพ์ใหญ่ |
ตัดแต่ง |
เอาช่องว่างนําหน้าและต่อท้ายออกจากสตริง และส่งกลับสตริงที่อัปเดตแล้ว |
ฟังก์ชันคอลเลกชัน
เมื่อต้องการทํางานกับคอลเลกชัน โดยทั่วไปแล้วอาร์เรย์ สตริง และบางครั้ง พจนานุกรม คุณสามารถใช้ฟังก์ชันคอลเลกชันเหล่านี้ได้
ฟังก์ชัน Collection | งาน |
---|---|
ประกอบด้วย | ตรวจสอบว่าคอลเลกชันมีรายการที่ระบุหรือไม่ |
ที่ว่างเปล่า |
ตรวจสอบว่าคอลเลกชันว่างเปล่าหรือไม่ |
แรก | แสดงรายการแรกจากคอลเลกชัน |
แยก |
แสดงคอลเลกชันที่มี เฉพาะ รายการทั่วไปในคอลเลกชันที่ระบุ |
การรวม |
แสดงสตริงที่มี หน่วยข้อมูลทั้งหมดจากอาร์เรย์ ซึ่งคั่นด้วยอักขระที่ระบุ |
ล่าสุดของ |
ส่งกลับรายการสุดท้ายจากคอลเลกชัน |
ความยาว |
แสดงจํานวนรายการในสตริงหรืออาร์เรย์ |
ข้าม | เอารายการออกจากด้านหน้าของคอลเลกชัน และส่งกลับ อื่นๆ ทั้งหมด |
รับ | ส่งกลับรายการจากด้านหน้าของคอลเลกชัน |
สหภาพ |
แสดงคอลเลกชันที่มี รายการทั้งหมดจากคอลเลกชันที่ระบุ |
ฟังก์ชันตรรกะ
ฟังก์ชันเหล่านี้มีประโยชน์ภายในเงื่อนไข สามารถใช้เพื่อประเมินตรรกะชนิดใดก็ได้
ฟังก์ชันการเปรียบเทียบเชิงตรรกะ | งาน |
---|---|
และ | ตรวจสอบว่านิพจน์ทั้งหมดเป็นจริงหรือไม่ |
เท่ากับ | ตรวจสอบว่าค่าทั้งสองเท่ากันหรือไม่ |
ที่มากกว่า | ตรวจสอบว่าค่าแรกมากกว่าค่าที่สองหรือไม่ |
greaterOrEquals | ตรวจสอบว่าค่าแรกมากกว่าหรือเท่ากับค่าที่สองหรือไม่ |
ถ้า | ตรวจสอบว่านิพจน์เป็นจริงหรือเท็จ ส่งกลับค่าที่ระบุ โดยยึดตามผลลัพธ์ |
น้อยลง | ตรวจสอบว่าค่าแรกน้อยกว่าค่าที่สองหรือไม่ |
lessOrEquals |
ตรวจสอบว่าค่าแรกน้อยกว่าหรือเท่ากับค่าที่สองหรือไม่ |
ไม่ใช่ | ตรวจสอบว่านิพจน์เป็นเท็จหรือไม่ |
หรือ | ตรวจสอบว่านิพจน์อย่างน้อยหนึ่งรายการเป็นจริงหรือไม่ |
ฟังก์ชันการแปลง
ฟังก์ชันเหล่านี้จะถูกใช้เพื่อแปลงระหว่างชนิดเนทีฟแต่ละชนิดในภาษา:
- เชือก
- จํานวนเต็ม
- ลอย
- บูลีน
- อาร์ เรย์
- พจนานุกรม
ฟังก์ชันการแปลง | งาน |
---|---|
อาร์เรย์ |
ส่งกลับอาร์เรย์จากอินพุตเดียวที่ระบุ สําหรับข้อมูลป้อนเข้าหลายรายการ โปรดดู createArray |
base64 | ส่งกลับเวอร์ชันที่เข้ารหัส base64 สําหรับสตริง |
base64 หลัก | ส่งกลับเวอร์ชันไบนารีสําหรับสตริงที่เข้ารหัส base64 |
base64ToString | แสดงเวอร์ชันสตริงสําหรับสตริงที่เข้ารหัส base64 |
ไบนารี | ส่งกลับเวอร์ชันไบนารีสําหรับค่าอินพุต |
บูลีน |
ส่งกลับเวอร์ชันบูลีนสําหรับค่าที่ป้อนเข้า |
coalesce |
ส่งกลับค่าที่ไม่ใช่ null แรกจากพารามิเตอร์อย่างน้อยหนึ่งรายการ |
สร้าง Array | ส่งกลับอาร์เรย์จากข้อมูลป้อนเข้าหลายรายการ |
dataUri |
ส่งกลับ URI ข้อมูลสําหรับค่าอินพุต |
dataUriToBinary | ส่งกลับเวอร์ชันไบนารีสําหรับ URI ข้อมูล |
dataUriToString | แสดงเวอร์ชันสตริงสําหรับ URI ข้อมูล |
ถอดรหัส |
แสดงเวอร์ชันสตริงสําหรับสตริงที่เข้ารหัส base64 |
ถอดรหัส DataUri | ส่งกลับเวอร์ชันไบนารีสําหรับ URI ข้อมูล |
ถอดรหัส คอมโพเนนต์ | แสดงสตริงที่แทนที่อักขระหลีกด้วยรุ่นที่ถอดรหัส |
encodeUriComponent | แสดงสตริงที่แทนที่อักขระที่ไม่ปลอดภัย URL ด้วยอักขระการหลีก |
เลขทศนิยม |
ส่งกลับตัวเลขทศนิยมลอยตัวสําหรับค่าป้อนเข้า |
int |
ส่งกลับเวอร์ชันจํานวนเต็มสําหรับสตริง |
json |
แสดงค่าชนิด JavaScript Object Notation (JSON) หรือออบเจ็กต์สําหรับสตริงหรือ XML |
สตริง |
แสดงเวอร์ชันสตริงสําหรับค่าอินพุต |
คอมโพเนนต์ |
แสดงเวอร์ชันที่เข้ารหัส URI สําหรับค่าการป้อนข้อมูล โดยการแทนที่อักขระที่ไม่ปลอดภัย URL ด้วยอักขระหลีก |
uriComponentToBinary |
ส่งกลับเวอร์ชันไบนารีสําหรับสตริงที่เข้ารหัส URI |
uriComponentToString |
แสดงเวอร์ชันสตริงสําหรับสตริงที่เข้ารหัส URI |
xml ของ |
แสดงเวอร์ชัน XML สําหรับสตริง |
xpath | ตรวจสอบ XML สําหรับโหนดหรือค่าที่ตรงกับนิพจน์ XPath (XML Path Language) และส่งกลับโหนดหรือค่าที่ตรงกัน |
ฟังก์ชันทางคณิตศาสตร์
ฟังก์ชันเหล่านี้สามารถใช้สําหรับตัวเลขชนิดใดก็ตาม: จํานวนเต็ม และ ทศนิยม
ฟังก์ชันทางคณิตศาสตร์ | งาน |
---|---|
เพิ่ม | ส่งกลับผลลัพธ์จากการเพิ่มตัวเลขสองตัว |
|
ส่งกลับผลลัพธ์จากการหารตัวเลขสองตัว |
สูงสุดของ |
ส่งกลับค่าสูงสุดจากชุดตัวเลขหรืออาร์เรย์ |
|
ส่งกลับค่าต่ําสุดจากชุดตัวเลขหรืออาร์เรย์ |
mod |
ส่งกลับเศษที่เหลือจากการหารตัวเลขสองตัว |
เหรียญ |
ส่งกลับผลคูณจากการคูณตัวเลขสองตัว |
rand |
ส่งกลับจํานวนเต็มแบบสุ่มจากช่วงที่ระบุ |
ช่วง |
ส่งกลับอาร์เรย์จํานวนเต็มที่เริ่มต้นจากจํานวนเต็มที่ระบุ |
ย่อยของ |
ส่งกลับผลลัพธ์จากการลบตัวเลขที่สองจากตัวเลขแรก |
ฟังก์ชันวันที่
ฟังก์ชัน Date หรือ Time | งาน |
---|---|
addDays |
เพิ่มจํานวนวันลงในประทับเวลา |
addHours |
เพิ่มจํานวนชั่วโมงลงในประทับเวลา |
addMinutes | เพิ่มจํานวนนาทีลงในการประทับเวลา |
เพิ่ม วินาที | เพิ่มจํานวนวินาทีลงในการประทับเวลา |
addToTime | เพิ่มจํานวนหน่วยเวลาลงในการประทับเวลา ดูเพิ่มเติม getFutureTime |
แปลง FromUtc | แปลงประทับเวลาจากค่าพิกัดเวลาสากล (UTC) เป็นโซนเวลาเป้าหมาย |
แปลง โซนเวลา | แปลงประทับเวลาจากโซนเวลาต้นทางเป็นโซนเวลาเป้าหมาย |
แปลง ToUtc | แปลงประทับเวลาจากโซนเวลาต้นทางเป็นเวลาสากลเชิงพิกัด (UTC) |
วัน |
ส่งกลับวันของคอมโพเนนต์เดือนจากประทับเวลา |
วัน สัปดาห์ | ส่งกลับคอมโพเนนต์วันของสัปดาห์จากประทับเวลา |
วัน |
ส่งกลับคอมโพเนนต์วันของปีจากประทับเวลา |
รูปแบบ |
ส่งกลับประทับเวลาเป็นสตริงในรูปแบบทางเลือก |
getFutureTime | ส่งกลับประทับเวลาปัจจุบันบวกกับหน่วยเวลาที่ระบุ ดูเพิ่มเติม addToTime |
getPastTime | ส่งกลับประทับเวลาปัจจุบันลบหน่วยเวลาที่ระบุ ดู นอกจากนี้ ลบจากเวลา |
startOfDay | แสดงจุดเริ่มต้นของวันสําหรับการประทับเวลา |
startOfHour | แสดงจุดเริ่มต้นของชั่วโมงสําหรับการประทับเวลา |
startOfMonth | ส่งกลับจุดเริ่มต้นของเดือนสําหรับการประทับเวลา |
ลบจาก เวลา | ลบจํานวนหน่วยเวลาจากประทับเวลา ดูเพิ่มเติม รับPastTime |
เครื่องหมาย | แสดงค่าคุณสมบัติ ticks สําหรับประทับเวลาที่ระบุ |
utcNow | ส่งกลับประทับเวลาปัจจุบันเป็นสตริง |
เนื้อหาที่เกี่ยวข้อง
- ภาษาของนิพจน์