ContainerClient class
ContainerClient představuje adresu URL kontejneru Azure Storage, která umožňuje manipulovat s jeho objekty blob.
- Extends
Konstruktory
Container |
Vytvoří instanci ContainerClient. Tato metoda přijímá adresu URL odkazující na kontejner. Zakódovaný řetězec adresy URL nebude dvakrát uchvácený, pouze speciální znaky v cestě URL budou unikovány. Pokud název objektu blob obsahuje ? nebo %, název objektu blob musí být zakódovaný v adrese URL. |
Container |
Vytvoří instanci ContainerClient. Tato metoda přijímá adresu URL odkazující na kontejner. Zakódovaný řetězec adresy URL nebude dvakrát uchvácený, pouze speciální znaky v cestě URL budou unikovány. Pokud název objektu blob obsahuje ? nebo %, název objektu blob musí být zakódovaný v adrese URL. |
Container |
Vytvoří instanci ContainerClient. |
Vlastnosti
account |
|
container |
Název kontejneru. |
credential | Například AnonymousCredential, StorageSharedKeyCredential nebo jakékoli přihlašovací údaje z |
url | Zakódovaná hodnota řetězce adresy URL. |
Metody
create(Container |
Vytvoří nový kontejner pod zadaným účtem. Pokud kontejner se stejným názvem již existuje, operace selže. |
create |
Vytvoří nový kontejner pod zadaným účtem. Pokud už kontejner se stejným názvem existuje, nezmění se. |
delete(Container |
Označí zadaný kontejner k odstranění. Kontejner a všechny v něm obsažené objekty blob se později během uvolňování paměti odstraní. |
delete |
Označí zadaný objekt blob nebo snímek k odstranění. Objekt blob se později odstraní během uvolňování paměti. Upozorňujeme, že pokud chcete objekt blob odstranit, musíte odstranit všechny jeho snímky. Obojí můžete odstranit současně pomocí operace Odstranění objektu blob. |
delete |
Označí zadaný kontejner k odstranění, pokud existuje. Kontejner a všechny v něm obsažené objekty blob se později během uvolňování paměti odstraní. |
exists(Container |
Vrátí hodnotu true, pokud existuje prostředek kontejneru Azure reprezentovaný tímto klientem. jinak false. POZNÁMKA: Tuto funkci používejte opatrně, protože existující kontejner může být odstraněn jinými klienty nebo aplikacemi. Naopak nové kontejnery se stejným názvem můžou po dokončení této funkce přidat jiní klienti nebo aplikace. |
generate |
K dispozici pouze pro ContainerClient vytvořený s přihlašovacími údaji sdíleného klíče. Vygeneruje identifikátor URI sdíleného přístupového podpisu (SAS) služby Blob Container Service na základě předaných vlastností a parametrů klienta. Sas je podepsaný přihlašovacími údaji sdíleného klíče klienta. |
get |
Získá oprávnění pro zadaný kontejner. Oprávnění označují, jestli je možné k datům kontejneru přistupovat veřejně. UPOZORNĚNÍ: JavaScript Date potenciálně ztratí přesnost při analýze řetězců startsOn a expiresOn. Například nová date("2018-12-31T03:44:23.8827891Z").toISOString() získá "2018-12-31T03:44:23.882Z". |
get |
Vytvoří <xref:AppendBlobClient> |
get |
Vytvoří objekt BlobBatchClient pro provádění dávkových operací. |
get |
Vytvoří <xref:BlobClient> |
get |
Získejte , <xref:BlobLeaseClient> který spravuje zapůjčení kontejneru. |
get |
Vytvoří <xref:BlockBlobClient> |
get |
Vytvoří <xref:PageBlobClient> |
get |
Vrátí všechna uživatelem definovaná metadata a systémové vlastnosti pro zadaný kontejner. Vrácená data nezahrnují seznam objektů blob kontejneru. |
list |
Vrátí asynchronní iterátor pro výpis všech objektů blob podle hierarchie. pod zadaným účtem. .byPage() vrátí asynchronní iterátor pro výpis objektů blob podle hierarchie na stránkách. Příklad s využitím
Příklad použití
Příklad použití
Příklad použití stránkování s maximální velikostí stránky:
|
list |
Vrátí asynchronní iterátor, který vypíše všechny objekty blob v rámci zadaného účtu. .byPage() vrátí asynchronní iterátor pro výpis objektů blob na stránkách. Příklad s využitím
Příklad použití
Příklad použití
Příklad použití stránkování se značkou:
|
set |
Nastaví oprávnění pro zadaný kontejner. Oprávnění označují, jestli je možné k objektům blob v kontejneru přistupovat veřejně. Když nastavíte oprávnění pro kontejner, stávající oprávnění se nahradí. Pokud není k dispozici žádný přístupový seznam nebo seznam containerACL, stávající seznam ACL kontejneru se odebere. Když vytvoříte uložené zásady přístupu pro kontejner, může trvat až 30 sekund, než se projeví. Během tohoto intervalu selže sdílený přístupový podpis přidružený k uloženým zásadám přístupu se stavovým kódem 403 (Zakázáno), dokud zásady přístupu nebudou aktivní. |
set |
Nastaví jednu nebo více uživatelsky definovaných dvojic název-hodnota pro zadaný kontejner. Pokud není k dispozici žádná možnost nebo nejsou v parametru definována žádná metadata, metadata kontejneru se odeberou. |
upload |
Vytvoří nový objekt blob bloku nebo aktualizuje obsah existujícího objektu blob bloku. Aktualizace existujícího objektu blob bloku přepíše všechna existující metadata objektu blob. Částečné aktualizace nejsou podporovány. obsah existujícího objektu blob se přepíše novým obsahem. Pokud chcete provést částečnou aktualizaci objektů blob bloku, použijte <xref:BlockBlobClient.stageBlock> a <xref:BlockBlobClient.commitBlockList>. Toto je neelní metoda nahrávání, použijte <xref:BlockBlobClient.uploadFile>prosím , <xref:BlockBlobClient.uploadStream> nebo <xref:BlockBlobClient.uploadBrowserData> pro zajištění lepšího výkonu při souběžnosti nahrávání. |
Podrobnosti konstruktoru
ContainerClient(string, PipelineLike)
Vytvoří instanci ContainerClient. Tato metoda přijímá adresu URL odkazující na kontejner. Zakódovaný řetězec adresy URL nebude dvakrát uchvácený, pouze speciální znaky v cestě URL budou unikovány. Pokud název objektu blob obsahuje ? nebo %, název objektu blob musí být zakódovaný v adrese URL.
new ContainerClient(url: string, pipeline: PipelineLike)
Parametry
- url
-
string
Řetězec adresy URL odkazující na kontejner Azure Storage, například "https://myaccount.blob.core.windows.net/mycontainer". Sas můžete připojit, pokud používáte AnonymousCredential, například "https://myaccount.blob.core.windows.net/mycontainer?sasString".
- pipeline
- PipelineLike
Voláním metody newPipeline() vytvořte výchozí kanál nebo zadejte vlastní kanál.
ContainerClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)
Vytvoří instanci ContainerClient. Tato metoda přijímá adresu URL odkazující na kontejner. Zakódovaný řetězec adresy URL nebude dvakrát uchvácený, pouze speciální znaky v cestě URL budou unikovány. Pokud název objektu blob obsahuje ? nebo %, název objektu blob musí být zakódovaný v adrese URL.
new ContainerClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)
Parametry
- url
-
string
Řetězec adresy URL odkazující na kontejner Azure Storage, například "https://myaccount.blob.core.windows.net/mycontainer". Sas můžete připojit, pokud používáte AnonymousCredential, například "https://myaccount.blob.core.windows.net/mycontainer?sasString".
- credential
-
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
Například AnonymousCredential, StorageSharedKeyCredential nebo jakékoli přihlašovací údaje z @azure/identity
balíčku k ověření požadavků na službu. Můžete také zadat objekt, který implementuje rozhraní TokenCredential. Pokud není zadaný, použije se AnonymousCredential.
- options
- StoragePipelineOptions
Nepovinný parametr. Možnosti konfigurace kanálu HTTP
ContainerClient(string, string, StoragePipelineOptions)
Vytvoří instanci ContainerClient.
new ContainerClient(connectionString: string, containerName: string, options?: StoragePipelineOptions)
Parametry
- connectionString
-
string
Připojovací řetězec účtu nebo připojovací řetězec SAS účtu úložiště Azure.
[ Poznámka : Připojovací řetězec účtu se dá použít jenom v modulu runtime NODE.JS. ] Příklad připojovacího řetězce účtu –DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net
Příklad připojovacího řetězce SAS – BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString
- containerName
-
string
Název kontejneru.
- options
- StoragePipelineOptions
Nepovinný parametr. Možnosti konfigurace kanálu HTTP
Podrobnosti vlastnosti
accountName
accountName: string
Hodnota vlastnosti
string
containerName
Název kontejneru.
string containerName
Hodnota vlastnosti
string
credential
Například AnonymousCredential, StorageSharedKeyCredential nebo jakékoli přihlašovací údaje z @azure/identity
balíčku k ověření požadavků na službu. Můžete také zadat objekt, který implementuje rozhraní TokenCredential. Pokud není zadaný, použije se AnonymousCredential.
credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential
Hodnota vlastnosti
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
url
Zakódovaná hodnota řetězce adresy URL.
url: string
Hodnota vlastnosti
string
Podrobnosti metody
create(ContainerCreateOptions)
Vytvoří nový kontejner pod zadaným účtem. Pokud kontejner se stejným názvem již existuje, operace selže.
function create(options?: ContainerCreateOptions)
Parametry
- options
- ContainerCreateOptions
Možnosti operace vytvoření kontejneru
Příklad použití:
const containerClient = blobServiceClient.getContainerClient("<container name>");
const createContainerResponse = await containerClient.create();
console.log("Container was created successfully", createContainerResponse.requestId);
Návraty
Promise<ContainerCreateResponse>
createIfNotExists(ContainerCreateOptions)
Vytvoří nový kontejner pod zadaným účtem. Pokud už kontejner se stejným názvem existuje, nezmění se.
function createIfNotExists(options?: ContainerCreateOptions)
Parametry
- options
- ContainerCreateOptions
Návraty
Promise<ContainerCreateIfNotExistsResponse>
delete(ContainerDeleteMethodOptions)
Označí zadaný kontejner k odstranění. Kontejner a všechny v něm obsažené objekty blob se později během uvolňování paměti odstraní.
function delete(options?: ContainerDeleteMethodOptions)
Parametry
- options
- ContainerDeleteMethodOptions
Možnosti operace odstranění kontejneru
Návraty
Promise<ContainerDeleteResponse>
deleteBlob(string, ContainerDeleteBlobOptions)
Označí zadaný objekt blob nebo snímek k odstranění. Objekt blob se později odstraní během uvolňování paměti. Upozorňujeme, že pokud chcete objekt blob odstranit, musíte odstranit všechny jeho snímky. Obojí můžete odstranit současně pomocí operace Odstranění objektu blob.
function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions)
Parametry
- blobName
-
string
- options
- ContainerDeleteBlobOptions
Možnosti operace odstranění objektu blob
Návraty
Promise<BlobDeleteResponse>
Data odpovědi na odstranění objektu blob bloku
deleteIfExists(ContainerDeleteMethodOptions)
Označí zadaný kontejner k odstranění, pokud existuje. Kontejner a všechny v něm obsažené objekty blob se později během uvolňování paměti odstraní.
function deleteIfExists(options?: ContainerDeleteMethodOptions)
Parametry
- options
- ContainerDeleteMethodOptions
Možnosti operace odstranění kontejneru
Návraty
Promise<ContainerDeleteIfExistsResponse>
exists(ContainerExistsOptions)
Vrátí hodnotu true, pokud existuje prostředek kontejneru Azure reprezentovaný tímto klientem. jinak false. POZNÁMKA: Tuto funkci používejte opatrně, protože existující kontejner může být odstraněn jinými klienty nebo aplikacemi. Naopak nové kontejnery se stejným názvem můžou po dokončení této funkce přidat jiní klienti nebo aplikace.
function exists(options?: ContainerExistsOptions)
Parametry
- options
- ContainerExistsOptions
Návraty
Promise<boolean>
generateSasUrl(ContainerGenerateSasUrlOptions)
K dispozici pouze pro ContainerClient vytvořený s přihlašovacími údaji sdíleného klíče. Vygeneruje identifikátor URI sdíleného přístupového podpisu (SAS) služby Blob Container Service na základě předaných vlastností a parametrů klienta. Sas je podepsaný přihlašovacími údaji sdíleného klíče klienta.
function generateSasUrl(options: ContainerGenerateSasUrlOptions)
Parametry
- options
- ContainerGenerateSasUrlOptions
Volitelné parametry.
Návraty
Promise<string>
Identifikátor URI SAS sestávající z identifikátoru URI prostředku reprezentovaného tímto klientem a následného vygenerovaného tokenu SAS.
getAccessPolicy(ContainerGetAccessPolicyOptions)
Získá oprávnění pro zadaný kontejner. Oprávnění označují, jestli je možné k datům kontejneru přistupovat veřejně. UPOZORNĚNÍ: JavaScript Date potenciálně ztratí přesnost při analýze řetězců startsOn a expiresOn. Například nová date("2018-12-31T03:44:23.8827891Z").toISOString() získá "2018-12-31T03:44:23.882Z".
function getAccessPolicy(options?: ContainerGetAccessPolicyOptions)
Parametry
- options
- ContainerGetAccessPolicyOptions
Možnosti operace Získání zásad přístupu kontejneru
Návraty
Promise<ContainerGetAccessPolicyResponse>
getAppendBlobClient(string)
Vytvoří <xref:AppendBlobClient>
function getAppendBlobClient(blobName: string)
Parametry
- blobName
-
string
Název doplňovacího objektu blob
Návraty
getBlobBatchClient()
Vytvoří objekt BlobBatchClient pro provádění dávkových operací.
function getBlobBatchClient()
Návraty
Nový objekt BlobBatchClient pro tento kontejner.
getBlobClient(string)
Vytvoří <xref:BlobClient>
function getBlobClient(blobName: string)
Parametry
- blobName
-
string
Název objektu blob
Návraty
Nový objekt BlobClient pro daný název objektu blob.
getBlobLeaseClient(string)
Získejte , <xref:BlobLeaseClient> který spravuje zapůjčení kontejneru.
function getBlobLeaseClient(proposeLeaseId?: string)
Parametry
- proposeLeaseId
-
string
Počáteční navrhované ID zapůjčení
Návraty
Nový objekt BlobLeaseClient pro správu zapůjčení kontejneru.
getBlockBlobClient(string)
Vytvoří <xref:BlockBlobClient>
function getBlockBlobClient(blobName: string)
Parametry
- blobName
-
string
Název objektu blob bloku
Příklad použití:
const content = "Hello world!";
const blockBlobClient = containerClient.getBlockBlobClient("<blob name>");
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
Návraty
getPageBlobClient(string)
Vytvoří <xref:PageBlobClient>
function getPageBlobClient(blobName: string)
Parametry
- blobName
-
string
Název objektu blob stránky
Návraty
getProperties(ContainerGetPropertiesOptions)
Vrátí všechna uživatelem definovaná metadata a systémové vlastnosti pro zadaný kontejner. Vrácená data nezahrnují seznam objektů blob kontejneru.
function getProperties(options?: ContainerGetPropertiesOptions)
Parametry
- options
- ContainerGetPropertiesOptions
Možnosti operace Získání vlastností kontejneru
Návraty
Promise<ContainerGetPropertiesResponse>
listBlobsByHierarchy(string, ContainerListBlobsOptions)
Vrátí asynchronní iterátor pro výpis všech objektů blob podle hierarchie. pod zadaným účtem. .byPage() vrátí asynchronní iterátor pro výpis objektů blob podle hierarchie na stránkách.
Příklad s využitím for await
syntaxe:
for await (const item of containerClient.listBlobsByHierarchy("/")) {
if (item.kind === "prefix") {
console.log(`\tBlobPrefix: ${item.name}`);
} else {
console.log(`\tBlobItem: name - ${item.name}, last modified - ${item.properties.lastModified}`);
}
}
Příklad použití iter.next()
:
let iter = containerClient.listBlobsByHierarchy("/", { prefix: "prefix1/" });
let entity = await iter.next();
while (!entity.done) {
let item = entity.value;
if (item.kind === "prefix") {
console.log(`\tBlobPrefix: ${item.name}`);
} else {
console.log(`\tBlobItem: name - ${item.name}, last modified - ${item.properties.lastModified}`);
}
entity = await iter.next();
}
Příklad použití byPage()
:
console.log("Listing blobs by hierarchy by page");
for await (const response of containerClient.listBlobsByHierarchy("/").byPage()) {
const segment = response.segment;
if (segment.blobPrefixes) {
for (const prefix of segment.blobPrefixes) {
console.log(`\tBlobPrefix: ${prefix.name}`);
}
}
for (const blob of response.segment.blobItems) {
console.log(`\tBlobItem: name - ${blob.name}, last modified - ${blob.properties.lastModified}`);
}
}
Příklad použití stránkování s maximální velikostí stránky:
console.log("Listing blobs by hierarchy by page, specifying a prefix and a max page size");
let i = 1;
for await (const response of containerClient.listBlobsByHierarchy("/", { prefix: "prefix2/sub1/"}).byPage({ maxPageSize: 2 })) {
console.log(`Page ${i++}`);
const segment = response.segment;
if (segment.blobPrefixes) {
for (const prefix of segment.blobPrefixes) {
console.log(`\tBlobPrefix: ${prefix.name}`);
}
}
for (const blob of response.segment.blobItems) {
console.log(`\tBlobItem: name - ${blob.name}, last modified - ${blob.properties.lastModified}`);
}
}
function listBlobsByHierarchy(delimiter: string, options?: ContainerListBlobsOptions)
Parametry
- delimiter
-
string
Znak nebo řetězec použitý k definování virtuální hierarchie
- options
- ContainerListBlobsOptions
Možnosti operace výpisu objektů blob
Návraty
PagedAsyncIterableIterator<Object & BlobPrefix | Object & BlobItem, ContainerListBlobHierarchySegmentResponse>
listBlobsFlat(ContainerListBlobsOptions)
Vrátí asynchronní iterátor, který vypíše všechny objekty blob v rámci zadaného účtu. .byPage() vrátí asynchronní iterátor pro výpis objektů blob na stránkách.
Příklad s využitím for await
syntaxe:
// Get the containerClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>");`
let i = 1;
for await (const blob of containerClient.listBlobsFlat()) {
console.log(`Blob ${i++}: ${blob.name}`);
}
Příklad použití iter.next()
:
let i = 1;
let iter = containerClient.listBlobsFlat();
let blobItem = await iter.next();
while (!blobItem.done) {
console.log(`Blob ${i++}: ${blobItem.value.name}`);
blobItem = await iter.next();
}
Příklad použití byPage()
:
// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
for (const blob of response.segment.blobItems) {
console.log(`Blob ${i++}: ${blob.name}`);
}
}
Příklad použití stránkování se značkou:
let i = 1;
let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
// Prints 2 blob names
for (const blob of response.segment.blobItems) {
console.log(`Blob ${i++}: ${blob.name}`);
}
// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;
// Prints 10 blob names
for (const blob of response.segment.blobItems) {
console.log(`Blob ${i++}: ${blob.name}`);
}
function listBlobsFlat(options?: ContainerListBlobsOptions)
Parametry
- options
- ContainerListBlobsOptions
Možnosti výpisu objektů blob
Návraty
PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse>
AsyncIterableIterator, který podporuje stránkování.
setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)
Nastaví oprávnění pro zadaný kontejner. Oprávnění označují, jestli je možné k objektům blob v kontejneru přistupovat veřejně. Když nastavíte oprávnění pro kontejner, stávající oprávnění se nahradí. Pokud není k dispozici žádný přístupový seznam nebo seznam containerACL, stávající seznam ACL kontejneru se odebere.
Když vytvoříte uložené zásady přístupu pro kontejner, může trvat až 30 sekund, než se projeví. Během tohoto intervalu selže sdílený přístupový podpis přidružený k uloženým zásadám přístupu se stavovým kódem 403 (Zakázáno), dokud zásady přístupu nebudou aktivní.
function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions)
Parametry
- access
- PublicAccessType
Úroveň veřejného přístupu k datům v kontejneru.
- containerAcl
Pole prvků, z nichž každý má jedinečné ID a podrobnosti o zásadách přístupu.
- options
- ContainerSetAccessPolicyOptions
Možnosti operace Nastavení zásad přístupu kontejneru
Návraty
Promise<ContainerSetAccessPolicyResponse>
setMetadata(Metadata, ContainerSetMetadataOptions)
Nastaví jednu nebo více uživatelsky definovaných dvojic název-hodnota pro zadaný kontejner. Pokud není k dispozici žádná možnost nebo nejsou v parametru definována žádná metadata, metadata kontejneru se odeberou.
function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions)
Parametry
- metadata
- Metadata
Nahraďte existující metadata touto hodnotou. Pokud se nezadá žádná hodnota, existující metadata se odeberou.
- options
- ContainerSetMetadataOptions
Možnosti operace nastavení metadat kontejneru
Návraty
Promise<ContainerSetMetadataResponse>
uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)
Vytvoří nový objekt blob bloku nebo aktualizuje obsah existujícího objektu blob bloku. Aktualizace existujícího objektu blob bloku přepíše všechna existující metadata objektu blob. Částečné aktualizace nejsou podporovány. obsah existujícího objektu blob se přepíše novým obsahem. Pokud chcete provést částečnou aktualizaci objektů blob bloku, použijte <xref:BlockBlobClient.stageBlock> a <xref:BlockBlobClient.commitBlockList>.
Toto je neelní metoda nahrávání, použijte <xref:BlockBlobClient.uploadFile>prosím , <xref:BlockBlobClient.uploadStream> nebo <xref:BlockBlobClient.uploadBrowserData> pro zajištění lepšího výkonu při souběžnosti nahrávání.
function uploadBlockBlob(blobName: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions)
Parametry
- blobName
-
string
Název objektu blob bloku, který se má vytvořit nebo aktualizovat.
- body
-
HttpRequestBody
Objekt blob, řetězec, ArrayBuffer, ArrayBufferView nebo funkce, která vrací nový čitelný datový proud, jehož posun je od začátku zdroje dat.
- contentLength
-
number
Délka těla v bajtech. Pomocí buffer.byteLength() můžete vypočítat délku textu řetězce, včetně znaků bez kódování Base64/Hex.
- options
- BlockBlobUploadOptions
Možnosti konfigurace operace nahrávání objektů blob bloku
Návraty
Promise<Object>
Data odpovědi nahrání objektu blob bloku a odpovídající instance BlockBlobClient
Azure SDK for JavaScript