Freigeben über


ContainerClient class

Ein ContainerClient stellt eine URL zum Azure Storage-Container dar, sodass Sie seine 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. Codierte URL-Zeichenfolge wird nicht zweimal escapet, es werden nur Sonderzeichen im URL-Pfad escaped. Wenn ein BLOB-Name enthält? oder %muss der BLOB-Name 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. Codierte URL-Zeichenfolge wird nicht zweimal escapet, es werden nur Sonderzeichen im URL-Pfad escaped. Wenn ein BLOB-Name enthält? oder %muss der BLOB-Name in der URL codiert werden.

ContainerClient(string, string, StoragePipelineOptions)

Erstellt eine Instanz von ContainerClient.

Eigenschaften

containerName

Der Name des Containers.

Geerbte Eigenschaften

accountName
credential

Wie anonyme Anmeldeinformationen, StorageSharedKeyCredential oder anmeldeinformationen aus dem @azure/identity-Paket zum Authentifizieren von Anforderungen an den Dienst. Sie können auch ein Objekt bereitstellen, das die TokenCredential-Schnittstelle implementiert. Wenn nicht angegeben, wird AnonymousCredential verwendet.

url

Codierter URL-Zeichenfolgenwert.

Methoden

create(ContainerCreateOptions)

Erstellt einen neuen Container unter dem angegebenen Konto. Wenn der 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 Garbage Collection 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 für das Löschen. Das Blob wird später während der Garbage Collection gelöscht. Beachten Sie, dass Sie zum Löschen eines Blobs alle 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 für den Löschvorgang, falls vorhanden. Der Container und alle darin enthaltenen Blobs werden später während der Garbage Collection 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. andernfalls "false".

HINWEIS: Verwenden Sie diese Funktion sorgfältig, da ein vorhandener Container möglicherweise von anderen Clients oder Anwendungen gelöscht wird. Umgekehrt können neue Container mit demselben Namen von anderen Clients oder Anwendungen hinzugefügt werden, nachdem diese Funktion abgeschlossen wurde.

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 auf Seiten auflisten zu können.

Beispiel mit 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 das Paging mit einer Markierung:

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 für ContainerClient verfügbar, der mit freigegebenen Schlüsselanmeldeinformationen erstellt wurde.

Generiert einen SAS-URI (Blob Container Service Shared Access Signature) basierend auf den Clienteigenschaften und Parametern, die übergeben werden. Die SAS wird von den freigegebenen Schlüsselanmeldeinformationen 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. Die Berechtigungen geben an, ob auf Containerdaten öffentlich zugegriffen werden kann.

WARNUNG: Das JavaScript-Datum verliert möglicherweise die Genauigkeit, wenn die Analyse beginntOn und läuftOn-Zeichenfolgen ab. Beispiel: "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

getAccountInfo(ContainerGetAccountInfoOptions)

Der Vorgang "Kontoinformationen abrufen" gibt den SKU-Namen und die Kontoart für das angegebene Konto zurück. Der Vorgang "Kontoinformationen abrufen" ist in Dienstversionen ab Version 2018-03-28 verfügbar.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information

getAppendBlobClient(string)

Erstellt eine AppendBlobClient-

getBlobBatchClient()

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

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

getBlobClient(string)

Erstellt eine BlobClient-

getBlobLeaseClient(string)

Rufen Sie eine BlobLeaseClient- ab, die Leases für den Container verwaltet.

getBlockBlobClient(string)

Erstellt eine BlockBlobClient-

getPageBlobClient(string)

Erstellt eine PageBlobClient-

getProperties(ContainerGetPropertiesOptions)

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

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

WARNUNG: Das in der Antwort zurückgegebene metadata-Objekt weist die Schlüssel in Kleinbuchstaben auf, auch wenn sie ursprünglich Großbuchstaben enthielten. Dies unterscheidet sich von den Metadatenschlüsseln, die von der listContainers Methode von BlobServiceClient unter Verwendung der option includeMetadata zurückgegeben werden, wodurch die ursprüngliche Groß-/Kleinschreibung beibehalten wird.

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Blobs nach Hierarchie auflisten zu können. unter dem angegebenen Konto.

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

Beispiel mit 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 das 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, um alle Blobs unter dem angegebenen Konto auflisten zu können.

.byPage() gibt einen asynchronen iterierbaren Iterator zurück, um die Blobs auf 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 das Paging mit einer Markierung:

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 auf Blobs in einem Container öffentlich zugegriffen werden kann.

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 sie wirksam wird. Während dieses Intervalls schlägt eine freigegebene Zugriffssignatur, die der gespeicherten Zugriffsrichtlinie zugeordnet ist, mit dem Statuscode 403 (Verboten) fehl, bis die Zugriffsrichtlinie aktiv wird.

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

setMetadata(Metadata, ContainerSetMetadataOptions)

Legt ein oder mehrere benutzerdefinierte Name-Wert-Paare für den angegebenen Container fest.

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

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

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

Erstellt ein neues Block-Blob oder aktualisiert den Inhalt eines vorhandenen Block-Blobs.

