ContainerClient class

Obiekt ContainerClient reprezentuje adres URL kontenera usługi Azure Storage, który umożliwia manipulowanie jego obiektami blob.

Extends

StorageClient

Konstruktory

ContainerClient(string, PipelineLike)

Tworzy wystąpienie klasy ContainerClient. Ta metoda akceptuje adres URL wskazujący kontener. Zakodowany ciąg adresu URL nie zostanie uniknięci dwa razy. Tylko znaki specjalne w ścieżce adresu URL zostaną zmienione. Jeśli nazwa obiektu blob zawiera wartość ? lub %, nazwa obiektu blob musi być zakodowana w adresie URL.

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

Tworzy wystąpienie klasy ContainerClient. Ta metoda akceptuje adres URL wskazujący kontener. Zakodowany ciąg adresu URL nie zostanie uniknięci dwa razy. Tylko znaki specjalne w ścieżce adresu URL zostaną zmienione. Jeśli nazwa obiektu blob zawiera wartość ? lub %, nazwa obiektu blob musi być zakodowana w adresie URL.

ContainerClient(string, string, StoragePipelineOptions)

Tworzy wystąpienie klasy ContainerClient.

Właściwości

containerName

Nazwa kontenera.

Właściwości dziedziczone

accountName
credential

Takie jak AnonymousCredential, StorageSharedKeyCredential lub dowolne poświadczenia z pakietu w @azure/identity celu uwierzytelnienia żądań do usługi. Można również podać obiekt, który implementuje interfejs TokenCredential. Jeśli nie zostanie określony, zostanie użyty parametr AnonymousCredential.

url

Zakodowana wartość ciągu adresu URL.

Metody

create(ContainerCreateOptions)

Tworzy nowy kontener w ramach określonego konta. Jeśli kontener o tej samej nazwie już istnieje, operacja zakończy się niepowodzeniem.

Zobacz https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Reguły nazewnictwa: Zobacz https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

createIfNotExists(ContainerCreateOptions)

Tworzy nowy kontener w ramach określonego konta. Jeśli kontener o tej samej nazwie już istnieje, nie zostanie zmieniony.

Zobacz https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Reguły nazewnictwa: Zobacz https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

delete(ContainerDeleteMethodOptions)

Oznacza określony kontener do usunięcia. Kontener i wszystkie zawarte w nim obiekty blob zostaną później usunięte podczas odzyskiwania pamięci.

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

deleteBlob(string, ContainerDeleteBlobOptions)

Oznacza określony obiekt blob lub migawkę do usunięcia. Obiekt blob zostanie później usunięty podczas odzyskiwania pamięci. Należy pamiętać, że aby usunąć obiekt blob, należy usunąć wszystkie jego migawki. Oba te elementy można usunąć jednocześnie za pomocą operacji Usuń obiekt blob.

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

deleteIfExists(ContainerDeleteMethodOptions)

Oznacza określony kontener do usunięcia, jeśli istnieje. Kontener i wszystkie zawarte w nim obiekty blob zostaną później usunięte podczas odzyskiwania pamięci.

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

exists(ContainerExistsOptions)

Zwraca wartość true, jeśli zasób kontenera platformy Azure reprezentowany przez tego klienta istnieje; w przeciwnym razie wartość false.

UWAGA: użyj tej funkcji z ostrożnością, ponieważ istniejący kontener może zostać usunięty przez innych klientów lub aplikacje. Na odwrót nowe kontenery o tej samej nazwie mogą zostać dodane przez innych klientów lub aplikacje po zakończeniu tej funkcji.

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Zwraca iterator asynchroniczny w celu znalezienia wszystkich obiektów blob z określonym tagiem w określonym kontenerze.

Funkcja .byPage() zwraca iterator asynchroniczny, aby wyświetlić listę obiektów blob na stronach.

Przykład użycia for await składni:

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

Przykład użycia polecenia 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();
}

