ContainerClient class

Ein ContainerClient stellt eine URL zum Azure Storage-Container dar, mit der Sie dessen Blobs bearbeiten können.

Extends

StorageClient

Konstruktoren

ContainerClient(string, PipelineLike)

Erstellt eine Instanz von ContainerClient. Diese Methode akzeptiert eine URL, die auf einen Container verweist. Die codierte URL-Zeichenfolge wird NICHT zweimal escaped, nur Sonderzeichen im URL-Pfad werden mit Escapezeichen versehen. Wenn ein Blobname enthält? oder %, blobname muss in der URL codiert werden.

ContainerClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

Erstellt eine Instanz von ContainerClient. Diese Methode akzeptiert eine URL, die auf einen Container verweist. Die codierte URL-Zeichenfolge wird NICHT zweimal escaped, nur Sonderzeichen im URL-Pfad werden mit Escapezeichen versehen. Wenn ein Blobname enthält? oder %, blobname muss in der URL codiert werden.

ContainerClient(string, string, StoragePipelineOptions)

Erstellt eine Instanz von ContainerClient.

Eigenschaften

containerName

Der Name des Containers,

Geerbte Eigenschaften

accountName
credential

z. B. AnonymousCredential, StorageSharedKeyCredential oder alle Anmeldeinformationen aus dem @azure/identity Paket, um Anforderungen an den Dienst zu authentifizieren. Sie können auch ein -Objekt bereitstellen, das die TokenCredential-Schnittstelle implementiert. Falls nicht angegeben, wird AnonymousCredential verwendet.

url

Codierter URL-Zeichenfolgenwert.

Methoden

create(ContainerCreateOptions)

Erstellt einen neuen Container unter dem angegebenen Konto. Wenn ein Container mit demselben Namen bereits vorhanden ist, schlägt der Vorgang fehl.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Benennungsregeln: Siehe https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

createIfNotExists(ContainerCreateOptions)

Erstellt einen neuen Container unter dem angegebenen Konto. Wenn der Container mit demselben Namen bereits vorhanden ist, wird er nicht geändert.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Benennungsregeln: Siehe https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

delete(ContainerDeleteMethodOptions)

Markiert den angegebenen Container zum Löschen. Der Container und alle darin enthaltenen BLOBs werden später während der automatischen Speicherbereinigung gelöscht.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container.

deleteBlob(string, ContainerDeleteBlobOptions)

Markiert das angegebene Blob oder die angegebene Momentaufnahme zum Löschen. Das BLOB wird später während der automatischen Speicherbereinigung gelöscht. Beachten Sie, dass Sie zum Löschen eines BLOB alle zugehörigen Momentaufnahmen löschen müssen. Sie können beide gleichzeitig mit dem Vorgang Blob löschen löschen.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob.

deleteIfExists(ContainerDeleteMethodOptions)

Markiert den angegebenen Container zum Löschen, sofern er vorhanden ist. Der Container und alle darin enthaltenen BLOBs werden später während der automatischen Speicherbereinigung gelöscht.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container.

exists(ContainerExistsOptions)

Gibt true zurück, wenn die von diesem Client dargestellte Azure-Containerressource vorhanden ist. false andernfalls.

HINWEIS: Verwenden Sie diese Funktion mit Sorgfalt, da ein vorhandener Container möglicherweise von anderen Clients oder Anwendungen gelöscht wird. Umgekehrt können nach Abschluss dieser Funktion von anderen Clients oder Anwendungen neue Container mit demselben Namen hinzugefügt werden.

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Blobs mit dem angegebenen Tag unter dem angegebenen Container zu finden.

.byPage() gibt einen asynchronen iterierbaren Iterator zurück, um die Blobs in Seiten aufzulisten.

Beispiel für die Verwendung von for await Syntax:

let i = 1;
for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

Beispiel für die Verwendung von iter.next():

let i = 1;
const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
let blobItem = await iter.next();
while (!blobItem.done) {
  console.log(`Blob ${i++}: ${blobItem.value.name}`);
  blobItem = await iter.next();
}

