Thep Excel

AzureStorage.Blobs – ดึงรายชื่อ Azure Blobs จากคอนเทนเนอร์

AzureStorage.Blobs ดึงรายชื่อของ blobs (ไฟล์) ที่มีอยู่ในคอนเทนเนอร์ Azure Storage และสร้างตารางนำทางเพื่อเข้าถึงไฟล์เหล่านั้น

=AzureStorage.Blobs(account as text, optional options as nullable record) as table

By ThepExcel AI Agent
12 December 2025

Function Metrics


Popularity
5/10

Difficulty
5/10

Usefulness
5/10

Syntax & Arguments

=AzureStorage.Blobs(account as text, optional options as nullable record) as table

Argument Type Required Default Description
account text Yes URL ของบัญชี Azure Storage (เช่น https://mystorageaccount.blob.core.windows.net)
options nullable record Optional null ระเบียนที่เก็บตัวเลือกการตั้งค่า เช่น BlockSize, RequestSize, ConcurrentRequests

Examples

ดึงรายชื่อ Blobs พื้นฐาน
let AccountURL = "https://mystorageaccount.blob.core.windows.net", Blobs = AzureStorage.Blobs(AccountURL) in Blobs
ใช้งาน AzureStorage.Blobs กับ URL ของบัญชี Azure Storage โดยใช้ค่าตั้งค่านี้เริ่มต้น
Power Query Formula:

let
    AccountURL = "https://mystorageaccount.blob.core.windows.net",
    Blobs = AzureStorage.Blobs(AccountURL)
in
    Blobs

Result:

ตารางนำทางแสดงคอนเทนเนอร์ทั้งหมดในบัญชี Azure Storage

ตั้งค่า BlockSize และ ConcurrentRequests
let AccountURL = "https://mystorageaccount.blob.core.windows.net", Options = [BlockSize = 8 * 1024 * 1024, ConcurrentRequests = 32], Blobs = AzureStorage.Blobs(…
เพิ่มขนาด BlockSize เป็น 8 MB และ ConcurrentRequests เป็น 32 เพื่อดาวน์โหลดเร็วขึ้น แต่ใช้หน่วยความจำมากขึ้น (256 MB)
Power Query Formula:

let
    AccountURL = "https://mystorageaccount.blob.core.windows.net",
    Options = [BlockSize = 8 * 1024 * 1024, ConcurrentRequests = 32],
    Blobs = AzureStorage.Blobs(AccountURL, Options)
in
    Blobs

Result:

ตารางที่ดึงมาด้วยการตั้งค่าที่ปรับแต่งแล้ว (ใช้ 8 MB blocks และ 32 requests ขนานกัน)

ปรับแต่น RequestSize เพื่อควบคุมหน่วยความจำ
let AccountURL = "https://mystorageaccount.blob.core.windows.net", Options = [RequestSize = 2 * 1024 * 1024, ConcurrentRequests = 8], Blobs = AzureStorage.Blobs…
ลดขนาด RequestSize เป็น 2 MB และ ConcurrentRequests เป็น 8 เพื่อควบคุมการใช้หน่วยความจำในสภาพแวดล้อมที่จำกัด
Power Query Formula:

let
    AccountURL = "https://mystorageaccount.blob.core.windows.net",
    Options = [RequestSize = 2 * 1024 * 1024, ConcurrentRequests = 8],
    Blobs = AzureStorage.Blobs(AccountURL, Options)
in
    Blobs

Result:

ตารางที่ดึงมาด้วยขนาด request ที่เล็กลง (2 MB) เพื่อประหยัดหน่วยความจำ

FAQs

ฟังก์ชันนี้ส่งกลับข้อมูลประเภทไหน

ส่งกลับ Table ที่เป็นตารางนำทาง โดยแต่ละแถวแสดงถึงคอนเทนเนอร์หนึ่ง และมีลิงก์ไปยัง blobs ในคอนเทนเนอร์นั้น

ฉันต้องมี access token หรือ connection string จากไหน

คุณต้องใช้ URL ของบัญชี Azure Storage เท่านั้น Power Query จะจัดการการตรวจสอบสิทธิ์ผ่าน Azure AD หรือ connection settings

ConcurrentRequests มีค่าสูงสุดเท่าไหร่

ไม่มีข้อจำกัดในตัวเอง แต่ต้องคำนึงถึงการใช้หน่วยความจำ (Memory = ConcurrentRequests × RequestSize) และข้อจำกัดของ Azure Storage API

สามารถใช้ฟังก์ชันนี้กับ Azure Data Lake Storage ได้ไหม

ได้ เนื่องจากใช้ Blob Storage API ที่เป็นพื้นฐานของทั้ง Azure Blob Storage และ Azure Data Lake Storage

BlockSize และ RequestSize ต่างกันอย่างไร

RequestSize คือขนาดของคำขอ HTTP เดี่ยว ส่วน BlockSize คือจำนวนข้อมูลที่เก็บไว้ก่อนส่งต่อให้ผู้บริโภค BlockSize ควรมากกว่าหรือเท่ากับ RequestSize

Resources & Related

Additional Notes

AzureStorage.Blobs(account, options) ใช้เชื่อมต่อกับบัญชี Azure Storage และดึงข้อมูลเกี่ยวกับ blobs ทั้งหมดในคอนเทนเนอร์ ฟังก์ชันนี้ส่งกลับตารางนำทาง โดยแต่ละแถวแสดงถึงคอนเทนเนอร์หนึ่ง พร้อมลิงก์เพื่อเข้าถึง blobs ในคอนเทนเนอร์นั้น

ที่เจ๋งของฟังก์ชันนี้คือการปรับแต่นประสิทธิภาพได้ผ่านตัวเลือก BlockSize, RequestSize และ ConcurrentRequests ซึ่งช่วยให้คุณสามารถควบคุมความเร็วและการใช้หน่วยความจำตามความต้องการของคุณ

ส่วนตัวผมจะใช้ ConcurrentRequests สูงเมื่อต้องการโหลดไฟล์จำนวนมาก แต่ต้องระวังการใช้หน่วยความจำ การตั้งค่าที่สมดุลคือประเด็นสำคัญที่มักมนุษย์ลืมเลย

Leave a Reply

Your email address will not be published. Required fields are marked *