Przykład użycia polecenia 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}`);
    }
  }
}

Przykład użycia stronicowania ze znacznikiem:

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)

Jest dostępny tylko dla elementu ContainerClient skonstruowanego przy użyciu poświadczeń klucza współużytkowanego.

Generuje identyfikator URI sygnatury dostępu współdzielonego usługi kontenera obiektów blob na podstawie przekazanych właściwości i parametrów klienta. Sygnatura dostępu współdzielonego jest podpisana przy użyciu poświadczeń klucza współużytkowanego klienta.

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

getAccessPolicy(ContainerGetAccessPolicyOptions)

Pobiera uprawnienia dla określonego kontenera. Uprawnienia wskazują, czy dane kontenera mogą być dostępne publicznie.

OSTRZEŻENIE: Data języka JavaScript może utracić dokładność podczas analizowania wartości startsOn i expiresOn ciągów. Na przykład nowa data("2018-12-31T03:44:23.8827891Z").toISOString() otrzyma wartość "2018-12-31T03:44:23.882Z".

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

getAppendBlobClient(string)

Tworzy element AppendBlobClient

getBlobBatchClient()

Tworzy obiekt BlobBatchClient do przeprowadzania operacji wsadowych.

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

getBlobClient(string)

Tworzy obiekt BlobClient

getBlobLeaseClient(string)

Pobierz obiekt BlobLeaseClient , który zarządza dzierżawami w kontenerze.

getBlockBlobClient(string)

Tworzy element BlockBlobClient

getPageBlobClient(string)

Tworzy obiekt PageBlobClient

getProperties(ContainerGetPropertiesOptions)

Zwraca wszystkie metadane zdefiniowane przez użytkownika i właściwości systemu dla określonego kontenera. Zwrócone dane nie zawierają listy obiektów blob kontenera.

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

OSTRZEŻENIE: metadata Obiekt zwrócony w odpowiedzi będzie miał swoje klucze małymi literami, nawet jeśli pierwotnie zawierał wielkie litery. Różni się to od kluczy metadanych zwracanych przez listContainers metodę BlobServiceClient przy użyciu includeMetadata opcji , która zachowa oryginalną wielkość liter.

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Zwraca iterator asynchroniczny, aby wyświetlić listę wszystkich obiektów blob według hierarchii. w ramach określonego konta.

Funkcja .byPage() zwraca iterator asynchroniczny, aby wyświetlić listę obiektów blob według hierarchii na stronach.

Przykład użycia for await składni:

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

Przykład użycia polecenia 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();
}

Przykład użycia polecenia 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}`);
  }
}

Przykład użycia stronicowania z maksymalnym rozmiarem strony:

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)

Zwraca iterator asynchroniczny, aby wyświetlić listę wszystkich obiektów blob w ramach określonego konta.

Funkcja .byPage() zwraca iterator asynchroniczny, aby wyświetlić listę obiektów blob na stronach.

Przykład użycia for await składni:

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

Przykład przy użyciu polecenia 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();
}