Beispiel für die Verwendung von byPage():

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 20 })) {
  if (response.blobs) {
    for (const blob of response.blobs) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }
  }
}

Beispiel für die Verwendung von Paging mit einem Marker:

let i = 1;
let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 blob names
if (response.blobs) {
  for (const blob of response.blobs) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = containerClient
  .findBlobsByTags("tagkey='tagvalue'")
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints blob names
if (response.blobs) {
  for (const blob of response.blobs) {
     console.log(`Blob ${i++}: ${blob.name}`);
  }
}
generateSasUrl(ContainerGenerateSasUrlOptions)

Nur verfügbar für ContainerClient, der mit Anmeldeinformationen für gemeinsam genutzte Schlüssel erstellt wurde.

Generiert einen SAS-URI (Shared Access Signature, Shared Access Signature) von Blob Container Service basierend auf den übergebenen Clienteigenschaften und Parametern. Die SAS wird von den Anmeldeinformationen für gemeinsam genutzte Schlüssel des Clients signiert.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas.

getAccessPolicy(ContainerGetAccessPolicyOptions)

Ruft die Berechtigungen für den angegebenen Container ab. Mit den Berechtigungen wird angegeben, ob auf die Containerdaten öffentlich zugegriffen werden kann.

WARNUNG: JavaScript-Datum verliert möglicherweise an Genauigkeit, wenn die Analyse beginntOn und abläuftOn Zeichenfolgen. New Date("2018-12-31T03:44:23.8827891Z"). toISOString() erhält beispielsweise "2018-12-31T03:44:23.882Z".

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl.

getAppendBlobClient(string)

Erstellt einen AppendBlobClient

getBlobBatchClient()

Erstellt ein BlobBatchClient-Objekt zum Ausführen von Batchvorgängen.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch.

getBlobClient(string)

Erstellt einen BlobClient

getBlobLeaseClient(string)

Rufen Sie einen BlobLeaseClient ab, der Leases für den Container verwaltet.

getBlockBlobClient(string)

Erstellt einen BlockBlobClient

getPageBlobClient(string)

Erstellt einen PageBlobClient

getProperties(ContainerGetPropertiesOptions)

Gibt alle benutzerdefinierten Metadaten und Systemeigenschaften für den angegebenen Container zurück. Die zurückgegebenen Daten enthalten nicht die Liste von BLOBs des Containers.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties.

WARNUNG: Das metadata in der Antwort zurückgegebene Objekt weist seine Schlüssel in Kleinbuchstaben auf, auch wenn sie ursprünglich Großbuchstaben enthielten. Dies unterscheidet sich von den Metadatenschlüsseln, die von der listContainersBlobServiceClient-Methode mit der includeMetadata Option zurückgegeben werden, die ihre ursprüngliche Groß- und Kleinschreibung beibehält.

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Blobs nach Hierarchie aufzulisten. unter dem angegebenen Konto.

.byPage() gibt einen asynchronen iterierbaren Iterator zurück, um die Blobs nach Hierarchie in Seiten aufzulisten.

Beispiel für die Verwendung von for await Syntax:

for await (const item of containerClient.listBlobsByHierarchy("/")) {
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}`);
  }
}

Beispiel für die Verwendung von 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}`);
  }
  entity = await iter.next();
}

Beispiel für die Verwendung von 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}`);
  }
}

Beispiel für die Verwendung von Paging mit einer maximalen Seitengröße:

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}`);
  }
}
listBlobsFlat(ContainerListBlobsOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, der alle Blobs unter dem angegebenen Konto auflistet.

.byPage() gibt einen asynchronen iterablen Iterator zurück, um die Blobs in Seiten auflisten zu können.

Beispiel mit for await Syntax:

// 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}`);
}

Beispiel für die Verwendung von 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();
}

Beispiel für die Verwendung von 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}`);
  }
}

Beispiel für die Verwendung von Paging mit einem Marker:

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}`);
}
setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