Beim Aktualisieren eines vorhandenen Block-Blobs 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 teilweise Aktualisierung der Block-Blobs durchzuführen.

Dies ist eine nicht parallele Uploadmethode, verwenden Sie bitte uploadFile-, uploadStream- oder uploadBrowserData- für eine bessere Leistung beim Parallelupload.

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. Codierte URL-Zeichenfolge wird nicht zweimal escapet, es werden nur Sonderzeichen im URL-Pfad escaped. Wenn ein BLOB-Name enthält? oder %muss der BLOB-Name 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 Anonyme Anmeldeinformationen verwendet werden, 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. Codierte URL-Zeichenfolge wird nicht zweimal escapet, es werden nur Sonderzeichen im URL-Pfad escaped. Wenn ein BLOB-Name enthält? oder %muss der BLOB-Name 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 Anonyme Anmeldeinformationen verwendet werden, z. B. "https://myaccount.blob.core.windows.net/mycontainer?sasString".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Wie anonyme Anmeldeinformationen, StorageSharedKeyCredential oder anmeldeinformationen aus dem @azure/identity-Paket zum Authentifizieren von Anforderungen an den Dienst. Sie können auch ein Objekt bereitstellen, das die TokenCredential-Schnittstelle implementiert. Wenn nicht angegeben, wird AnonymousCredential verwendet.

options
StoragePipelineOptions

Wahlfrei. 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 : Kontoverbindungszeichenfolge kann nur in NODE.JS Laufzeit verwendet werden. ] Beispiel für kontoverbindungszeichenfolge - beispiel für DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net SAS-Verbindungszeichenfolge - 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

Containername.

options
StoragePipelineOptions

Wahlfrei. 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

Wie anonyme Anmeldeinformationen, StorageSharedKeyCredential oder anmeldeinformationen aus dem @azure/identity-Paket zum Authentifizieren von Anforderungen an den Dienst. Sie können auch ein Objekt bereitstellen, das die TokenCredential-Schnittstelle implementiert. Wenn nicht angegeben, wird AnonymousCredential verwendet.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Eigenschaftswert

von StorageClient.credential geerbt

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 der 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 für den 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 Garbage Collection gelöscht.

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

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

Parameter

options
ContainerDeleteMethodOptions

Optionen für containerlöschvorgang.

Gibt zurück

deleteBlob(string, ContainerDeleteBlobOptions)

Markiert das angegebene Blob oder die angegebene Momentaufnahme für das Löschen. Das Blob wird später während der Garbage Collection gelöscht. Beachten Sie, dass Sie zum Löschen eines Blobs alle 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 für blob Delete-Vorgang.

Gibt zurück

Block blob deletion response data.

deleteIfExists(ContainerDeleteMethodOptions)

Markiert den angegebenen Container für den Löschvorgang, falls vorhanden. Der Container und alle darin enthaltenen Blobs werden später während der Garbage Collection gelöscht.

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

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

Parameter

options
ContainerDeleteMethodOptions

Optionen für containerlöschvorgang.

Gibt zurück

exists(ContainerExistsOptions)

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

HINWEIS: Verwenden Sie diese Funktion sorgfältig, da ein vorhandener Container möglicherweise von anderen Clients oder Anwendungen gelöscht wird. Umgekehrt können neue Container mit demselben Namen von anderen Clients oder Anwendungen hinzugefügt werden, nachdem diese Funktion abgeschlossen wurde.

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 auf Seiten auflisten zu können.

Beispiel mit 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 das Paging mit einer Markierung:

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

Mit dem Parameter "where" kann der Aufrufer Blobs abfragen, deren Tags einem bestimmten Ausdruck entsprechen. Der angegebene Ausdruck muss als "true" ausgewertet werden, damit ein BLOB in den Ergebnissen zurückgegeben wird. Die [OData - ABNF]-Filtersyntaxregel definiert die formale Grammatik für den Wert des Abfrageparameters; Im Blob-Dienst wird jedoch nur eine Teilmenge der OData-Filtersyntax unterstützt.

options
ContainerFindBlobByTagsOptions

Optionen zum Suchen von Blobs nach Tags.

Gibt zurück

generateSasUrl(ContainerGenerateSasUrlOptions)

Nur für ContainerClient verfügbar, der mit freigegebenen Schlüsselanmeldeinformationen erstellt wurde.

Generiert einen SAS-URI (Blob Container Service Shared Access Signature) basierend auf den Clienteigenschaften und Parametern, die übergeben werden. Die SAS wird von den freigegebenen Schlüsselanmeldeinformationen 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 Ressource besteht, die von diesem Client dargestellt wird, gefolgt vom generierten SAS-Token.

getAccessPolicy(ContainerGetAccessPolicyOptions)

Ruft die Berechtigungen für den angegebenen Container ab. Die Berechtigungen geben an, ob auf Containerdaten öffentlich zugegriffen werden kann.

WARNUNG: Das JavaScript-Datum verliert möglicherweise die Genauigkeit, wenn die Analyse beginntOn und läuftOn-Zeichenfolgen ab. Beispiel: "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 den Containerzugriffsrichtlinienvorgang.

