BlobServiceClient class

Un BlobServiceClient representa un cliente para el servicio Azure Storage Blob, lo que le permite manipular contenedores de blobs.

Extends

StorageClient

Constructores

BlobServiceClient(string, PipelineLike)

Crea una instancia de BlobServiceClient.

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

Crea una instancia de BlobServiceClient.

Propiedades heredadas

accountName
credential

Por ejemplo, AnonymousCredential, StorageSharedKeyCredential o cualquier credencial del @azure/identity paquete para autenticar las solicitudes en el servicio. También puede proporcionar un objeto que implemente la interfaz TokenCredential. Si no se especifica, se usa AnonymousCredential.

url

Valor de cadena de dirección URL codificada.

Métodos

createContainer(string, ContainerCreateOptions)

Cree un contenedor de blobs.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/create-container.

deleteContainer(string, ContainerDeleteMethodOptions)

Elimina un contenedor de blobs.

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

Devuelve un iterador asincrónico para buscar todos los blobs con la etiqueta especificada en la cuenta especificada.

.byPage() devuelve un iterador asincrónico para enumerar los blobs de las páginas.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties.

Ejemplo de uso de for await la sintaxis:

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

Ejemplo con 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();
}

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

Ejemplo de uso de paginación con un marcador:

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)

Crea una instancia de BlobServiceClient a partir de la cadena de conexión.

generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

Solo está disponible para BlobServiceClient construido con una credencial de clave compartida.

Genera un URI de firma de acceso compartido (SAS) de una cuenta de blob basada en las propiedades y parámetros del cliente pasados. La SAS está firmada por la credencial de clave compartida del cliente.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas.

getAccountInfo(ServiceGetAccountInfoOptions)

La operación Obtener información de la cuenta devuelve el nombre de SKU y el tipo de cuenta de la cuenta especificada. La operación Obtener información de la cuenta está disponible en las versiones de servicio a partir de la versión 2018-03-28.

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

getBlobBatchClient()

Crea un objeto BlobBatchClient para realizar operaciones por lotes.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch.

getContainerClient(string)

Crea un objeto ContainerClient

getProperties(ServiceGetPropertiesOptions)

Obtiene las propiedades de blob service de una cuenta de almacenamiento, incluidas las propiedades de las reglas de Storage Analytics y CORS (uso compartido de recursos entre orígenes).

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties.

getStatistics(ServiceGetStatisticsOptions)

Recupera las estadísticas relacionadas con la replicación para el servicio Blob. Solo está disponible en el extremo de ubicación secundario cuando está habilitada la replicación con redundancia geográfica con acceso de lectura para la cuenta de almacenamiento.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-stats.

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

SOLO ESTÁ DISPONIBLE CUANDO SE USA LA AUTENTICACIÓN DE TOKEN DE PORTADOR (TokenCredential).

Recupera una clave de delegación de usuarios para Blob Service. Solo se trata de una operación válida cuando se usa la autenticación de token de portador.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-user-delegation-key.

listContainers(ServiceListContainersOptions)

Devuelve un iterador asincrónico para enumerar todos los contenedores de la cuenta especificada.

.byPage() devuelve un iterador asincrónico para enumerar los contenedores de las páginas.

Ejemplo de uso de for await la sintaxis:

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

Ejemplo con 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();
}

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

Ejemplo de uso de paginación con un marcador:

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)

Establece las propiedades para el punto de conexión de Blob Service de una cuenta de almacenamiento, incluidas las propiedades para Storage Analytics, las reglas cors (uso compartido de recursos entre orígenes) y la configuración de eliminación temporal.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties.

undeleteContainer(string, string, ServiceUndeleteContainerOptions)

Restaure un contenedor de blobs eliminado anteriormente. Esta API solo es funcional si la eliminación temporal del contenedor está habilitada para la cuenta de almacenamiento asociada al contenedor.

Detalles del constructor

BlobServiceClient(string, PipelineLike)

Crea una instancia de BlobServiceClient.

new BlobServiceClient(url: string, pipeline: PipelineLike)

Parámetros

url

string

Cadena de cliente que apunta a Azure Storage Blob Service, como "https://myaccount.blob.core.windows.net". Puede anexar una SAS si usa AnonymousCredential, como "https://myaccount.blob.core.windows.net?sasString".

pipeline
PipelineLike

Llame a newPipeline() para crear una canalización predeterminada o proporcione una canalización personalizada.

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