Legt die Berechtigungen für den angegebenen Container fest. Die Berechtigungen geben an, ob öffentlicher Zugriff auf BLOBs in einem Container zulässig ist.

Wenn Sie Berechtigungen für einen Container festlegen, werden die vorhandenen Berechtigungen ersetzt. Wenn kein Zugriff oder containerAcl bereitgestellt wird, wird die vorhandene Container-ACL entfernt.

Wenn Sie eine gespeicherte Zugriffsrichtlinie für einen Container einrichten, kann es bis zu 30 Sekunden dauern, bis die Richtlinie angewendet wird. Während dieses Intervalls schlägt eine SAS, die der gespeicherten Zugriffsrichtlinie zugeordnet ist, mit dem Statuscode 403 (Unzulässig) so lange fehl, bis die Zugriffsrichtlinie aktiv ist.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl.

setMetadata(Metadata, ContainerSetMetadataOptions)

Legt mindestens ein benutzerdefiniertes Name-Wert-Paar für den angegebenen Container fest.

Wenn keine Option oder keine im Parameter definierten Metadaten angegeben sind, werden die Containermetadaten entfernt.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata.

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Partielle Updates werden nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Verwenden Sie stageBlock und commitBlockList, um eine partielle Aktualisierung eines Blockblobs durchzuführen.

Dies ist eine nicht parallele Uploadmethode. Verwenden Sie uploadFile, uploadStream oder uploadBrowserData , um eine bessere Leistung bei Parallelitätsuploads zu erzielen.

Siehe https://docs.microsoft.com/rest/api/storageservices/put-blob.

Details zum Konstruktor

ContainerClient(string, PipelineLike)

Erstellt eine Instanz von ContainerClient. Diese Methode akzeptiert eine URL, die auf einen Container verweist. Die codierte URL-Zeichenfolge wird NICHT zweimal escaped, nur Sonderzeichen im URL-Pfad werden mit Escapezeichen versehen. Wenn ein Blobname enthält? oder %, blobname muss in der URL codiert werden.

new ContainerClient(url: string, pipeline: PipelineLike)

Parameter

url

string

Eine URL-Zeichenfolge, die auf den Azure Storage-Container verweist, z. B. "https://myaccount.blob.core.windows.net/mycontainer"". Sie können eine SAS anfügen, wenn Sie AnonymousCredential verwenden, z. B. "https://myaccount.blob.core.windows.net/mycontainer?sasString"".

pipeline
PipelineLike

Rufen Sie newPipeline() auf, um eine Standardpipeline zu erstellen oder eine angepasste Pipeline bereitzustellen.

ContainerClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

Erstellt eine Instanz von ContainerClient. Diese Methode akzeptiert eine URL, die auf einen Container verweist. Die codierte URL-Zeichenfolge wird NICHT zweimal escaped, nur Sonderzeichen im URL-Pfad werden mit Escapezeichen versehen. Wenn ein Blobname enthält? oder %, blobname muss in der URL codiert werden.

new ContainerClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)

Parameter

url

string

Eine URL-Zeichenfolge, die auf den Azure Storage-Container verweist, z. B. "https://myaccount.blob.core.windows.net/mycontainer"". Sie können eine SAS anfügen, wenn Sie AnonymousCredential verwenden, z. B. "https://myaccount.blob.core.windows.net/mycontainer?sasString"".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

z. B. AnonymousCredential, StorageSharedKeyCredential oder alle Anmeldeinformationen aus dem @azure/identity Paket, um Anforderungen an den Dienst zu authentifizieren. Sie können auch ein -Objekt bereitstellen, das die TokenCredential-Schnittstelle implementiert. Falls nicht angegeben, wird AnonymousCredential verwendet.

options
StoragePipelineOptions

Optional. Optionen zum Konfigurieren der HTTP-Pipeline.

ContainerClient(string, string, StoragePipelineOptions)

Erstellt eine Instanz von ContainerClient.

new ContainerClient(connectionString: string, containerName: string, options?: StoragePipelineOptions)

