ContainerClient class
ContainerClient представляет URL-адрес контейнера службы хранилища Azure, позволяющий управлять его BLOB-объектами.
- Extends
Конструкторы
Container |
Создает экземпляр ContainerClient. Этот метод принимает URL-адрес, указывающий на контейнер. Закодированная строка URL-адреса НЕ будет экранирована дважды, экранируются только специальные символы в url-пути. Если имя большого двоичного объекта содержит ? Или % имя большого двоичного объекта должно быть закодировано в URL-адресе. |
Container |
Создает экземпляр ContainerClient. Этот метод принимает URL-адрес, указывающий на контейнер. Закодированная строка URL-адреса НЕ будет экранирована дважды, экранируются только специальные символы в url-пути. Если имя большого двоичного объекта содержит ? Или % имя большого двоичного объекта должно быть закодировано в URL-адресе. |
Container |
Создает экземпляр ContainerClient. |
Свойства
account |
|
container |
Имя контейнера. |
credential | Например, AnonymousCredential, StorageSharedKeyCredential или любые учетные |
url | Значение строки закодированного URL-адреса. |
Методы
create(Container |
Создает новый контейнер в указанной учетной записи. Если контейнер с таким именем уже существует, операция завершается ошибкой. |
create |
Создает новый контейнер в указанной учетной записи. Если контейнер с таким же именем уже существует, он не изменяется. |
delete(Container |
Помечает указанный контейнер для удаления. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора. |
delete |
Помечает указанный большой двоичный объект или моментальный снимок для удаления. В дальнейшем большой двоичный объект удаляется в процессе сборки мусора. Обратите внимание, что для удаления большого двоичного объекта необходимо удалить все его моментальные снимки. Вы можете удалить оба одновременно с помощью операции Удалить BLOB-объект. |
delete |
Помечает указанный контейнер для удаления, если он существует. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора. |
exists(Container |
Возвращает значение true, если ресурс контейнера Azure, представленный этим клиентом, существует; В противном случае значение false. Примечание. Используйте эту функцию с осторожностью, так как существующий контейнер может быть удален другими клиентами или приложениями. Наоборот, новые контейнеры с тем же именем могут добавляться другими клиентами или приложениями после завершения этой функции. |
generate |
Доступно только для ContainerClient, созданного с учетными данными общего ключа. Создает универсальный код ресурса (URI) подписанного URL-адреса службы контейнеров BLOB-объектов (SAS) на основе переданных свойств и параметров клиента. SAS подписывается учетными данными общего ключа клиента. |
get |
Возвращает разрешения для указанного контейнера. Разрешения показывают, имеется ли общий доступ к данным контейнера. ПРЕДУПРЕЖДЕНИЕ. Дата JavaScript потенциально потеряет точность при синтаксическом анализе строк startsOn и expiresOn. Например, new Date("2018-12-31T03:44:23.8827891Z").toISOString() получит "2018-12-31T03:44:23.882Z". |
get |
Создает <xref:AppendBlobClient> |
get |
Создает объект BlobBatchClient для выполнения пакетных операций. |
get |
Создает <xref:BlobClient> |
get |
Получите объект , <xref:BlobLeaseClient> который управляет арендой контейнера. |
get |
Создает <xref:BlockBlobClient> |
get |
Создает <xref:PageBlobClient> |
get |
Возвращает все определяемые пользователем метаданные и системные свойства для указанного контейнера. Возвращаемые данные не включают список BLOB-объектов контейнера. |
list |
Возвращает асинхронный итератор для перечисления всех больших двоичных объектов по иерархии. под указанной учетной записью. .byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов по иерархии на страницах. Пример использования
Пример, использующий среду
Пример, использующий среду
Пример использования разбиения по страницам с максимальным размером страницы:
|
list |
Возвращает асинхронный итератор для вывода списка всех больших двоичных объектов в указанной учетной записи. .byPage() возвращает асинхронный итератор для перечисления больших двоичных объектов на страницах. Пример использования
Пример, использующий среду
Пример, использующий среду
Пример использования разбиения по страницам с маркером:
|
set |
Задает разрешения для указанного контейнера. Разрешения показывают, имеется ли общий доступ к BLOB-объектам контейнера. При установке разрешений для контейнера существующие разрешения заменяются. Если доступ или containerAcl не предоставлены, существующий список управления доступом контейнера будет удален. Для ввода в действие хранимой политики доступа в контейнере после настройки может потребоваться до 30 секунд. В этот промежуток времени попытка применения подписанного URL-адреса, связанного с хранимой политикой доступа, будет завершаться ошибкой с кодом состояния 403 (запрещено), пока политика доступа не станет активной. |
set |
Задает одну или несколько определяемых пользователем пар "имя-значение" для указанного контейнера. Если параметр не указан или метаданные не определены в параметре , метаданные контейнера будут удалены. |
upload |
Создает новый блочный BLOB-объект или обновляет содержимое существующего блочного BLOB-объекта. Обновление существующего блочного большого двоичного объекта блокировки перезаписывает все существующие метаданные в большом двоичном объекте. Частичные обновления не поддерживаются; содержимое существующего большого двоичного объекта перезаписывается новым содержимым. Чтобы выполнить частичное обновление блочного BLOB-объекта, используйте <xref:BlockBlobClient.stageBlock> и <xref:BlockBlobClient.commitBlockList>. Это непараллеллный метод отправки. Используйте <xref:BlockBlobClient.uploadFile>или <xref:BlockBlobClient.uploadBrowserData><xref:BlockBlobClient.uploadStream> для повышения производительности при отправке с параллелизмом. |
Сведения о конструкторе
ContainerClient(string, PipelineLike)
Создает экземпляр ContainerClient. Этот метод принимает URL-адрес, указывающий на контейнер. Закодированная строка URL-адреса НЕ будет экранирована дважды, экранируются только специальные символы в url-пути. Если имя большого двоичного объекта содержит ? Или % имя большого двоичного объекта должно быть закодировано в 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-пути. Если имя большого двоичного объекта содержит ? Или % имя большого двоичного объекта должно быть закодировано в 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.
Сведения о свойстве
accountName
accountName: string
Значение свойства
string
containerName
Имя контейнера.
string containerName
Значение свойства
string
credential
Например, AnonymousCredential, StorageSharedKeyCredential или любые учетные @azure/identity
данные из пакета для проверки подлинности запросов к службе. Можно также предоставить объект , реализующий интерфейс TokenCredential. Если значение не указано, используется AnonymousCredential.
credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential
Значение свойства
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
url
Значение строки закодированного URL-адреса.
url: string
Значение свойства
string
Сведения о методе
create(ContainerCreateOptions)
Создает новый контейнер в указанной учетной записи. Если контейнер с таким именем уже существует, операция завершается ошибкой.
function create(options?: ContainerCreateOptions)
Параметры
- 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)
Создает новый контейнер в указанной учетной записи. Если контейнер с таким же именем уже существует, он не изменяется.
function createIfNotExists(options?: ContainerCreateOptions)
Параметры
- options
- ContainerCreateOptions
Возвращаемое значение
Promise<ContainerCreateIfNotExistsResponse>
delete(ContainerDeleteMethodOptions)
Помечает указанный контейнер для удаления. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора.
function delete(options?: ContainerDeleteMethodOptions)
Параметры
- options
- ContainerDeleteMethodOptions
Параметры операции удаления контейнера.
Возвращаемое значение
Promise<ContainerDeleteResponse>
deleteBlob(string, ContainerDeleteBlobOptions)
Помечает указанный большой двоичный объект или моментальный снимок для удаления. В дальнейшем большой двоичный объект удаляется в процессе сборки мусора. Обратите внимание, что для удаления большого двоичного объекта необходимо удалить все его моментальные снимки. Вы можете удалить оба одновременно с помощью операции Удалить BLOB-объект.
function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions)
Параметры
- blobName
-
string
- options
- ContainerDeleteBlobOptions
Параметры операции удаления BLOB-объектов.
Возвращаемое значение
Promise<BlobDeleteResponse>
Данные ответа на удаление блочного BLOB-объекта.
deleteIfExists(ContainerDeleteMethodOptions)
Помечает указанный контейнер для удаления, если он существует. Контейнер и все большие двоичные объекты внутри него будут удалены позднее в процессе сборки мусора.
function deleteIfExists(options?: ContainerDeleteMethodOptions)
Параметры
- options
- ContainerDeleteMethodOptions
Параметры операции удаления контейнера.
Возвращаемое значение
Promise<ContainerDeleteIfExistsResponse>
exists(ContainerExistsOptions)
Возвращает значение true, если ресурс контейнера Azure, представленный этим клиентом, существует; В противном случае значение false. Примечание. Используйте эту функцию с осторожностью, так как существующий контейнер может быть удален другими клиентами или приложениями. Наоборот, новые контейнеры с тем же именем могут добавляться другими клиентами или приложениями после завершения этой функции.
function exists(options?: ContainerExistsOptions)
Параметры
- options
- ContainerExistsOptions
Возвращаемое значение
Promise<boolean>
generateSasUrl(ContainerGenerateSasUrlOptions)
Доступно только для ContainerClient, созданного с учетными данными общего ключа. Создает универсальный код ресурса (URI) подписанного URL-адреса службы контейнеров BLOB-объектов (SAS) на основе переданных свойств и параметров клиента. SAS подписывается учетными данными общего ключа клиента.
function generateSasUrl(options: ContainerGenerateSasUrlOptions)
Параметры
- 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".
function getAccessPolicy(options?: ContainerGetAccessPolicyOptions)
Параметры
- options
- ContainerGetAccessPolicyOptions
Параметры для операции получения политики доступа контейнера.
Возвращаемое значение
Promise<ContainerGetAccessPolicyResponse>
getAppendBlobClient(string)
Создает <xref:AppendBlobClient>
function getAppendBlobClient(blobName: string)
Параметры
- blobName
-
string
Имя добавочного BLOB-объекта
Возвращаемое значение
getBlobBatchClient()
Создает объект BlobBatchClient для выполнения пакетных операций.
function getBlobBatchClient()
Возвращаемое значение
Новый объект BlobBatchClient для этого контейнера.
getBlobClient(string)
Создает <xref:BlobClient>
function getBlobClient(blobName: string)
Параметры
- blobName
-
string
Имя большого двоичного объекта
Возвращаемое значение
Новый объект BlobClient для заданного имени большого двоичного объекта.
getBlobLeaseClient(string)
Получите объект , <xref:BlobLeaseClient> который управляет арендой контейнера.
function getBlobLeaseClient(proposeLeaseId?: string)
Параметры
- proposeLeaseId
-
string
Первоначальный предлагаемый идентификатор аренды.
Возвращаемое значение
Новый объект BlobLeaseClient для управления арендой контейнера.
getBlockBlobClient(string)
Создает <xref:BlockBlobClient>
function getBlockBlobClient(blobName: string)
Параметры
- blobName
-
string
Имя блочного BLOB-объекта
Пример использования:
const content = "Hello world!";
const blockBlobClient = containerClient.getBlockBlobClient("<blob name>");
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
Возвращаемое значение
getPageBlobClient(string)
Создает <xref:PageBlobClient>
function getPageBlobClient(blobName: string)
Параметры
- blobName
-
string
Имя страничного BLOB-объекта
Возвращаемое значение
getProperties(ContainerGetPropertiesOptions)
Возвращает все определяемые пользователем метаданные и системные свойства для указанного контейнера. Возвращаемые данные не включают список BLOB-объектов контейнера.
function getProperties(options?: ContainerGetPropertiesOptions)
Параметры
- 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}, last modified - ${item.properties.lastModified}`);
}
}
Пример, использующий среду 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}, last modified - ${item.properties.lastModified}`);
}
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}, last modified - ${blob.properties.lastModified}`);
}
}
Пример использования разбиения по страницам с максимальным размером страницы:
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}, last modified - ${blob.properties.lastModified}`);
}
}
function listBlobsByHierarchy(delimiter: string, options?: ContainerListBlobsOptions)
Параметры
- delimiter
-
string
Символ или строка, используемая для определения виртуальной иерархии
- options
- ContainerListBlobsOptions
Параметры для вывода списка больших двоичных объектов.
Возвращаемое значение
PagedAsyncIterableIterator<Object & BlobPrefix | Object & BlobItem, ContainerListBlobHierarchySegmentResponse>
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)
Параметры
- options
- ContainerListBlobsOptions
Параметры для перечисления больших двоичных объектов.
Возвращаемое значение
PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse>
AsyncIterableIterator, поддерживающий разбиение по страницам.
setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)
Задает разрешения для указанного контейнера. Разрешения показывают, имеется ли общий доступ к BLOB-объектам контейнера. При установке разрешений для контейнера существующие разрешения заменяются. Если доступ или containerAcl не предоставлены, существующий список управления доступом контейнера будет удален.
Для ввода в действие хранимой политики доступа в контейнере после настройки может потребоваться до 30 секунд. В этот промежуток времени попытка применения подписанного URL-адреса, связанного с хранимой политикой доступа, будет завершаться ошибкой с кодом состояния 403 (запрещено), пока политика доступа не станет активной.
function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions)
Параметры
- access
- PublicAccessType
Уровень общего доступа к данным в контейнере.
- containerAcl
Массив элементов, каждый из которых имеет уникальный идентификатор и сведения о политике доступа.
- options
- ContainerSetAccessPolicyOptions
Параметры для операции настройки политики доступа контейнера.
Возвращаемое значение
Promise<ContainerSetAccessPolicyResponse>
setMetadata(Metadata, ContainerSetMetadataOptions)
Задает одну или несколько определяемых пользователем пар "имя-значение" для указанного контейнера. Если параметр не указан или метаданные не определены в параметре , метаданные контейнера будут удалены.
function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions)
Параметры
- metadata
- Metadata
Замените существующие метаданные этим значением. Если значение не указано, существующие метаданные будут удалены.
- options
- ContainerSetMetadataOptions
Параметры для операции установки метаданных в контейнере.
Возвращаемое значение
Promise<ContainerSetMetadataResponse>
uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)
Создает новый блочный BLOB-объект или обновляет содержимое существующего блочного BLOB-объекта. Обновление существующего блочного большого двоичного объекта блокировки перезаписывает все существующие метаданные в большом двоичном объекте. Частичные обновления не поддерживаются; содержимое существующего большого двоичного объекта перезаписывается новым содержимым. Чтобы выполнить частичное обновление блочного BLOB-объекта, используйте <xref:BlockBlobClient.stageBlock> и <xref:BlockBlobClient.commitBlockList>.
Это непараллеллный метод отправки. Используйте <xref:BlockBlobClient.uploadFile>или <xref:BlockBlobClient.uploadBrowserData><xref:BlockBlobClient.uploadStream> для повышения производительности при отправке с параллелизмом.
function uploadBlockBlob(blobName: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions)
Параметры
- blobName
-
string
Имя блочного BLOB-объекта для создания или обновления.
- body
-
HttpRequestBody
Blob, string, ArrayBuffer, ArrayBufferView или функция, которая возвращает новый доступный для чтения поток, смещение которого от начала источника данных.
- contentLength
-
number
Длина основного текста в байтах. Используйте Buffer.byteLength(), чтобы вычислить длину текста для строки, включающей символы, отличные от Base64/Hex.
- options
- BlockBlobUploadOptions
Параметры для настройки операции отправки блочного BLOB-объекта.
Возвращаемое значение
Promise<Object>
Блочный BLOB-объект отправляет ответные данные и соответствующий экземпляр BlockBlobClient.
Azure SDK for JavaScript