Crea una instancia de BlobServiceClient.

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

Parámetros

url

string

Cadena de cliente que apunta a Azure Storage Blob Service, como "https://myaccount.blob.core.windows.net". Puede anexar una SAS si usa AnonymousCredential, como "https://myaccount.blob.core.windows.net?sasString".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Por ejemplo, AnonymousCredential, StorageSharedKeyCredential o cualquier credencial del @azure/identity paquete para autenticar las solicitudes en el servicio. También puede proporcionar un objeto que implemente la interfaz TokenCredential. Si no se especifica, se usa AnonymousCredential.

options
StoragePipelineOptions

Opcional. Opciones para configurar la canalización HTTP.

Ejemplo de uso de DefaultAzureCredential de @azure/identity:

const account = "<storage account name>";

const defaultAzureCredential = new DefaultAzureCredential();

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

Ejemplo de uso de un nombre o clave de cuenta:

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

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

Detalles de las propiedades heredadas

accountName

accountName: string

Valor de propiedad

string

Heredado de StorageClient.accountName

credential

Por ejemplo, AnonymousCredential, StorageSharedKeyCredential o cualquier credencial del @azure/identity paquete para autenticar las solicitudes en el servicio. También puede proporcionar un objeto que implemente la interfaz TokenCredential. Si no se especifica, se usa AnonymousCredential.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Valor de propiedad

Heredado de StorageClient.credential

url

Valor de cadena de dirección URL codificada.

url: string

Valor de propiedad

string

Heredado de StorageClient.url

Detalles del método

createContainer(string, ContainerCreateOptions)

Cree un contenedor de blobs.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/create-container.

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

Parámetros

containerName

string

Nombre del contenedor que se va a crear.

options
ContainerCreateOptions

Opciones para configurar la operación De creación de contenedor.

Devoluciones

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

Respuesta de creación de contenedores y el cliente de contenedor correspondiente.

deleteContainer(string, ContainerDeleteMethodOptions)

Elimina un contenedor de blobs.

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

Parámetros

containerName

string

Nombre del contenedor que se va a eliminar.

options
ContainerDeleteMethodOptions

Opciones para configurar la operación de eliminación de contenedor.

Devoluciones

Respuesta de eliminación de contenedores.

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

Devuelve un iterador asincrónico para buscar todos los blobs con la etiqueta especificada en la cuenta especificada.

.byPage() devuelve un iterador asincrónico para enumerar los blobs de las páginas.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties.

Ejemplo de uso de for await la sintaxis:

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

Ejemplo con 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();
}

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

Ejemplo de uso de paginación con un marcador:

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>

Parámetros

tagFilterSqlExpression

string

El parámetro where permite al autor de la llamada consultar blobs cuyas etiquetas coinciden con una expresión determinada. La expresión especificada debe evaluarse como true para que se devuelva un blob en los resultados. La regla de sintaxis de filtro[OData - ABNF] define la gramática formal para el valor del parámetro de consulta where; sin embargo, solo se admite un subconjunto de la sintaxis de filtro de OData en Blob service.

options
ServiceFindBlobByTagsOptions

Opciones para buscar blobs por etiquetas.

Devoluciones

fromConnectionString(string, StoragePipelineOptions)

Crea una instancia de BlobServiceClient a partir de la cadena de conexión.

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

Parámetros

connectionString

string

Cadena de conexión de la cuenta o una cadena de conexión saS de una cuenta de almacenamiento de Azure. [ Nota: la cadena de conexión de la cuenta solo se puede usar en NODE.JS tiempo de ejecución. ] Ejemplo de cadena de conexión de cuenta:DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net Ejemplo de cadena de conexión de 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

Opcional. Opciones para configurar la canalización HTTP.

Devoluciones

generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

Solo está disponible para BlobServiceClient construido con una credencial de clave compartida.

Genera un URI de firma de acceso compartido (SAS) de una cuenta de blob basada en las propiedades y parámetros del cliente pasados. La SAS está firmada por la credencial de clave compartida del cliente.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas.

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

Parámetros

expiresOn

Date

Opcional. Hora en la que la firma de acceso compartido deja de ser válida. El valor predeterminado es una hora más tarde si no se proporciona.

permissions
AccountSASPermissions

Especifica la lista de permisos que se van a asociar a la SAS.

resourceTypes

string

Especifica los tipos de recursos asociados a la firma de acceso compartido.

options
ServiceGenerateAccountSasUrlOptions

Parámetros opcionales.