Parameter

connectionString

string

Kontoverbindungszeichenfolge oder SAS-Verbindungszeichenfolge eines Azure-Speicherkontos. [ Hinweis: Die Kontoverbindungszeichenfolge kann nur in NODE.JS Runtime verwendet werden. ] Beispiel für die Kontoverbindungszeichenfolge :DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net SAS-Verbindungszeichenfolgenbeispiel: 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

Der Containername.

options
StoragePipelineOptions

Optional. Optionen zum Konfigurieren der HTTP-Pipeline.

Details zur Eigenschaft

containerName

Der Name des Containers,

string containerName

Eigenschaftswert

string

Geerbte Eigenschaftsdetails

accountName

accountName: string

Eigenschaftswert

string

Geerbt von StorageClient.accountName

credential

z. B. AnonymousCredential, StorageSharedKeyCredential oder alle Anmeldeinformationen aus dem @azure/identity Paket, um Anforderungen an den Dienst zu authentifizieren. Sie können auch ein -Objekt bereitstellen, das die TokenCredential-Schnittstelle implementiert. Falls nicht angegeben, wird AnonymousCredential verwendet.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Eigenschaftswert

Geerbt von StorageClient.credential

url

Codierter URL-Zeichenfolgenwert.

url: string

Eigenschaftswert

string

Geerbt von StorageClient.url

Details zur Methode

create(ContainerCreateOptions)

Erstellt einen neuen Container unter dem angegebenen Konto. Wenn ein Container mit demselben Namen bereits vorhanden ist, schlägt der Vorgang fehl.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Benennungsregeln: Siehe https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

function create(options?: ContainerCreateOptions): Promise<ContainerCreateResponse>

Parameter

options
ContainerCreateOptions

Optionen zum Containererstellungsvorgang.

Beispielverwendung:

const containerClient = blobServiceClient.getContainerClient("<container name>");
const createContainerResponse = await containerClient.create();
console.log("Container was created successfully", createContainerResponse.requestId);

Gibt zurück

createIfNotExists(ContainerCreateOptions)

Erstellt einen neuen Container unter dem angegebenen Konto. Wenn der Container mit demselben Namen bereits vorhanden ist, wird er nicht geändert.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Benennungsregeln: Siehe https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

function createIfNotExists(options?: ContainerCreateOptions): Promise<ContainerCreateIfNotExistsResponse>

Parameter

Gibt zurück

delete(ContainerDeleteMethodOptions)

Markiert den angegebenen Container zum Löschen. Der Container und alle darin enthaltenen BLOBs werden später während der automatischen Speicherbereinigung gelöscht.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container.

function delete(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteResponse>

Parameter

options
ContainerDeleteMethodOptions

Optionen zum Containerlöschvorgang.

Gibt zurück

deleteBlob(string, ContainerDeleteBlobOptions)

Markiert das angegebene Blob oder die angegebene Momentaufnahme zum Löschen. Das BLOB wird später während der automatischen Speicherbereinigung gelöscht. Beachten Sie, dass Sie zum Löschen eines BLOB alle zugehörigen Momentaufnahmen löschen müssen. Sie können beide gleichzeitig mit dem Vorgang Blob löschen löschen.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob.

function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions): Promise<BlobDeleteResponse>

Parameter

blobName

string

options
ContainerDeleteBlobOptions

Optionen zum Bloblöschvorgang.

Gibt zurück

Block blob deletion response data.

deleteIfExists(ContainerDeleteMethodOptions)

Markiert den angegebenen Container zum Löschen, sofern er vorhanden ist. Der Container und alle darin enthaltenen BLOBs werden später während der automatischen Speicherbereinigung gelöscht.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container.