Przykład przy użyciu polecenia 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}`);
  }
}

Przykład użycia stronicowania ze znacznikiem:

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)

Ustawia uprawnienia dla określonego kontenera. Uprawnienia wskazują, czy obiekty blob w kontenerze mogą być dostępne publicznie.

Po ustawieniu uprawnień dla kontenera istniejące uprawnienia zostaną zastąpione. Jeśli nie podano dostępu lub listy ACL kontenera, istniejąca lista ACL kontenera zostanie usunięta.

Po ustanowieniu przechowywanych zasad dostępu w kontenerze może upłynąć do 30 sekund. W tym interwale sygnatura dostępu współdzielonego skojarzona z zapisanymi zasadami dostępu zakończy się niepowodzeniem z kodem stanu 403 (Zabronione), dopóki zasady dostępu nie staną się aktywne.

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

setMetadata(Metadata, ContainerSetMetadataOptions)

Ustawia co najmniej jedną parę nazwa-wartość zdefiniowaną przez użytkownika dla określonego kontenera.

Jeśli nie podano żadnej opcji lub żadne metadane zdefiniowane w parametrze, metadane kontenera zostaną usunięte.

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

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

Tworzy nowy blokowy obiekt blob lub aktualizuje zawartość istniejącego blokowego obiektu blob.

Aktualizowanie istniejącego blokowego obiektu blob zastępuje wszystkie istniejące metadane w obiekcie blob. Aktualizacje częściowe nie są obsługiwane; zawartość istniejącego obiektu blob jest zastępowana nową zawartością. Aby wykonać częściową aktualizację blokowych obiektów blob, użyj elementu stageBlock i commitBlockList.

Jest to metoda przekazywania nie równoległego, użyj metody uploadFile, uploadStream lub uploadBrowserData , aby uzyskać lepszą wydajność z przekazywaniem współbieżności.

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

Szczegóły konstruktora

ContainerClient(string, PipelineLike)

Tworzy wystąpienie klasy ContainerClient. Ta metoda akceptuje adres URL wskazujący kontener. Zakodowany ciąg adresu URL nie zostanie uniknięci dwa razy. Tylko znaki specjalne w ścieżce adresu URL zostaną zmienione. Jeśli nazwa obiektu blob zawiera wartość ? lub %, nazwa obiektu blob musi być zakodowana w adresie URL.

new ContainerClient(url: string, pipeline: PipelineLike)

Parametry

url

string

Ciąg adresu URL wskazujący kontener usługi Azure Storage, taki jak "https://myaccount.blob.core.windows.net/mycontainer". Sygnaturę dostępu współdzielonego można dołączyć, jeśli używasz elementu AnonymousCredential, takiego jak "https://myaccount.blob.core.windows.net/mycontainer?sasString".

pipeline
PipelineLike

Wywołaj metodę newPipeline(), aby utworzyć domyślny potok, lub podaj dostosowany potok.

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

Tworzy wystąpienie klasy ContainerClient. Ta metoda akceptuje adres URL wskazujący kontener. Zakodowany ciąg adresu URL nie zostanie uniknięci dwa razy. Tylko znaki specjalne w ścieżce adresu URL zostaną zmienione. Jeśli nazwa obiektu blob zawiera wartość ? lub %, nazwa obiektu blob musi być zakodowana w adresie URL.

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

Parametry

url

string

Ciąg adresu URL wskazujący kontener usługi Azure Storage, taki jak "https://myaccount.blob.core.windows.net/mycontainer". Sygnaturę dostępu współdzielonego można dołączyć, jeśli używasz elementu AnonymousCredential, takiego jak "https://myaccount.blob.core.windows.net/mycontainer?sasString".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Takie jak AnonymousCredential, StorageSharedKeyCredential lub dowolne poświadczenia z pakietu w @azure/identity celu uwierzytelnienia żądań do usługi. Można również podać obiekt, który implementuje interfejs TokenCredential. Jeśli nie zostanie określony, zostanie użyty parametr AnonymousCredential.

options
StoragePipelineOptions

Opcjonalny. Opcje konfigurowania potoku HTTP.

ContainerClient(string, string, StoragePipelineOptions)

Tworzy wystąpienie klasy ContainerClient.

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

Parametry

connectionString

string

Parametry połączenia konta lub parametry połączenia sygnatury dostępu współdzielonego konta usługi Azure Storage. [ Uwaga — parametry połączenia konta mogą być używane tylko w środowisku uruchomieniowym NODE.JS. ] Przykład parametrów połączenia konta —DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net Przykład parametrów połączenia sygnatury dostępu współdzielonego — 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

Nazwa kontenera.

options
StoragePipelineOptions

Opcjonalny. Opcje konfigurowania potoku HTTP.

Szczegóły właściwości

containerName

Nazwa kontenera.

string containerName

Wartość właściwości

string

Szczegóły właściwości dziedziczonej

accountName

accountName: string

Wartość właściwości

string

Dziedziczone z StorageClient.accountName

credential

Takie jak AnonymousCredential, StorageSharedKeyCredential lub dowolne poświadczenia z pakietu w @azure/identity celu uwierzytelnienia żądań do usługi. Można również podać obiekt, który implementuje interfejs TokenCredential. Jeśli nie zostanie określony, zostanie użyty parametr AnonymousCredential.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Wartość właściwości

Dziedziczone z StorageClient.credential

url

Zakodowana wartość ciągu adresu URL.

url: string

Wartość właściwości

string

Dziedziczone z StorageClient.url

Szczegóły metody

create(ContainerCreateOptions)

Tworzy nowy kontener w ramach określonego konta. Jeśli kontener o tej samej nazwie już istnieje, operacja zakończy się niepowodzeniem.

Zobacz https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Reguły nazewnictwa: Zobacz https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

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

Parametry

options
ContainerCreateOptions

Opcje operacji tworzenia kontenera.

Przykład użycia:

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

Zwraca

createIfNotExists(ContainerCreateOptions)

Tworzy nowy kontener w ramach określonego konta. Jeśli kontener o tej samej nazwie już istnieje, nie zostanie zmieniony.

Zobacz https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Reguły nazewnictwa: Zobacz https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

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

Parametry

Zwraca

delete(ContainerDeleteMethodOptions)

Oznacza określony kontener do usunięcia. Kontener i wszystkie zawarte w nim obiekty blob zostaną później usunięte podczas odzyskiwania pamięci.

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

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

Parametry

options
ContainerDeleteMethodOptions

Opcje operacji usuwania kontenera.

Zwraca

deleteBlob(string, ContainerDeleteBlobOptions)

Oznacza określony obiekt blob lub migawkę do usunięcia. Obiekt blob zostanie później usunięty podczas odzyskiwania pamięci. Należy pamiętać, że aby usunąć obiekt blob, należy usunąć wszystkie jego migawki. Oba te elementy można usunąć jednocześnie za pomocą operacji Usuń obiekt blob.

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

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

Parametry

blobName

string

options
ContainerDeleteBlobOptions

Opcje operacji usuwania obiektów blob.

Zwraca

Dane odpowiedzi dotyczące usuwania blokowych obiektów blob.

deleteIfExists(ContainerDeleteMethodOptions)

Oznacza określony kontener do usunięcia, jeśli istnieje. Kontener i wszystkie zawarte w nim obiekty blob zostaną później usunięte podczas odzyskiwania pamięci.

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

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

Parametry

options
ContainerDeleteMethodOptions

Opcje operacji usuwania kontenera.

Zwraca

exists(ContainerExistsOptions)

Zwraca wartość true, jeśli zasób kontenera platformy Azure reprezentowany przez tego klienta istnieje; w przeciwnym razie wartość false.

UWAGA: użyj tej funkcji z ostrożnością, ponieważ istniejący kontener może zostać usunięty przez innych klientów lub aplikacje. Na odwrót nowe kontenery o tej samej nazwie mogą zostać dodane przez innych klientów lub aplikacje po zakończeniu tej funkcji.

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

Parametry

Zwraca

Promise<boolean>

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Zwraca iterator asynchroniczny w celu znalezienia wszystkich obiektów blob z określonym tagiem w określonym kontenerze.

Funkcja .byPage() zwraca iterator asynchroniczny, aby wyświetlić listę obiektów blob na stronach.

Przykład użycia for await składni:

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

Przykład użycia polecenia 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();
}

Przykład użycia polecenia 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}`);
    }
  }
}

