AzureStorage.Blobs ดึงรายชื่อของ blobs (ไฟล์) ที่มีอยู่ในคอนเทนเนอร์ Azure Storage และสร้างตารางนำทางเพื่อเข้าถึงไฟล์เหล่านั้น
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| account | text | URL ของบัญชี Azure Storage (เช่น https://mystorageaccount.blob.core.windows.net) | |
| [options]ไม่บังคับ | nullable record | null | ระเบียนที่เก็บตัวเลือกการตั้งค่า เช่น BlockSize, RequestSize, ConcurrentRequests |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
AzureStorage.Blobs(account, options) ใช้เชื่อมต่อกับบัญชี Azure Storage และดึงข้อมูลเกี่ยวกับ blobs ทั้งหมดในคอนเทนเนอร์ ฟังก์ชันนี้ส่งกลับตารางนำทาง โดยแต่ละแถวแสดงถึงคอนเทนเนอร์หนึ่ง พร้อมลิงก์เพื่อเข้าถึง blobs ในคอนเทนเนอร์นั้น
ที่เจ๋งของฟังก์ชันนี้คือการปรับแต่นประสิทธิภาพได้ผ่านตัวเลือก BlockSize, RequestSize และ ConcurrentRequests ซึ่งช่วยให้คุณสามารถควบคุมความเร็วและการใช้หน่วยความจำตามความต้องการของคุณ
ส่วนตัวผมจะใช้ ConcurrentRequests สูงเมื่อต้องการโหลดไฟล์จำนวนมาก แต่ต้องระวังการใช้หน่วยความจำ การตั้งค่าที่สมดุลคือประเด็นสำคัญที่มักมนุษย์ลืมเลย
ใช้งาน AzureStorage.Blobs กับ URL ของบัญชี Azure Storage โดยใช้ค่าตั้งค่านี้เริ่มต้น
เพิ่มขนาด BlockSize เป็น 8 MB และ ConcurrentRequests เป็น 32 เพื่อดาวน์โหลดเร็วขึ้น แต่ใช้หน่วยความจำมากขึ้น (256 MB)
ลดขนาด RequestSize เป็น 2 MB และ ConcurrentRequests เป็น 8 เพื่อควบคุมการใช้หน่วยความจำในสภาพแวดล้อมที่จำกัด
ส่งกลับ Table ที่เป็นตารางนำทาง โดยแต่ละแถวแสดงถึงคอนเทนเนอร์หนึ่ง และมีลิงก์ไปยัง blobs ในคอนเทนเนอร์นั้น
คุณต้องใช้ URL ของบัญชี Azure Storage เท่านั้น Power Query จะจัดการการตรวจสอบสิทธิ์ผ่าน Azure AD หรือ connection settings
ไม่มีข้อจำกัดในตัวเอง แต่ต้องคำนึงถึงการใช้หน่วยความจำ (Memory = ConcurrentRequests × RequestSize) และข้อจำกัดของ Azure Storage API
ได้ เนื่องจากใช้ Blob Storage API ที่เป็นพื้นฐานของทั้ง Azure Blob Storage และ Azure Data Lake Storage
RequestSize คือขนาดของคำขอ HTTP เดี่ยว ส่วน BlockSize คือจำนวนข้อมูลที่เก็บไว้ก่อนส่งต่อให้ผู้บริโภค BlockSize ควรมากกว่าหรือเท่ากับ RequestSize
ฟังก์ชันที่ผู้เขียนโยงไว้กับ AzureStorage.Blobs จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
AzureStorage.BlobContents อ่านเนื้อหาของไฟล์ (blob) จากที่เก็บข้อมูล Azure Storage
AzureStorage.DataLake ดึงข้อมูลจากเสถียร Azure Data Lake Storage (ADLS) โดยส่งคืนตารางนำทางของไฟล์ในระบบไฟล์
AzureStorage.Tables ดึงข้อมูลจากตารางใน Azure Table Storage ซึ่งเป็นบริการจัดเก็บข้อมูลแบบ NoSQL
Table.ExpandTableColumn ใช้แตกข้อมูลจากคอลัมน์ที่เป็น nested table ออกมาเป็นคอลัมน์และแถวปกติในตารางหลัก โดยรักษาข้อมูลคอลัมน์อื่นไว้ และทำซ้ำแถวหลักสำหรับแต่ละแถวในตารางซ้อน มักใช้คู่กับ Table.NestedJoin หลัง join ตาราง หรือใช้ขยายข้อมูลจากแหล่งที่มีโครงสร้างแบบ hierarchical เช่น JSON หรือ API
Table.SelectRows เป็นฟังก์ชันสำหรับกรองตาราง (filter table) ใน Power Query โดยใช้ฟังก์ชันเงื่อนไข (condition function) เพื่อตรวจสอบแต่ละแถว ถ้าเงื่อนไขคืนค่า true จะเก็บแถวนั้นไว้ ถ้าเป็น false จะตัดทิ้ง สามารถใช้ keyword 'each' ร่วมกับการอ้างอิงคอลัมน์ด้วย [ColumnName] เพื่อเขียนเงื่อนไขได้สะดวก รองรับการกรองตามตัวเลข ข้อความ วันที่ การตรวจสอบค่า null และเงื่อนไขที่ซับซ้อนด้วย and/or operators ฟังก์ชันนี้รองรับ Query Folding ซึ่งช่วยเพิ่มประสิทธิภาพเมื่อทำงานกับ data source ขนาดใหญ่
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่