Gibt zurück

getAccountInfo(ContainerGetAccountInfoOptions)

Der Vorgang "Kontoinformationen abrufen" gibt den SKU-Namen und die Kontoart für das angegebene Konto zurück. Der Vorgang "Kontoinformationen abrufen" ist in Dienstversionen ab Version 2018-03-28 verfügbar.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information

function getAccountInfo(options?: ContainerGetAccountInfoOptions): Promise<ContainerGetAccountInfoResponse>

Parameter

options
ContainerGetAccountInfoOptions

Optionen für den Service Get Account Info-Vorgang.

Gibt zurück

Antwortdaten für den Service Get Account Info-Vorgang.

getAppendBlobClient(string)

Erstellt eine AppendBlobClient-

function getAppendBlobClient(blobName: string): AppendBlobClient

Parameter

blobName

string

An append blob name

Gibt zurück

getBlobBatchClient()

Erstellt ein BlobBatchClient -Objekt zum Durchfü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 eine BlobClient-

function getBlobClient(blobName: string): BlobClient

Parameter

blobName

string

Ein BLOB-Name

Gibt zurück

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

getBlobLeaseClient(string)

Rufen Sie eine BlobLeaseClient- ab, die 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 auf dem Container.

getBlockBlobClient(string)

Erstellt eine BlockBlobClient-

function getBlockBlobClient(blobName: string): BlockBlobClient

Parameter

blobName

string

Ein Block-BLOB-Name

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 eine PageBlobClient-

function getPageBlobClient(blobName: string): PageBlobClient

Parameter

blobName

string

Ein Seiten-BLOB-Name

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 der Blobs des Containers.

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

WARNUNG: Das in der Antwort zurückgegebene metadata-Objekt weist die Schlüssel in Kleinbuchstaben auf, auch wenn sie ursprünglich Großbuchstaben enthielten. Dies unterscheidet sich von den Metadatenschlüsseln, die von der listContainers Methode von BlobServiceClient unter Verwendung der option includeMetadata zurückgegeben werden, wodurch die ursprüngliche Groß-/Kleinschreibung beibehalten wird.

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

Parameter

options
ContainerGetPropertiesOptions

Optionen für container Get Properties-Vorgang.

Gibt zurück

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Blobs nach Hierarchie auflisten zu können. unter dem angegebenen Konto.

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

Beispiel mit 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 das 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 zum Definieren der virtuellen Hierarchie

options
ContainerListBlobsOptions

Optionen zum Auflisten des Blobs-Vorgangs.

Gibt zurück

listBlobsFlat(ContainerListBlobsOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Blobs unter dem angegebenen Konto auflisten zu können.

.byPage() gibt einen asynchronen iterierbaren Iterator zurück, um die Blobs auf 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 das Paging mit einer Markierung:

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 auf Blobs in einem Container öffentlich zugegriffen werden kann.

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 sie wirksam wird. Während dieses Intervalls schlägt eine freigegebene Zugriffssignatur, die der gespeicherten Zugriffsrichtlinie zugeordnet ist, mit dem Statuscode 403 (Verboten) fehl, bis die Zugriffsrichtlinie aktiv wird.

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 mit einer eindeutigen ID und Details der Zugriffsrichtlinie.

options
ContainerSetAccessPolicyOptions

Optionen für den Vorgang "Zugriffsrichtlinie für Container festlegen".

Gibt zurück

setMetadata(Metadata, ContainerSetMetadataOptions)

Legt ein oder mehrere benutzerdefinierte Name-Wert-Paare für den angegebenen Container fest.

Wenn im Parameter keine Option angegeben oder keine Metadaten definiert 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 bereitgestellt wird, werden die vorhandenen Metadaten entfernt.

options
ContainerSetMetadataOptions

Optionen für den Containersatz-Metadatenvorgang.

Gibt zurück

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

Erstellt ein neues Block-Blob oder aktualisiert den Inhalt eines vorhandenen Block-Blobs.

Beim Aktualisieren eines vorhandenen Block-Blobs 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 teilweise Aktualisierung der Block-Blobs durchzuführen.

Dies ist eine nicht parallele Uploadmethode, verwenden Sie bitte uploadFile-, uploadStream- oder uploadBrowserData- für eine bessere Leistung beim Parallelupload.

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

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

Parameter

blobName

string

Name des zu erstellenden oder aktualisierenden Block-Blobs.

body
HttpRequestBody

Blob, Zeichenfolge, ArrayBuffer, ArrayBufferView oder eine Funktion, die einen neuen lesbaren Datenstrom zurückgibt, dessen Offset von Der Datenquelle beginnt.

contentLength

number

Länge des Textkörpers in Byte. Verwenden Sie Buffer.byteLength() zum Berechnen der Textlänge für eine Zeichenfolge, einschließlich nicht base64/Hex-codierter Zeichen.

options
BlockBlobUploadOptions

Optionen zum Konfigurieren des Vorgangs "Blob-Upload blockieren".

Gibt zurück

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

Block Blob Upload Antwortdaten und die entsprechende BlockBlobClient-Instanz.