Przykład użycia stronicowania ze znacznikiem:

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>

Parametry

tagFilterSqlExpression

string

Parametr where umożliwia obiektowi wywołującego wykonywanie zapytań o obiekty blob, których tagi są zgodne z danym wyrażeniem. Podane wyrażenie musi mieć wartość true, aby obiekt blob został zwrócony w wynikach. Reguła składni filtru [OData - ABNF] definiuje formalną gramatykę dla wartości parametru where query; jednak w usłudze Blob Service jest obsługiwany tylko podzbiór składni filtru OData.

options
ContainerFindBlobByTagsOptions

Opcje znajdowania obiektów blob według tagów.

Zwraca

PagedAsyncIterableIterator<FilterBlobItem, ContainerFindBlobsByTagsSegmentResponse, PageSettings>

generateSasUrl(ContainerGenerateSasUrlOptions)

Jest dostępny tylko dla elementu ContainerClient skonstruowanego przy użyciu poświadczeń klucza współużytkowanego.

Generuje identyfikator URI sygnatury dostępu współdzielonego usługi kontenera obiektów blob na podstawie przekazanych właściwości i parametrów klienta. Sygnatura dostępu współdzielonego jest podpisana przy użyciu poświadczeń klucza współużytkowanego klienta.

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

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

Parametry

