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


BlobServiceClient class

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

Extends

StorageClient

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

BlobServiceClient(string, PipelineLike)

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

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

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

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

accountName
credential

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

url

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

Методы

createContainer(string, ContainerCreateOptions)

Создайте контейнер BLOB-объектов.

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

deleteContainer(string, ContainerDeleteMethodOptions)

Удаляет контейнер BLOB-объектов.

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

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

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

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

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

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

Пример, использующий среду iter.next():

let i = 1;
const iter = blobServiceClient.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 blobServiceClient.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 = blobServiceClient.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 = blobServiceClient
  .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}`);
  }
}
fromConnectionString(string, StoragePipelineOptions)

Создает экземпляр BlobServiceClient из строки подключения.

generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

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

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

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

getAccountInfo(ServiceGetAccountInfoOptions)

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

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

getBlobBatchClient()

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

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

getContainerClient(string)

Создает объект ContainerClient

getProperties(ServiceGetPropertiesOptions)

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

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

getStatistics(ServiceGetStatisticsOptions)

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

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

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

ДОСТУПНО ТОЛЬКО ПРИ ИСПОЛЬЗОВАНИИ ПРОВЕРКИ ПОДЛИННОСТИ МАРКЕРА НОСИТЕЛЯ (TokenCredential).

Извлекает ключ делегирования пользователя для службы BLOB-объектов. Это допустимая операция только при использовании проверки подлинности маркера носителя.

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

listContainers(ServiceListContainersOptions)

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

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

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

let i = 1;
for await (const container of blobServiceClient.listContainers()) {
  console.log(`Container ${i++}: ${container.name}`);
}

Пример, использующий среду iter.next():

let i = 1;
const iter = blobServiceClient.listContainers();
let containerItem = await iter.next();
while (!containerItem.done) {
  console.log(`Container ${i++}: ${containerItem.value.name}`);
  containerItem = await iter.next();
}

Пример, использующий среду byPage():

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
  if (response.containerItems) {
    for (const container of response.containerItems) {
      console.log(`Container ${i++}: ${container.name}`);
    }
  }
}

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

let i = 1;
let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 container names
if (response.containerItems) {
  for (const container of response.containerItems) {
    console.log(`Container ${i++}: ${container.name}`);
  }
}

// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = blobServiceClient
  .listContainers()
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 container names
if (response.containerItems) {
  for (const container of response.containerItems) {
     console.log(`Container ${i++}: ${container.name}`);
  }
}
setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

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

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

undeleteContainer(string, string, ServiceUndeleteContainerOptions)

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

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

BlobServiceClient(string, PipelineLike)

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

new BlobServiceClient(url: string, pipeline: PipelineLike)

Параметры

url

string

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

pipeline
PipelineLike

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

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

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

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

Параметры

url

string

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

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

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

options
StoragePipelineOptions

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

Пример использования DefaultAzureCredential из @azure/identity:

const account = "<storage account name>";

const defaultAzureCredential = new DefaultAzureCredential();

const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  defaultAzureCredential
);

Пример использования имени или ключа учетной записи:

const account = "<storage account name>"
const sharedKeyCredential = new StorageSharedKeyCredential(account, "<account key>");

const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  sharedKeyCredential
);

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

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

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

createContainer(string, ContainerCreateOptions)

Создайте контейнер BLOB-объектов.

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

function createContainer(containerName: string, options?: ContainerCreateOptions): Promise<{ containerClient: ContainerClient, containerCreateResponse: ContainerCreateResponse }>

Параметры

containerName

string

Имя создаваемого контейнера.

options
ContainerCreateOptions

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

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

Promise<{ containerClient: ContainerClient, containerCreateResponse: ContainerCreateResponse }>

Ответ на создание контейнера и соответствующий клиент контейнера.

deleteContainer(string, ContainerDeleteMethodOptions)

Удаляет контейнер BLOB-объектов.

function deleteContainer(containerName: string, options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteResponse>

Параметры

containerName

string

Имя удаляемого контейнера.

options
ContainerDeleteMethodOptions

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

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

Ответ на удаление контейнера.

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

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

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

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

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

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

Пример, использующий среду iter.next():

let i = 1;
const iter = blobServiceClient.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 blobServiceClient.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 = blobServiceClient.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 = blobServiceClient
  .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?: ServiceFindBlobByTagsOptions): PagedAsyncIterableIterator<FilterBlobItem, ServiceFindBlobsByTagsSegmentResponse, PageSettings>

Параметры

tagFilterSqlExpression

string

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

options
ServiceFindBlobByTagsOptions

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

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

fromConnectionString(string, StoragePipelineOptions)

Создает экземпляр BlobServiceClient из строки подключения.

static function fromConnectionString(connectionString: string, options?: StoragePipelineOptions): BlobServiceClient

Параметры

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

options
StoragePipelineOptions

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

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

generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

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

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

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

function generateAccountSasUrl(expiresOn?: Date, permissions?: AccountSASPermissions, resourceTypes?: string, options?: ServiceGenerateAccountSasUrlOptions): string

Параметры

expiresOn

Date

Необязательный элемент. Время, когда подписанный URL-адрес становится недействительным. Значение по умолчанию — через час, если оно не указано.

permissions
AccountSASPermissions

Указывает список разрешений, которые будут связаны с SAS.

resourceTypes

string

Указывает типы ресурсов, связанные с подписанным URL-адресом.

options
ServiceGenerateAccountSasUrlOptions

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

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

string

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

getAccountInfo(ServiceGetAccountInfoOptions)

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

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

function getAccountInfo(options?: ServiceGetAccountInfoOptions): Promise<ServiceGetAccountInfoResponse>

Параметры

options
ServiceGetAccountInfoOptions

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

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

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

getBlobBatchClient()

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

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

function getBlobBatchClient(): BlobBatchClient

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

Новый объект BlobBatchClient для этой службы.

getContainerClient(string)

Создает объект ContainerClient

function getContainerClient(containerName: string): ContainerClient

Параметры

containerName

string

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

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

Новый объект ContainerClient для заданного имени контейнера.

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

const containerClient = blobServiceClient.getContainerClient("<container name>");

getProperties(ServiceGetPropertiesOptions)

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

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

function getProperties(options?: ServiceGetPropertiesOptions): Promise<ServiceGetPropertiesResponse>

Параметры

options
ServiceGetPropertiesOptions

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

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

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

getStatistics(ServiceGetStatisticsOptions)

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

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

function getStatistics(options?: ServiceGetStatisticsOptions): Promise<ServiceGetStatisticsResponse>

Параметры

options
ServiceGetStatisticsOptions

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

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

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

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

ДОСТУПНО ТОЛЬКО ПРИ ИСПОЛЬЗОВАНИИ ПРОВЕРКИ ПОДЛИННОСТИ МАРКЕРА НОСИТЕЛЯ (TokenCredential).

Извлекает ключ делегирования пользователя для службы BLOB-объектов. Это допустимая операция только при использовании проверки подлинности маркера носителя.

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

function getUserDelegationKey(startsOn: Date, expiresOn: Date, options?: ServiceGetUserDelegationKeyOptions): Promise<ServiceGetUserDelegationKeyResponse>

Параметры

startsOn

Date

Время начала sas делегирования пользователя. Должно быть в течение 7 дней с момента текущего времени

expiresOn

Date

Время окончания sas делегирования пользователя. Должно быть в течение 7 дней с момента текущего времени

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

listContainers(ServiceListContainersOptions)

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

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

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

let i = 1;
for await (const container of blobServiceClient.listContainers()) {
  console.log(`Container ${i++}: ${container.name}`);
}

Пример, использующий среду iter.next():

let i = 1;
const iter = blobServiceClient.listContainers();
let containerItem = await iter.next();
while (!containerItem.done) {
  console.log(`Container ${i++}: ${containerItem.value.name}`);
  containerItem = await iter.next();
}

Пример, использующий среду byPage():

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
  if (response.containerItems) {
    for (const container of response.containerItems) {
      console.log(`Container ${i++}: ${container.name}`);
    }
  }
}

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

let i = 1;
let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 container names
if (response.containerItems) {
  for (const container of response.containerItems) {
    console.log(`Container ${i++}: ${container.name}`);
  }
}

// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = blobServiceClient
  .listContainers()
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 container names
if (response.containerItems) {
  for (const container of response.containerItems) {
     console.log(`Container ${i++}: ${container.name}`);
  }
}
function listContainers(options?: ServiceListContainersOptions): PagedAsyncIterableIterator<ContainerItem, ServiceListContainersSegmentResponse, PageSettings>

Параметры

options
ServiceListContainersOptions

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

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

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

setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

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

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

function setProperties(properties: BlobServiceProperties, options?: ServiceSetPropertiesOptions): Promise<ServiceSetPropertiesResponse>

Параметры

options
ServiceSetPropertiesOptions

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

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

Данные ответа для операции "Свойства набора служб".

undeleteContainer(string, string, ServiceUndeleteContainerOptions)

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

function undeleteContainer(deletedContainerName: string, deletedContainerVersion: string, options?: ServiceUndeleteContainerOptions): Promise<{ containerClient: ContainerClient, containerUndeleteResponse: ContainerUndeleteResponse }>

Параметры

deletedContainerName

string

Имя ранее удаленного контейнера.

deletedContainerVersion

string

Версия ранее удаленного контейнера, используемая для уникальной идентификации удаленного контейнера.

options
ServiceUndeleteContainerOptions

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

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

Promise<{ containerClient: ContainerClient, containerUndeleteResponse: ContainerUndeleteResponse }>

Ответ на удаление контейнера.