function deleteIfExists(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteIfExistsResponse>

Parameter

options
ContainerDeleteMethodOptions

Optionen zum Containerlöschvorgang.

Gibt zurück

exists(ContainerExistsOptions)

Gibt true zurück, wenn die von diesem Client dargestellte Azure-Containerressource vorhanden ist. false andernfalls.

HINWEIS: Verwenden Sie diese Funktion mit Sorgfalt, da ein vorhandener Container möglicherweise von anderen Clients oder Anwendungen gelöscht wird. Umgekehrt können nach Abschluss dieser Funktion von anderen Clients oder Anwendungen neue Container mit demselben Namen hinzugefügt werden.

function exists(options?: ContainerExistsOptions): Promise<boolean>

Parameter

Gibt zurück

Promise<boolean>

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Blobs mit dem angegebenen Tag unter dem angegebenen Container zu finden.

.byPage() gibt einen asynchronen iterierbaren Iterator zurück, um die Blobs in Seiten aufzulisten.

Beispiel für die Verwendung von for await Syntax:

let i = 1;
for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

Beispiel für die Verwendung von iter.next():

let i = 1;
const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
let blobItem = await iter.next();
while (!blobItem.done) {
  console.log(`Blob ${i++}: ${blobItem.value.name}`);
  blobItem = await iter.next();
}

Beispiel für die Verwendung von byPage():

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 20 })) {
  if (response.blobs) {
    for (const blob of response.blobs) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }
  }
}

Beispiel für die Verwendung von Paging mit einem Marker:

let i = 1;
let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 blob names
if (response.blobs) {
  for (const blob of response.blobs) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = containerClient
  .findBlobsByTags("tagkey='tagvalue'")
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints blob names
if (response.blobs) {
  for (const blob of response.blobs) {
     console.log(`Blob ${i++}: ${blob.name}`);
  }
}
function findBlobsByTags(tagFilterSqlExpression: string, options?: ContainerFindBlobByTagsOptions): PagedAsyncIterableIterator<FilterBlobItem, ContainerFindBlobsByTagsSegmentResponse, PageSettings>

Parameter

tagFilterSqlExpression

string

Der where-Parameter ermöglicht es dem Aufrufer, Blobs abzufragen, deren Tags mit einem bestimmten Ausdruck übereinstimmen. Der angegebene Ausdruck muss als true ausgewertet werden, damit ein Blob in den Ergebnissen zurückgegeben wird. Die Filtersyntaxregel [OData - ABNF] definiert die formale Grammatik für den Wert des Where-Abfrageparameters. allerdings wird nur eine Teilmenge der OData-Filtersyntax im Blobdienst unterstützt.

options
ContainerFindBlobByTagsOptions

Optionen zum Suchen von Blobs nach Tags.

Gibt zurück

generateSasUrl(ContainerGenerateSasUrlOptions)

Nur verfügbar für ContainerClient, der mit Anmeldeinformationen für gemeinsam genutzte Schlüssel erstellt wurde.

Generiert einen SAS-URI (Shared Access Signature, Shared Access Signature) von Blob Container Service basierend auf den übergebenen Clienteigenschaften und Parametern. Die SAS wird von den Anmeldeinformationen für gemeinsam genutzte Schlüssel des Clients signiert.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas.

function generateSasUrl(options: ContainerGenerateSasUrlOptions): Promise<string>

Parameter

options
ContainerGenerateSasUrlOptions

Optionale Parameter.

Gibt zurück

Promise<string>

Der SAS-URI, der aus dem URI für die von diesem Client dargestellte Ressource besteht, gefolgt vom generierten SAS-Token.

getAccessPolicy(ContainerGetAccessPolicyOptions)

Ruft die Berechtigungen für den angegebenen Container ab. Mit den Berechtigungen wird angegeben, ob auf die Containerdaten öffentlich zugegriffen werden kann.

WARNUNG: JavaScript-Datum verliert möglicherweise an Genauigkeit, wenn die Analyse beginntOn und abläuftOn Zeichenfolgen. New Date("2018-12-31T03:44:23.8827891Z"). toISOString() erhält beispielsweise "2018-12-31T03:44:23.882Z".

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl.

function getAccessPolicy(options?: ContainerGetAccessPolicyOptions): Promise<ContainerGetAccessPolicyResponse>

Parameter

options
ContainerGetAccessPolicyOptions

Optionen für container get access policy-Vorgang.

Gibt zurück

getAppendBlobClient(string)

Erstellt einen AppendBlobClient

function getAppendBlobClient(blobName: string): AppendBlobClient

Parameter

blobName

string

Anfügeblobname

Gibt zurück

getBlobBatchClient()

Erstellt ein BlobBatchClient-Objekt zum Ausführen von Batchvorgängen.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch.

function getBlobBatchClient(): BlobBatchClient

Gibt zurück

Ein neues BlobBatchClient-Objekt für diesen Container.

getBlobClient(string)

Erstellt einen BlobClient

function getBlobClient(blobName: string): BlobClient

Parameter

blobName

string

Ein Blobname

Gibt zurück

Ein neues BlobClient-Objekt für den angegebenen Blobnamen.

getBlobLeaseClient(string)

Rufen Sie einen BlobLeaseClient ab, der Leases für den Container verwaltet.

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

Parameter

proposeLeaseId

string

Anfänglich vorgeschlagene Lease-ID.

Gibt zurück

Ein neues BlobLeaseClient-Objekt zum Verwalten von Leases für den Container.

getBlockBlobClient(string)

Erstellt einen BlockBlobClient

function getBlockBlobClient(blobName: string): BlockBlobClient

Parameter

blobName

string

Name eines Blockblobs

Beispielverwendung:

const content = "Hello world!";

const blockBlobClient = containerClient.getBlockBlobClient("<blob name>");
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);