options
ContainerGenerateSasUrlOptions

Parametry opcjonalne.

Zwraca

Promise<string>

Identyfikator URI sygnatury dostępu współdzielonego składający się z identyfikatora URI do zasobu reprezentowanego przez tego klienta, a następnie wygenerowany token SYGNATURy dostępu współdzielonego.

getAccessPolicy(ContainerGetAccessPolicyOptions)

Pobiera uprawnienia dla określonego kontenera. Uprawnienia wskazują, czy dane kontenera mogą być dostępne publicznie.

OSTRZEŻENIE: Data języka JavaScript może utracić dokładność podczas analizowania wartości startsOn i expiresOn ciągów. Na przykład nowa data("2018-12-31T03:44:23.8827891Z").toISOString() otrzyma wartość "2018-12-31T03:44:23.882Z".

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

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

Parametry

options
ContainerGetAccessPolicyOptions

Opcje operacji Uzyskiwanie zasad dostępu do kontenera.

Zwraca

getAppendBlobClient(string)

Tworzy element AppendBlobClient

function getAppendBlobClient(blobName: string): AppendBlobClient

Parametry

blobName

string

Nazwa uzupełnialnych obiektów blob

Zwraca

getBlobBatchClient()

Tworzy obiekt BlobBatchClient do przeprowadzania operacji wsadowych.

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

function getBlobBatchClient(): BlobBatchClient

Zwraca

Nowy obiekt BlobBatchClient dla tego kontenera.

getBlobClient(string)

Tworzy obiekt BlobClient

function getBlobClient(blobName: string): BlobClient

Parametry

blobName

string

Nazwa obiektu blob

Zwraca

Nowy obiekt BlobClient dla danej nazwy obiektu blob.

getBlobLeaseClient(string)

Pobierz obiekt BlobLeaseClient , który zarządza dzierżawami w kontenerze.

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

Parametry

proposeLeaseId

string

Początkowy identyfikator proponowanej dzierżawy.

Zwraca

Nowy obiekt BlobLeaseClient do zarządzania dzierżawami w kontenerze.

getBlockBlobClient(string)

Tworzy element BlockBlobClient

function getBlockBlobClient(blobName: string): BlockBlobClient

Parametry

blobName

string

Nazwa blokowego obiektu blob

Przykład użycia:

const content = "Hello world!";

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

Zwraca

getPageBlobClient(string)

Tworzy obiekt PageBlobClient

function getPageBlobClient(blobName: string): PageBlobClient

Parametry

blobName

string

Nazwa stronicowego obiektu blob

Zwraca

getProperties(ContainerGetPropertiesOptions)

Zwraca wszystkie metadane zdefiniowane przez użytkownika i właściwości systemu dla określonego kontenera. Zwrócone dane nie zawierają listy obiektów blob kontenera.

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

OSTRZEŻENIE: metadata Obiekt zwrócony w odpowiedzi będzie miał swoje klucze małymi literami, nawet jeśli pierwotnie zawierał wielkie litery. Różni się to od kluczy metadanych zwracanych przez listContainers metodę BlobServiceClient przy użyciu includeMetadata opcji , która zachowa oryginalną wielkość liter.

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

Parametry

options
ContainerGetPropertiesOptions

Opcje operacji Pobieranie właściwości kontenera.

Zwraca

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Zwraca iterator asynchroniczny, aby wyświetlić listę wszystkich obiektów blob według hierarchii. w ramach określonego konta.

Funkcja .byPage() zwraca iterator asynchroniczny, aby wyświetlić listę obiektów blob według hierarchii na stronach.

Przykład użycia for await składni:

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

Przykład użycia polecenia 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();
}