Devoluciones

string

Un URI de SAS de cuenta que consta del URI al recurso representado por este cliente, seguido del token de SAS generado.

getAccountInfo(ServiceGetAccountInfoOptions)

La operación Obtener información de la cuenta devuelve el nombre de SKU y el tipo de cuenta de la cuenta especificada. La operación Obtener información de la cuenta está disponible en las versiones de servicio a partir de la versión 2018-03-28.

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

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

Parámetros

options
ServiceGetAccountInfoOptions

Opciones para la operación Obtener información de la cuenta de servicio.

Devoluciones

Datos de respuesta para la operación Obtener información de la cuenta de servicio.

getBlobBatchClient()

Crea un objeto BlobBatchClient para realizar operaciones por lotes.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch.

function getBlobBatchClient(): BlobBatchClient

Devoluciones

Nuevo objeto BlobBatchClient para este servicio.

getContainerClient(string)

Crea un objeto ContainerClient

function getContainerClient(containerName: string): ContainerClient

Parámetros

containerName

string

Un nombre de contenedor

Devoluciones

Nuevo objeto ContainerClient para el nombre de contenedor especificado.

Ejemplo de uso:

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

getProperties(ServiceGetPropertiesOptions)

Obtiene las propiedades de blob service de una cuenta de almacenamiento, incluidas las propiedades de las reglas de Storage Analytics y CORS (uso compartido de recursos entre orígenes).

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties.

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

Parámetros

options
ServiceGetPropertiesOptions

Opciones para la operación Obtener propiedades del servicio.

Devoluciones

Datos de respuesta para la operación Obtener propiedades del servicio.

getStatistics(ServiceGetStatisticsOptions)

Recupera las estadísticas relacionadas con la replicación para el servicio Blob. Solo está disponible en el extremo de ubicación secundario cuando está habilitada la replicación con redundancia geográfica con acceso de lectura para la cuenta de almacenamiento.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-stats.

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

Parámetros

options
ServiceGetStatisticsOptions

Opciones para la operación Obtener estadísticas del servicio.

Devoluciones

Datos de respuesta para la operación Obtener estadísticas del servicio.

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

SOLO ESTÁ DISPONIBLE CUANDO SE USA LA AUTENTICACIÓN DE TOKEN DE PORTADOR (TokenCredential).

Recupera una clave de delegación de usuarios para Blob Service. Solo se trata de una operación válida cuando se usa la autenticación de token de portador.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/get-user-delegation-key.

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

Parámetros

startsOn

Date

Hora de inicio de la SAS de delegación de usuarios. Debe estar en un plazo de 7 días a partir de la hora actual.

expiresOn

Date

Hora de finalización de la SAS de delegación de usuarios. Debe estar en un plazo de 7 días a partir de la hora actual.

Devoluciones

listContainers(ServiceListContainersOptions)

Devuelve un iterador asincrónico para enumerar todos los contenedores de la cuenta especificada.

.byPage() devuelve un iterador asincrónico para enumerar los contenedores de las páginas.

Ejemplo de uso de for await la sintaxis:

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

Ejemplo con 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();
}

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

Ejemplo de uso de paginación con un marcador:

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>

Parámetros

options
ServiceListContainersOptions

Opciones para enumerar contenedores.

Devoluciones

AsyncIterableIterator que admite la paginación.

setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

Establece las propiedades para el punto de conexión de Blob Service de una cuenta de almacenamiento, incluidas las propiedades para Storage Analytics, las reglas cors (uso compartido de recursos entre orígenes) y la configuración de eliminación temporal.

Consulta https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties.

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

Parámetros

options
ServiceSetPropertiesOptions

Opciones de la operación Propiedades del conjunto de servicios.

Devoluciones

Datos de respuesta para la operación Propiedades del conjunto de servicios.

undeleteContainer(string, string, ServiceUndeleteContainerOptions)

Restaure un contenedor de blobs eliminado anteriormente. Esta API solo es funcional si la eliminación temporal del contenedor está habilitada para la cuenta de almacenamiento asociada al contenedor.

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

Parámetros

deletedContainerName

string

Nombre del contenedor eliminado anteriormente.

deletedContainerVersion

string

Versión del contenedor eliminado anteriormente, que se usa para identificar de forma única el contenedor eliminado.

options
ServiceUndeleteContainerOptions

Opciones para configurar la operación de restauración de contenedores.

Devoluciones

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

Respuesta de eliminación de contenedores.