ContainerClient class
ContainerClient представляет URL-адрес контейнера службы хранилища Azure, позволяющий управлять его BLOB-объектами.
- Extends
-
StorageClient
Конструкторы
Container |
Создает экземпляр ContainerClient. Этот метод принимает URL-адрес, указывающий на контейнер. Закодированная строка URL-адреса не будет экранирована дважды, экранировать будут только специальные символы в URL-пути. Если имя большого двоичного объекта включает ? или %, имя BLOB-объекта должно быть закодировано в URL-адресе. |
Container |
Создает экземпляр ContainerClient. Этот метод принимает URL-адрес, указывающий на контейнер. Закодированная строка URL-адреса не будет экранирована дважды, экранировать будут только специальные символы в URL-пути. Если имя большого двоичного объекта включает ? или %, имя BLOB-объекта должно быть закодировано в URL-адресе. |
Container |
Создает экземпляр ContainerClient. |
Свойства
container |
Имя контейнера. |
Унаследованные свойства
account |
|
credential | Например, AnonymousCredential, StorageSharedKeyCredential или любые учетные |
url | Закодированное значение строки URL-адреса. |
Методы
create(Container |
Создает новый контейнер под указанной учетной записью. Если контейнер с таким именем уже существует, операция завершается ошибкой. См. 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 |
create |
Создает новый контейнер под указанной учетной записью. Если контейнер с таким же именем уже существует, он не изменяется. См. 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(Container |
Помечает указанный контейнер для удаления. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора. См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container |
delete |
Помечает указанный большой двоичный объект или моментальный снимок для удаления. В дальнейшем большой двоичный объект удаляется в процессе сборки мусора. Обратите внимание, что для удаления большого двоичного объекта необходимо удалить все его моментальные снимки. Вы можете удалить оба одновременно с помощью операции Удалить BLOB-объект. См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob |
delete |
Помечает указанный контейнер для удаления, если он существует. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора. См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container |
exists(Container |
Возвращает значение true, если ресурс контейнера Azure, представленный этим клиентом, существует; Значение false в противном случае. ПРИМЕЧАНИЕ. Используйте эту функцию с осторожностью, так как существующий контейнер может быть удален другими клиентами или приложениями. Наоборот, новые контейнеры с таким же именем могут добавляться другими клиентами или приложениями после завершения этой функции. |
find |
Возвращает асинхронный итератор для поиска всех больших двоичных объектов с указанным тегом в указанном контейнере. .byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов на страницах. Пример использования синтаксиса
Пример, использующий среду
Пример, использующий среду
Пример использования разбиения по страницам с маркером:
|
generate |
Доступно только для ContainerClient, созданного с учетными данными общего ключа. Создает URI подписанного URL-адреса службы контейнеров BLOB-объектов (SAS) на основе переданных свойств и параметров клиента. SAS подписывается учетными данными общего ключа клиента. См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas |
get |
Возвращает разрешения для указанного контейнера. Разрешения показывают, имеется ли общий доступ к данным контейнера. ПРЕДУПРЕЖДЕНИЕ. Дата 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 |
get |
Создает AppendBlobClient |
get |
Создает объект BlobBatchClient для выполнения пакетных операций. См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch |
get |
Создает BlobClient |
get |
Получите BlobLeaseClient , который управляет арендой контейнера. |
get |
Создает BlockBlobClient |
get |
Создает PageBlobClient |
get |
Возвращает все определяемые пользователем метаданные и системные свойства для указанного контейнера. Возвращаемые данные не включают список BLOB-объектов контейнера. См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties ПРЕДУПРЕЖДЕНИЕ. Ключи |
list |
Возвращает асинхронный итератор для перечисления всех больших двоичных объектов по иерархии. под указанной учетной записью. .byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов по иерархии на страницах. Пример использования синтаксиса
Пример, использующий среду
Пример, использующий среду
Пример использования разбиения по страницам с максимальным размером страницы:
|
list |
Возвращает асинхронный итератор для вывода списка всех больших двоичных объектов в указанной учетной записи. .byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов на страницах. Пример использования
Пример, использующий среду
Пример, использующий среду
Пример использования разбиения по страницам с маркером:
|
set |
Задает разрешения для указанного контейнера. Разрешения показывают, имеется ли общий доступ к BLOB-объектам контейнера. При установке разрешений для контейнера существующие разрешения заменяются. Если доступ или containerAcl не предоставлены, существующий список управления доступом контейнера будет удален. Для ввода в действие хранимой политики доступа в контейнере после настройки может потребоваться до 30 секунд. В этот промежуток времени попытка применения подписанного URL-адреса, связанного с хранимой политикой доступа, будет завершаться ошибкой с кодом состояния 403 (запрещено), пока политика доступа не станет активной. См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl |
set |
Задает одну или несколько определяемых пользователем пар "имя-значение" для указанного контейнера. Если параметр не указан или метаданные не определены в параметре , метаданные контейнера будут удалены. См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata |
upload |
Создает новый блочный 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);
Возвращаемое значение
Promise<ContainerCreateResponse>
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>
Параметры
- 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
Параметры операции удаления контейнера.
Возвращаемое значение
Promise<ContainerDeleteResponse>
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-объектов.
Возвращаемое значение
Promise<BlobDeleteResponse>
Данные ответа на удаление блочных BLOB-объектов.
deleteIfExists(ContainerDeleteMethodOptions)
Помечает указанный контейнер для удаления, если он существует. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора.
См. раздел https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container
function deleteIfExists(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteIfExistsResponse>
Параметры
- options
- ContainerDeleteMethodOptions
Параметры операции удаления контейнера.
Возвращаемое значение
Promise<ContainerDeleteIfExistsResponse>
exists(ContainerExistsOptions)
Возвращает значение true, если ресурс контейнера Azure, представленный этим клиентом, существует; Значение false в противном случае.
ПРИМЕЧАНИЕ. Используйте эту функцию с осторожностью, так как существующий контейнер может быть удален другими клиентами или приложениями. Наоборот, новые контейнеры с таким же именем могут добавляться другими клиентами или приложениями после завершения этой функции.
function exists(options?: ContainerExistsOptions): Promise<boolean>
Параметры
- options
- ContainerExistsOptions
Возвращаемое значение
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
Параметры операции получения политики доступа контейнера.
Возвращаемое значение
Promise<ContainerGetAccessPolicyResponse>
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
, возвращаемые в ответе, будут содержаться в нижнем регистре, даже если они изначально содержали символы верхнего регистра. Это отличается от ключей метаданных, возвращаемых методом listContainers
BlobServiceClient с использованием includeMetadata
параметра , который сохранит исходный регистр.
function getProperties(options?: ContainerGetPropertiesOptions): Promise<ContainerGetPropertiesResponse>
Параметры
- options
- ContainerGetPropertiesOptions
Параметры операции получения свойств контейнера.
Возвращаемое значение
Promise<ContainerGetPropertiesResponse>
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
Параметры для вывода списка операций с большими двоичными объектами.
Возвращаемое значение
PagedAsyncIterableIterator<({ kind: "prefix" } & BlobPrefix) | ({ kind: "blob" } & BlobItem), ContainerListBlobHierarchySegmentResponse, PageSettings>
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
Массив элементов, каждый из которых имеет уникальный идентификатор и сведения о политике доступа.
- options
- ContainerSetAccessPolicyOptions
Параметры для операции настройки политики доступа контейнера.
Возвращаемое значение
Promise<ContainerSetAccessPolicyResponse>
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
Параметры для операции установки метаданных в контейнере.
Возвращаемое значение
Promise<ContainerSetMetadataResponse>
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.