Przykład użycia polecenia 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}`);
  }
}

Przykład użycia stronicowania z maksymalnym rozmiarem strony:

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>

Parametry

delimiter

string

Znak lub ciąg używany do definiowania hierarchii wirtualnej

options
ContainerListBlobsOptions

Opcje wyświetlania listy operacji obiektów blob.

Zwraca

PagedAsyncIterableIterator<({ kind: "prefix" } & BlobPrefix) | ({ kind: "blob" } & BlobItem), ContainerListBlobHierarchySegmentResponse, PageSettings>

listBlobsFlat(ContainerListBlobsOptions)

Zwraca iterator asynchroniczny, aby wyświetlić listę wszystkich obiektów blob w ramach określonego konta.

Funkcja .byPage() zwraca iterator asynchroniczny, aby wyświetlić listę obiektów blob na stronach.

Przykład użycia for await składni:

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

Przykład przy użyciu polecenia 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();
}

Przykład przy użyciu polecenia 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}`);
  }
}

Przykład użycia stronicowania ze znacznikiem:

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>

Parametry

options
ContainerListBlobsOptions

Opcje wyświetlania listy obiektów blob.

Zwraca

PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse, PageSettings>

AsyncIterableIterator, który obsługuje stronicowanie.

setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

Ustawia uprawnienia dla określonego kontenera. Uprawnienia wskazują, czy obiekty blob w kontenerze mogą być dostępne publicznie.

Po ustawieniu uprawnień dla kontenera istniejące uprawnienia zostaną zastąpione. Jeśli nie podano dostępu lub listy ACL kontenera, istniejąca lista ACL kontenera zostanie usunięta.

Po ustanowieniu przechowywanych zasad dostępu w kontenerze może upłynąć do 30 sekund. W tym interwale sygnatura dostępu współdzielonego skojarzona z zapisanymi zasadami dostępu zakończy się niepowodzeniem z kodem stanu 403 (Zabronione), dopóki zasady dostępu nie staną się aktywne.

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

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

Parametry

access
PublicAccessType

Poziom publicznego dostępu do danych w kontenerze.

containerAcl

SignedIdentifier[]

Tablica elementów o unikatowym identyfikatorze i szczegółach zasad dostępu.

options
ContainerSetAccessPolicyOptions

Opcje operacji ustawiania zasad dostępu dla kontenera.

Zwraca

setMetadata(Metadata, ContainerSetMetadataOptions)

Ustawia co najmniej jedną parę nazwa-wartość zdefiniowaną przez użytkownika dla określonego kontenera.

Jeśli nie podano żadnej opcji lub żadne metadane zdefiniowane w parametrze, metadane kontenera zostaną usunięte.

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

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

Parametry

metadata
Metadata

Zastąp istniejące metadane tą wartością. Jeśli żadna wartość nie zostanie podana, istniejące metadane zostaną usunięte.

options
ContainerSetMetadataOptions

Opcje operacji container Set Metadata (Ustawienia metadanych) dla kontenera.

Zwraca

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

Tworzy nowy blokowy obiekt blob lub aktualizuje zawartość istniejącego blokowego obiektu blob.

Aktualizowanie istniejącego blokowego obiektu blob zastępuje wszystkie istniejące metadane w obiekcie blob. Aktualizacje częściowe nie są obsługiwane; zawartość istniejącego obiektu blob jest zastępowana nową zawartością. Aby wykonać częściową aktualizację blokowych obiektów blob, użyj elementu stageBlock i commitBlockList.

Jest to metoda przekazywania nie równoległego, użyj metody uploadFile, uploadStream lub uploadBrowserData , aby uzyskać lepszą wydajność z przekazywaniem współbieżności.

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

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

Parametry

blobName

string

Nazwa blokowego obiektu blob do utworzenia lub zaktualizowania.

body
HttpRequestBody

Obiekt blob, ciąg, ArrayBuffer, ArrayBufferView lub funkcja zwracająca nowy strumień czytelny, którego przesunięcie pochodzi od źródła danych.

contentLength

number

Długość ciała w bajtach. Użyj metody Buffer.byteLength(), aby obliczyć długość treści dla ciągu, w tym znaki niekodowane w formacie Base64/szesnastkowym.

options
BlockBlobUploadOptions

Opcje konfigurowania operacji przekazywania blokowych obiektów blob.

Zwraca

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

Blokuj dane odpowiedzi przekazywania obiektów blob i odpowiadające mu wystąpienie BlockBlobClient.