ContainerClient class

ContainerClient представляет URL-адрес контейнера службы хранилища Azure, позволяющий управлять его BLOB-объектами.

Extends

StorageClient

Конструкторы

ContainerClient(string, PipelineLike)

Создает экземпляр ContainerClient. Этот метод принимает URL-адрес, указывающий на контейнер. Закодированная строка URL-адреса не будет экранирована дважды, экранировать будут только специальные символы в URL-пути. Если имя большого двоичного объекта включает ? или %, имя BLOB-объекта должно быть закодировано в URL-адресе.

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

Создает экземпляр ContainerClient. Этот метод принимает URL-адрес, указывающий на контейнер. Закодированная строка URL-адреса не будет экранирована дважды, экранировать будут только специальные символы в URL-пути. Если имя большого двоичного объекта включает ? или %, имя BLOB-объекта должно быть закодировано в URL-адресе.

ContainerClient(string, string, StoragePipelineOptions)

Создает экземпляр ContainerClient.

Свойства

containerName

Имя контейнера.

Унаследованные свойства

accountName
credential

Например, AnonymousCredential, StorageSharedKeyCredential или любые учетные @azure/identity данные из пакета для проверки подлинности запросов к службе. Можно также предоставить объект, реализующий интерфейс TokenCredential. Если не указано, используется AnonymousCredential.

url

Закодированное значение строки URL-адреса.

Методы

create(ContainerCreateOptions)

Создает новый контейнер под указанной учетной записью. Если контейнер с таким именем уже существует, операция завершается ошибкой.

См. https://docs.microsoft.com/en-us/rest/api/storageservices/create-container правила именования: См. раздел https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

createIfNotExists(ContainerCreateOptions)

Создает новый контейнер под указанной учетной записью. Если контейнер с таким же именем уже существует, он не изменяется.

См. https://docs.microsoft.com/en-us/rest/api/storageservices/create-container правила именования: См. раздел https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

delete(ContainerDeleteMethodOptions)

Помечает указанный контейнер для удаления. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

deleteBlob(string, ContainerDeleteBlobOptions)

Помечает указанный большой двоичный объект или моментальный снимок для удаления. В дальнейшем большой двоичный объект удаляется в процессе сборки мусора. Обратите внимание, что для удаления большого двоичного объекта необходимо удалить все его моментальные снимки. Вы можете удалить оба одновременно с помощью операции Удалить BLOB-объект.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

deleteIfExists(ContainerDeleteMethodOptions)

Помечает указанный контейнер для удаления, если он существует. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

exists(ContainerExistsOptions)

Возвращает значение true, если ресурс контейнера Azure, представленный этим клиентом, существует; Значение false в противном случае.

ПРИМЕЧАНИЕ. Используйте эту функцию с осторожностью, так как существующий контейнер может быть удален другими клиентами или приложениями. Наоборот, новые контейнеры с таким же именем могут добавляться другими клиентами или приложениями после завершения этой функции.

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Возвращает асинхронный итератор для поиска всех больших двоичных объектов с указанным тегом в указанном контейнере.

.byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов на страницах.

Пример использования синтаксиса for await :

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

Пример, использующий среду 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();
}

Пример, использующий среду 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}`);
    }
  }
}

Пример использования разбиения по страницам с маркером:

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)

Доступно только для ContainerClient, созданного с учетными данными общего ключа.

Создает URI подписанного URL-адреса службы контейнеров BLOB-объектов (SAS) на основе переданных свойств и параметров клиента. SAS подписывается учетными данными общего ключа клиента.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

getAccessPolicy(ContainerGetAccessPolicyOptions)

Возвращает разрешения для указанного контейнера. Разрешения показывают, имеется ли общий доступ к данным контейнера.

ПРЕДУПРЕЖДЕНИЕ. Дата JavaScript может потерять точность при синтаксическом анализе строк startsOn и expiresOn. Например, new Date("2018-12-31T03:44:23.8827891Z").toISOString() получит "2018-12-31T03:44:23.882Z".

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl

getAppendBlobClient(string)

Создает AppendBlobClient

getBlobBatchClient()

Создает объект BlobBatchClient для выполнения пакетных операций.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch

getBlobClient(string)

Создает BlobClient

getBlobLeaseClient(string)

Получите BlobLeaseClient , который управляет арендой контейнера.

getBlockBlobClient(string)

Создает BlockBlobClient

getPageBlobClient(string)

Создает PageBlobClient

getProperties(ContainerGetPropertiesOptions)

Возвращает все определяемые пользователем метаданные и системные свойства для указанного контейнера. Возвращаемые данные не включают список BLOB-объектов контейнера.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties

ПРЕДУПРЕЖДЕНИЕ. Ключи metadata , возвращаемые в ответе, будут содержаться в нижнем регистре, даже если они изначально содержали символы верхнего регистра. Это отличается от ключей метаданных, возвращаемых методом listContainersBlobServiceClient с использованием includeMetadata параметра , который сохранит исходный регистр.

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Возвращает асинхронный итератор для перечисления всех больших двоичных объектов по иерархии. под указанной учетной записью.

.byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов по иерархии на страницах.

Пример использования синтаксиса for await :

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

Пример, использующий среду 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();
}

Пример, использующий среду 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}`);
  }
}

Пример использования разбиения по страницам с максимальным размером страницы:

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)

Возвращает асинхронный итератор для вывода списка всех больших двоичных объектов в указанной учетной записи.

.byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов на страницах.

Пример использования for await синтаксиса:

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

Пример, использующий среду 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();
}

Пример, использующий среду 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}`);
  }
}

Пример использования разбиения по страницам с маркером:

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)

Задает разрешения для указанного контейнера. Разрешения показывают, имеется ли общий доступ к BLOB-объектам контейнера.

При установке разрешений для контейнера существующие разрешения заменяются. Если доступ или containerAcl не предоставлены, существующий список управления доступом контейнера будет удален.

Для ввода в действие хранимой политики доступа в контейнере после настройки может потребоваться до 30 секунд. В этот промежуток времени попытка применения подписанного URL-адреса, связанного с хранимой политикой доступа, будет завершаться ошибкой с кодом состояния 403 (запрещено), пока политика доступа не станет активной.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl

setMetadata(Metadata, ContainerSetMetadataOptions)

Задает одну или несколько определяемых пользователем пар "имя-значение" для указанного контейнера.

Если параметр не указан или метаданные не определены в параметре , метаданные контейнера будут удалены.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

Создает новый блочный BLOB-объект или обновляет содержимое существующего блочного BLOB-объекта.

Обновление существующего блочного большого двоичного объекта блокировки перезаписывает все существующие метаданные в большом двоичном объекте. Частичные обновления не поддерживаются; содержимое существующего большого двоичного объекта перезаписывается новым содержимым. Чтобы выполнить частичное обновление блочного BLOB-объекта, используйте stageBlock и commitBlockList.

Это непараллеленный метод отправки. Для повышения производительности при отправке с параллелизмом используйте uploadFile, uploadStream или uploadBrowserData .

См. раздел https://docs.microsoft.com/rest/api/storageservices/put-blob

Сведения о конструкторе

ContainerClient(string, PipelineLike)

Создает экземпляр ContainerClient. Этот метод принимает URL-адрес, указывающий на контейнер. Закодированная строка URL-адреса не будет экранирована дважды, экранировать будут только специальные символы в URL-пути. Если имя большого двоичного объекта включает ? или %, имя BLOB-объекта должно быть закодировано в URL-адресе.

new ContainerClient(url: string, pipeline: PipelineLike)

Параметры

url

string

Строка URL-адреса, указывающая на контейнер службы хранилища Azure, например "https://myaccount.blob.core.windows.net/mycontainer"". Вы можете добавить SAS с помощью AnonymousCredential, например "https://myaccount.blob.core.windows.net/mycontainer?sasString"".

pipeline
PipelineLike

Вызовите newPipeline() для создания конвейера по умолчанию или предоставления настраиваемого конвейера.

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

Создает экземпляр ContainerClient. Этот метод принимает URL-адрес, указывающий на контейнер. Закодированная строка URL-адреса не будет экранирована дважды, экранировать будут только специальные символы в URL-пути. Если имя большого двоичного объекта включает ? или %, имя BLOB-объекта должно быть закодировано в URL-адресе.

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

Параметры

url

string

Строка URL-адреса, указывающая на контейнер службы хранилища Azure, например "https://myaccount.blob.core.windows.net/mycontainer"". Вы можете добавить SAS с помощью AnonymousCredential, например "https://myaccount.blob.core.windows.net/mycontainer?sasString"".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Например, AnonymousCredential, StorageSharedKeyCredential или любые учетные @azure/identity данные из пакета для проверки подлинности запросов к службе. Можно также предоставить объект, реализующий интерфейс TokenCredential. Если не указано, используется AnonymousCredential.

options
StoragePipelineOptions

Необязательный элемент. Параметры для настройки конвейера HTTP.

ContainerClient(string, string, StoragePipelineOptions)

Создает экземпляр ContainerClient.

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

Параметры

connectionString

string

Строка подключения учетной записи или строка подключения SAS учетной записи хранения Azure. [ Примечание. Строка подключения учетной записи может использоваться только в NODE.JS среде выполнения. ] Пример строки подключения учетной записи —DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net Пример строки подключения SAS: BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString

containerName

string

Имя контейнера.

options
StoragePipelineOptions

Необязательный элемент. Параметры для настройки конвейера HTTP.

Сведения о свойстве

containerName

Имя контейнера.

string containerName

Значение свойства

string

Сведения об унаследованном свойстве

accountName

accountName: string

Значение свойства

string

Наследуется от StorageClient.accountName

credential

Например, AnonymousCredential, StorageSharedKeyCredential или любые учетные @azure/identity данные из пакета для проверки подлинности запросов к службе. Можно также предоставить объект, реализующий интерфейс TokenCredential. Если не указано, используется AnonymousCredential.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Значение свойства

Наследуется от StorageClient.credential

url

Закодированное значение строки URL-адреса.

url: string

Значение свойства

string

Наследуется от StorageClient.url

Сведения о методе

create(ContainerCreateOptions)

Создает новый контейнер под указанной учетной записью. Если контейнер с таким именем уже существует, операция завершается ошибкой.

См. https://docs.microsoft.com/en-us/rest/api/storageservices/create-container правила именования: См. раздел https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

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

Параметры

options
ContainerCreateOptions

Параметры операции создания контейнера.

Пример использования:

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

Возвращаемое значение

createIfNotExists(ContainerCreateOptions)

Создает новый контейнер под указанной учетной записью. Если контейнер с таким же именем уже существует, он не изменяется.

См. https://docs.microsoft.com/en-us/rest/api/storageservices/create-container правила именования: См. раздел https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

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

Параметры

Возвращаемое значение

delete(ContainerDeleteMethodOptions)

Помечает указанный контейнер для удаления. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

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

Параметры

options
ContainerDeleteMethodOptions

Параметры операции удаления контейнера.

Возвращаемое значение

deleteBlob(string, ContainerDeleteBlobOptions)

Помечает указанный большой двоичный объект или моментальный снимок для удаления. В дальнейшем большой двоичный объект удаляется в процессе сборки мусора. Обратите внимание, что для удаления большого двоичного объекта необходимо удалить все его моментальные снимки. Вы можете удалить оба одновременно с помощью операции Удалить BLOB-объект.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

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

Параметры

blobName

string

options
ContainerDeleteBlobOptions

Параметры операции удаления BLOB-объектов.

Возвращаемое значение

Данные ответа на удаление блочных BLOB-объектов.

deleteIfExists(ContainerDeleteMethodOptions)

Помечает указанный контейнер для удаления, если он существует. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

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

Параметры

options
ContainerDeleteMethodOptions

Параметры операции удаления контейнера.

Возвращаемое значение

exists(ContainerExistsOptions)

Возвращает значение true, если ресурс контейнера Azure, представленный этим клиентом, существует; Значение false в противном случае.

ПРИМЕЧАНИЕ. Используйте эту функцию с осторожностью, так как существующий контейнер может быть удален другими клиентами или приложениями. Наоборот, новые контейнеры с таким же именем могут добавляться другими клиентами или приложениями после завершения этой функции.

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

Параметры

Возвращаемое значение

Promise<boolean>

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Возвращает асинхронный итератор для поиска всех больших двоичных объектов с указанным тегом в указанном контейнере.

.byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов на страницах.

Пример использования синтаксиса for await :

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

Пример, использующий среду 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();
}

Пример, использующий среду 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}`);
    }
  }
}

Пример использования разбиения по страницам с маркером:

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>

Параметры

tagFilterSqlExpression

string

Параметр where позволяет вызывающему объекту запрашивать большие двоичные объекты, теги которых соответствуют заданному выражению. Данное выражение должно иметь значение true для большого двоичного объекта, возвращаемого в результатах. Правило синтаксиса фильтра [OData - ABNF] определяет формальную грамматику для значения параметра запроса where; однако в службе BLOB-объектов поддерживается только подмножество синтаксиса фильтра OData.

options
ContainerFindBlobByTagsOptions

Параметры поиска больших двоичных объектов по тегам.

Возвращаемое значение

generateSasUrl(ContainerGenerateSasUrlOptions)

Доступно только для ContainerClient, созданного с учетными данными общего ключа.

Создает URI подписанного URL-адреса службы контейнеров BLOB-объектов (SAS) на основе переданных свойств и параметров клиента. SAS подписывается учетными данными общего ключа клиента.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

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

Параметры

options
ContainerGenerateSasUrlOptions

Дополнительные параметры.

Возвращаемое значение

Promise<string>

URI SAS, состоящий из URI ресурса, представленного этим клиентом, за которым следует созданный маркер SAS.

getAccessPolicy(ContainerGetAccessPolicyOptions)

Возвращает разрешения для указанного контейнера. Разрешения показывают, имеется ли общий доступ к данным контейнера.

ПРЕДУПРЕЖДЕНИЕ. Дата JavaScript может потерять точность при синтаксическом анализе строк startsOn и expiresOn. Например, new Date("2018-12-31T03:44:23.8827891Z").toISOString() получит "2018-12-31T03:44:23.882Z".

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl

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

Параметры

options
ContainerGetAccessPolicyOptions

Параметры операции получения политики доступа контейнера.

Возвращаемое значение

getAppendBlobClient(string)

Создает AppendBlobClient

function getAppendBlobClient(blobName: string): AppendBlobClient

Параметры

blobName

string

Имя добавочного большого двоичного объекта

Возвращаемое значение

getBlobBatchClient()

Создает объект BlobBatchClient для выполнения пакетных операций.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch

function getBlobBatchClient(): BlobBatchClient

Возвращаемое значение

Новый объект BlobBatchClient для этого контейнера.

getBlobClient(string)

Создает BlobClient

function getBlobClient(blobName: string): BlobClient

Параметры

blobName

string

Имя большого двоичного объекта

Возвращаемое значение

Новый объект BlobClient для заданного имени большого двоичного объекта.

getBlobLeaseClient(string)

Получите BlobLeaseClient , который управляет арендой контейнера.

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

Параметры

proposeLeaseId

string

Первоначальный предлагаемый идентификатор аренды.

Возвращаемое значение

Новый объект BlobLeaseClient для управления арендами в контейнере.

getBlockBlobClient(string)

Создает BlockBlobClient

function getBlockBlobClient(blobName: string): BlockBlobClient

Параметры

blobName

string

Имя блочного BLOB-объекта

Пример использования:

const content = "Hello world!";

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

Возвращаемое значение

getPageBlobClient(string)

Создает PageBlobClient

function getPageBlobClient(blobName: string): PageBlobClient

Параметры

blobName

string

Имя страничного BLOB-объекта

Возвращаемое значение

getProperties(ContainerGetPropertiesOptions)

Возвращает все определяемые пользователем метаданные и системные свойства для указанного контейнера. Возвращаемые данные не включают список BLOB-объектов контейнера.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties

ПРЕДУПРЕЖДЕНИЕ. Ключи metadata , возвращаемые в ответе, будут содержаться в нижнем регистре, даже если они изначально содержали символы верхнего регистра. Это отличается от ключей метаданных, возвращаемых методом listContainersBlobServiceClient с использованием includeMetadata параметра , который сохранит исходный регистр.

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

Параметры

options
ContainerGetPropertiesOptions

Параметры операции получения свойств контейнера.

Возвращаемое значение

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Возвращает асинхронный итератор для перечисления всех больших двоичных объектов по иерархии. под указанной учетной записью.

.byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов по иерархии на страницах.

Пример использования синтаксиса for await :

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

Пример, использующий среду 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();
}

Пример, использующий среду 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}`);
  }
}

Пример использования разбиения по страницам с максимальным размером страницы:

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>

Параметры

delimiter

string

Символ или строка, используемые для определения виртуальной иерархии

options
ContainerListBlobsOptions

Параметры для вывода списка операций с большими двоичными объектами.

Возвращаемое значение

listBlobsFlat(ContainerListBlobsOptions)

Возвращает асинхронный итератор для вывода списка всех больших двоичных объектов в указанной учетной записи.

.byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов на страницах.

Пример использования for await синтаксиса:

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

Пример, использующий среду 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();
}

Пример, использующий среду 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}`);
  }
}

Пример использования разбиения по страницам с маркером:

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>

Параметры

options
ContainerListBlobsOptions

Параметры для перечисления больших двоичных объектов.

Возвращаемое значение

AsyncIterableIterator, поддерживающий разбиение по страницам.

setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

Задает разрешения для указанного контейнера. Разрешения показывают, имеется ли общий доступ к BLOB-объектам контейнера.

При установке разрешений для контейнера существующие разрешения заменяются. Если доступ или containerAcl не предоставлены, существующий список управления доступом контейнера будет удален.

Для ввода в действие хранимой политики доступа в контейнере после настройки может потребоваться до 30 секунд. В этот промежуток времени попытка применения подписанного URL-адреса, связанного с хранимой политикой доступа, будет завершаться ошибкой с кодом состояния 403 (запрещено), пока политика доступа не станет активной.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl

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

Параметры

access
PublicAccessType

Уровень общего доступа к данным в контейнере.

containerAcl

SignedIdentifier[]

Массив элементов, каждый из которых имеет уникальный идентификатор и сведения о политике доступа.

options
ContainerSetAccessPolicyOptions

Параметры для операции настройки политики доступа контейнера.

Возвращаемое значение

setMetadata(Metadata, ContainerSetMetadataOptions)

Задает одну или несколько определяемых пользователем пар "имя-значение" для указанного контейнера.

Если параметр не указан или метаданные не определены в параметре , метаданные контейнера будут удалены.

См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata

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

Параметры

metadata
Metadata

Замените существующие метаданные этим значением. Если значение не указано, существующие метаданные будут удалены.

options
ContainerSetMetadataOptions

Параметры для операции установки метаданных в контейнере.

Возвращаемое значение

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

Создает новый блочный BLOB-объект или обновляет содержимое существующего блочного BLOB-объекта.

Обновление существующего блочного большого двоичного объекта блокировки перезаписывает все существующие метаданные в большом двоичном объекте. Частичные обновления не поддерживаются; содержимое существующего большого двоичного объекта перезаписывается новым содержимым. Чтобы выполнить частичное обновление блочного BLOB-объекта, используйте stageBlock и commitBlockList.

Это непараллеленный метод отправки. Для повышения производительности при отправке с параллелизмом используйте uploadFile, uploadStream или uploadBrowserData .

См. раздел https://docs.microsoft.com/rest/api/storageservices/put-blob

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

Параметры

blobName

string

Имя блочного BLOB-объекта для создания или обновления.

body
HttpRequestBody

Blob, string, ArrayBuffer, ArrayBufferView или функция, которая возвращает новый доступный для чтения поток, смещение которого от начала источника данных.

contentLength

number

Длина основного текста в байтах. Используйте Buffer.byteLength(), чтобы вычислить длину текста для строки, включающей символы, отличные от Base64/Hex.

options
BlockBlobUploadOptions

Параметры для настройки операции отправки блочного BLOB-объекта.

Возвращаемое значение

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

Блочный BLOB-объект отправляет ответные данные и соответствующий экземпляр BlockBlobClient.