Gibt zurück

getPageBlobClient(string)

Erstellt einen PageBlobClient

function getPageBlobClient(blobName: string): PageBlobClient

Parameter

blobName

string

Ein Seitenblobname

Gibt zurück

getProperties(ContainerGetPropertiesOptions)

Gibt alle benutzerdefinierten Metadaten und Systemeigenschaften für den angegebenen Container zurück. Die zurückgegebenen Daten enthalten nicht die Liste von BLOBs des Containers.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties.

WARNUNG: Das metadata in der Antwort zurückgegebene Objekt weist seine Schlüssel in Kleinbuchstaben auf, auch wenn sie ursprünglich Großbuchstaben enthielten. Dies unterscheidet sich von den Metadatenschlüsseln, die von der listContainersBlobServiceClient-Methode mit der includeMetadata Option zurückgegeben werden, die ihre ursprüngliche Groß- und Kleinschreibung beibehält.

function getProperties(options?: ContainerGetPropertiesOptions): Promise<ContainerGetPropertiesResponse>

Parameter

options
ContainerGetPropertiesOptions

Optionen zum Container get Properties-Vorgang.

Gibt zurück

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Blobs nach Hierarchie aufzulisten. unter dem angegebenen Konto.

.byPage() gibt einen asynchronen iterierbaren Iterator zurück, um die Blobs nach Hierarchie in Seiten aufzulisten.

Beispiel für die Verwendung von for await Syntax:

for await (const item of containerClient.listBlobsByHierarchy("/")) {
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}`);
  }
}

Beispiel für die Verwendung von 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}`);
  }
  entity = await iter.next();
}

Beispiel für die Verwendung von 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}`);
  }
}

Beispiel für die Verwendung von Paging mit einer maximalen Seitengröße:

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}`);
  }
}
function listBlobsByHierarchy(delimiter: string, options?: ContainerListBlobsOptions): PagedAsyncIterableIterator<({ kind: "prefix" } & BlobPrefix) | ({ kind: "blob" } & BlobItem), ContainerListBlobHierarchySegmentResponse, PageSettings>

Parameter

delimiter

string

Das Zeichen oder die Zeichenfolge, die zum Definieren der virtuellen Hierarchie verwendet wird

options
ContainerListBlobsOptions

Optionen zum Auflisten von Blobs.

Gibt zurück

