Výpis kontejnerů objektů blob pomocí JavaScriptu
Když vypíšete kontejnery v účtu Azure Storage z kódu, můžete zadat řadu možností pro správu způsobu vrácení výsledků ze služby Azure Storage. Tento článek ukazuje, jak vypsat kontejnery pomocí klientské knihovny Azure Storage pro JavaScript.
Požadavky
- Příklady v tomto článku předpokládají, že už máte projekt nastavený tak, aby fungoval s klientskou knihovnou Azure Blob Storage pro JavaScript. Další informace o nastavení projektu, včetně instalace balíčku, importu modulů a vytvoření autorizovaného klientského objektu pro práci s datovými prostředky, najdete v tématu Začínáme se službou Azure Blob Storage a JavaScriptem.
- Autorizační mechanismus musí mít oprávnění k výpisu kontejnerů objektů blob. Další informace najdete v pokynech k autorizaci pro následující operaci rozhraní REST API:
O možnostech výpisu kontejnerů
Pokud chcete vypsat kontejnery v účtu úložiště, vytvořte objekt BlobServiceClient a pak volejte následující metodu:
- BlobServiceClient.listContainers
Výpis kontejnerů s volitelnou předponou
Ve výchozím nastavení vrátí operace výpisu najednou až 5 000 výsledků.
BlobServiceClient.listContainers vrátí seznam ContainerItem objektů. Pomocí containerItem.name vytvořte ContainerClient , abyste získali úplnější objekt ContainerProperties .
async function listContainers(blobServiceClient, containerNamePrefix) {
const options = {
includeDeleted: false,
includeMetadata: true,
includeSystem: true,
prefix: containerNamePrefix
}
for await (const containerItem of blobServiceClient.listContainers(options)) {
// ContainerItem
console.log(`For-await list: ${containerItem.name}`);
// ContainerClient
const containerClient = blobServiceClient.getContainerClient(containerItem.name);
// ... do something with container
}
}
Výpis kontejnerů se stránkováním
Pokud chcete vrátit menší sadu výsledků, zadejte nenulovou hodnotu pro velikost stránky výsledků, která se má vrátit.
Pokud váš účet úložiště obsahuje více než 5 000 kontejnerů nebo pokud jste zadali velikost stránky tak, aby operace výpisu vrátila podmnožinu kontejnerů v účtu úložiště, azure Storage vrátí token pro pokračování se seznamem kontejnerů. Token pro pokračování je neprůhlená hodnota, kterou můžete použít k načtení další sady výsledků ze služby Azure Storage.
V kódu zkontrolujte hodnotu tokenu pokračování a zjistěte, jestli je prázdný. Pokud je token pokračování prázdný, sada výsledků se dokončí. Pokud token pokračování není prázdný, zavolejte metodu výpisu znovu a předejte token pro pokračování, který načte další sadu výsledků, dokud token pokračování nebude prázdný.
async function listContainersWithPagingMarker(blobServiceClient) {
// add prefix to filter list
const containerNamePrefix = '';
// page size
const maxPageSize = 2;
const options = {
includeDeleted: false,
includeMetadata: true,
includeSystem: true,
prefix: containerNamePrefix
}
let i = 1;
let marker;
let iterator = blobServiceClient.listContainers(options).byPage({ maxPageSize });
let response = (await iterator.next()).value;
// Prints 2 container names
if (response.containerItems) {
for (const container of response.containerItems) {
console.log(`IteratorPaged: Container ${i++}: ${container.name}`);
}
}
// Gets next marker
marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = blobServiceClient.listContainers().byPage({ continuationToken: marker, maxPageSize: maxPageSize * 2 });
response = (await iterator.next()).value;
// Print next 4 container names
if (response.containerItems) {
for (const container of response.containerItems) {
console.log(`Container ${i++}: ${container.name}`);
}
}
}
K filtrování výsledků s předponou použijte parametr options metody listContainers .
Filtrování výsledků pomocí předpony
Chcete-li filtrovat seznam kontejnerů, zadejte řetězec pro vlastnost předpony. Řetězec předpony může obsahovat jeden nebo více znaků. Azure Storage pak vrátí pouze kontejnery, jejichž názvy začínají danou předponou.
async function listContainers(blobServiceClient, containerNamePrefix) {
const options = {
includeDeleted: false,
includeMetadata: true,
includeSystem: true,
// filter with prefix
prefix: containerNamePrefix
}
for await (const containerItem of blobServiceClient.listContainers(options)) {
// do something with containerItem
}
}
Zahrnout metadata do výsledků
Pokud chcete vrátit metadata kontejneru s výsledky, zadejte hodnotu metadat pro výčet BlobContainerTraits. Azure Storage obsahuje metadata s každým vráceným kontejnerem, takže metadata kontejneru nemusíte načítat jako samostatnou operaci.
async function listContainers(blobServiceClient, containerNamePrefix) {
const options = {
includeDeleted: false,
includeSystem: true,
prefix: containerNamePrefix,
// include metadata
includeMetadata: true,
}
for await (const containerItem of blobServiceClient.listContainers(options)) {
// do something with containerItem
}
}
Zdroje informací
Další informace o výpisu kontejnerů pomocí klientské knihovny Azure Blob Storage pro JavaScript najdete v následujících zdrojích informací.
Operace rozhraní REST API
Sada Azure SDK pro JavaScript obsahuje knihovny, které jsou postavené na rozhraní Azure REST API a umožňují interakci s operacemi rozhraní REST API prostřednictvím známých paradigmat JavaScriptu. Metody klientské knihovny pro výpis kontejnerů používají následující operaci rozhraní REST API:
- Výpis kontejnerů (REST API)
Ukázky kódu
Prostředky klientské knihovny
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro