Поделиться через


ContainerClient class

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

Extends

StorageClient

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

ContainerClient(string, PipelineLike)

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

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

Создает экземпляр ContainerClient. Этот метод принимает URL-адрес, указывающий на контейнер. Строка ЗАкодированного URL-адреса не будет экранирована дважды, будут экранированы только специальные символы в пути URL-адреса. Если имя большого двоичного объекта включается? или %, имя большого двоичного объекта должно быть закодировано в 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) службы контейнеров BLOB-объектов на основе свойств и параметров, переданных клиентом. SAS подписан учетными данными общего ключа клиента.

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

getAccessPolicy(ContainerGetAccessPolicyOptions)

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

ПРЕДУПРЕЖДЕНИЕ. Дата JavaScript потенциально потеряет точность при синтаксическом анализе начинается и истекает срок действия строкOn. Например, 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

getAccountInfo(ContainerGetAccountInfoOptions)

Операция Get Account Information возвращает имя sku и тип учетной записи для указанной учетной записи. Операция получения сведений об учетной записи доступна в версиях служб, начиная с версии 2018-03-28.

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

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)

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

См. 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)

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

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

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

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

setMetadata(Metadata, ContainerSetMetadataOptions)

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

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

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

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

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

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

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

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

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

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". При использовании AnonymousCredential можно добавить SAS, например "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". При использовании AnonymousCredential можно добавить SAS, например "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. ] Пример строки подключения учетной записи — пример строки подключения SAS DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.netBlobEndpoint=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] определяет официальную грамматику для значения параметра запроса; однако в службе BLOB-объектов поддерживается только подмножество синтаксиса фильтра OData.

options
ContainerFindBlobByTagsOptions

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

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

generateSasUrl(ContainerGenerateSasUrlOptions)

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

Создает универсальный код ресурса (URI) службы контейнеров BLOB-объектов на основе свойств и параметров, переданных клиентом. 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 потенциально потеряет точность при синтаксическом анализе начинается и истекает срок действия строкOn. Например, 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

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

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

getAccountInfo(ContainerGetAccountInfoOptions)

Операция Get Account Information возвращает имя sku и тип учетной записи для указанной учетной записи. Операция получения сведений об учетной записи доступна в версиях служб, начиная с версии 2018-03-28.

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

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

Параметры

options
ContainerGetAccountInfoOptions

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

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

Ответные данные для операции получения сведений об учетной записи службы.

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)

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

См. 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)

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

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

При установке хранимой политики доступа в контейнере может потребоваться до 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)

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

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

См. 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, RequestBodyType, number, BlockBlobUploadOptions)

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

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

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

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

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

Параметры

blobName

string

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

body
HttpRequestBody

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

contentLength

number

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

options
BlockBlobUploadOptions

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

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

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

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