listBlobsFlat(ContainerListBlobsOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, der alle Blobs unter dem angegebenen Konto auflistet.

.byPage() gibt einen asynchronen iterablen Iterator zurück, um die Blobs in Seiten auflisten zu können.

Beispiel mit for await Syntax:

// 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}`);
}

Beispiel für die Verwendung von 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();
}

Beispiel für die Verwendung von 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}`);
  }
}

Beispiel für die Verwendung von Paging mit einem Marker:

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): PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse, PageSettings>

Parameter

options
ContainerListBlobsOptions

Optionen zum Auflisten von Blobs.

Gibt zurück

Ein asyncIterableIterator, der Paging unterstützt.

setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

Legt die Berechtigungen für den angegebenen Container fest. Die Berechtigungen geben an, ob öffentlicher Zugriff auf BLOBs in einem Container zulässig ist.

Wenn Sie Berechtigungen für einen Container festlegen, werden die vorhandenen Berechtigungen ersetzt. Wenn kein Zugriff oder containerAcl bereitgestellt wird, wird die vorhandene Container-ACL entfernt.

Wenn Sie eine gespeicherte Zugriffsrichtlinie für einen Container einrichten, kann es bis zu 30 Sekunden dauern, bis die Richtlinie angewendet wird. Während dieses Intervalls schlägt eine SAS, die der gespeicherten Zugriffsrichtlinie zugeordnet ist, mit dem Statuscode 403 (Unzulässig) so lange fehl, bis die Zugriffsrichtlinie aktiv ist.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl.

function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions): Promise<ContainerSetAccessPolicyResponse>

Parameter

access
PublicAccessType

Die Ebene des öffentlichen Zugriffs auf Daten im Container.

containerAcl

SignedIdentifier[]

Array von Elementen, die jeweils über eine eindeutige ID und Details der Zugriffsrichtlinie verfügen.

options
ContainerSetAccessPolicyOptions

Optionen zum Container set Access Policy-Vorgang.

Gibt zurück

setMetadata(Metadata, ContainerSetMetadataOptions)

Legt mindestens ein benutzerdefiniertes Name-Wert-Paar für den angegebenen Container fest.

Wenn keine Option oder keine im Parameter definierten Metadaten angegeben sind, werden die Containermetadaten entfernt.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata.

function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions): Promise<ContainerSetMetadataResponse>

Parameter

metadata
Metadata

Ersetzen Sie vorhandene Metadaten durch diesen Wert. Wenn kein Wert angegeben ist, werden die vorhandenen Metadaten entfernt.

options
ContainerSetMetadataOptions

Optionen zum Container set Metadata-Vorgang.

Gibt zurück

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Partielle Updates werden nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Verwenden Sie stageBlock und commitBlockList, um eine partielle Aktualisierung eines Blockblobs durchzuführen.

Dies ist eine nicht parallele Uploadmethode. Verwenden Sie uploadFile, uploadStream oder uploadBrowserData , um eine bessere Leistung bei Parallelitätsuploads zu erzielen.

Siehe https://docs.microsoft.com/rest/api/storageservices/put-blob.

function uploadBlockBlob(blobName: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions): Promise<{ blockBlobClient: BlockBlobClient, response: BlockBlobUploadResponse }>

Parameter

blobName

string

Name des zu erstellenden oder zu aktualisierenden Blockblobs.

body
HttpRequestBody

Blob, String, ArrayBuffer, ArrayBufferView oder eine Funktion, die einen neuen lesbaren Datenstrom zurückgibt, dessen Offset vom Anfang der Datenquelle stammt.

contentLength

number

Länge des Texts in Bytes. Verwenden Sie Buffer.byteLength(), um die Länge des Texts für eine Zeichenfolge zu berechnen, einschließlich nicht base64/Hex-codierter Zeichen.

options
BlockBlobUploadOptions

Optionen zum Konfigurieren des Vorgangs Block Blob Upload.

Gibt zurück

Promise<{ blockBlobClient: BlockBlobClient, response: BlockBlobUploadResponse }>

Blockblob lädt Antwortdaten und die entsprechende BlockBlobClient-Instanz hoch.