ContainerClient class

ContainerClient rappresenta un URL del contenitore di Archiviazione di Azure che consente di modificare i BLOB.

Extends

StorageClient

Costruttori

ContainerClient(string, PipelineLike)

Crea un'istanza di ContainerClient. Questo metodo accetta un URL che punta a un contenitore. La stringa URL codificata non verrà eliminata due volte, verranno escape solo caratteri speciali nel percorso URL. Se un nome BLOB include ? o %, il nome del BLOB deve essere codificato nell'URL.

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

Crea un'istanza di ContainerClient. Questo metodo accetta un URL che punta a un contenitore. La stringa URL codificata non verrà eliminata due volte, verranno escape solo caratteri speciali nel percorso URL. Se un nome BLOB include ? o %, il nome del BLOB deve essere codificato nell'URL.

ContainerClient(string, string, StoragePipelineOptions)

Crea un'istanza di ContainerClient.

Proprietà

containerName

Nome del contenitore.

Proprietà ereditate

accountName
credential

Ad esempio AnonymousCredential, StorageSharedKeyCredential o qualsiasi credenziale del @azure/identity pacchetto per autenticare le richieste al servizio. È anche possibile fornire un oggetto che implementa l'interfaccia TokenCredential. Se non specificato, viene utilizzato AnonymousCredential.

url

Valore stringa URL codificato.

Metodi

create(ContainerCreateOptions)

Crea un nuovo contenitore nell'account specificato. Se un contenitore con lo stesso nome esiste già, l'operazione ha esito negativo.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Regole di denominazione: vedere https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

createIfNotExists(ContainerCreateOptions)

Crea un nuovo contenitore nell'account specificato. Se il contenitore con lo stesso nome esiste già, non viene modificato.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Regole di denominazione: vedere https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

delete(ContainerDeleteMethodOptions)

Contrassegna il contenitore specificato per l'eliminazione. Il contenitore e tutti i BLOB in esso contenuti verranno eliminati in seguito durante un'operazione di Garbage Collection.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

deleteBlob(string, ContainerDeleteBlobOptions)

Contrassegna il BLOB o lo snapshot specificato per l'eliminazione. Il Blob verrà eliminato in seguito durante un'operazione di Garbage Collection. Si noti che per eliminare un Blob, è necessario eliminare tutti i relativi snapshot. È possibile eliminare entrambi contemporaneamente con l'operazione Elimina BLOB.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

deleteIfExists(ContainerDeleteMethodOptions)

Contrassegna il contenitore specificato per l'eliminazione, se esistente. Il contenitore e tutti i BLOB in esso contenuti verranno eliminati in seguito durante un'operazione di Garbage Collection.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

exists(ContainerExistsOptions)

Restituisce true se la risorsa contenitore di Azure rappresentata dal client esiste; false in caso contrario.

NOTA: usare questa funzione con attenzione perché un contenitore esistente potrebbe essere eliminato da altri client o applicazioni. Viceversa, è possibile aggiungere nuovi contenitori con lo stesso nome da altri client o applicazioni al termine di questa funzione.

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Restituisce un iteratore iteratore iteratore asincrono per trovare tutti i BLOB con tag specificato nel contenitore specificato.

.byPage() restituisce un iteratore iteratore iterabile asincrono per elencare i BLOB nelle pagine.

Esempio di uso for await della sintassi:

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

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

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

Esempio di uso del paging con un marcatore:

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)

Disponibile solo per ContainerClient costruito con credenziali di chiave condivisa.

Genera un URI di firma di accesso condiviso (SAS) del servizio BLOB in base alle proprietà e ai parametri del client passati. La firma di accesso condiviso viene firmata dalle credenziali della chiave condivisa del client.

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

getAccessPolicy(ContainerGetAccessPolicyOptions)

Ottiene le autorizzazioni per il contenitore specificato. Le autorizzazioni indicano se i dati del contenitore sono accessibili pubblicamente.

AVVISO: la data JavaScript perderà potenzialmente la precisione durante l'analisi di startsOn e la scadenza delle stringhe. Ad esempio, new Date("2018-12-31T03:44:23.8827891Z").toISOString() otterrà "2018-12-31T03:44:23.882Z".

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl

getAppendBlobClient(string)

Crea un oggetto AppendBlobClient

getBlobBatchClient()

Crea un oggetto BlobBatchClient per eseguire operazioni batch.

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

getBlobClient(string)

Crea un Oggetto BlobClient

getBlobLeaseClient(string)

Ottenere un Oggetto BlobLeaseClient che gestisce i lease nel contenitore.

getBlockBlobClient(string)

Crea un oggetto BlockBlobClient

getPageBlobClient(string)

Crea un oggetto PageBlobClient

getProperties(ContainerGetPropertiesOptions)

Restituisce tutti i metadati definiti dall'utente e le proprietà di sistema per il contenitore specificato. I dati restituiti non includono l'elenco di BLOB del contenitore.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties

AVVISO: l'oggetto metadata restituito nella risposta avrà le chiavi in lettere minuscole, anche se in origine contengono caratteri maiuscoli. Ciò è diverso dalle chiavi di metadati restituite dal listContainers metodo di BlobServiceClient usando l'opzione , che manterrà le includeMetadata maiuscole e minuscole originali.

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Restituisce un iteratore iteratore iteratore asincrono per elencare tutti i BLOB in base alla gerarchia. nell'account specificato.

.byPage() restituisce un iteratore iteratore iteratore asincrono per elencare i BLOB in base alla gerarchia nelle pagine.

Esempio di uso for await della sintassi:

for await (const item of containerClient.listBlobsByHierarchy("/")) {
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}`);
  }
}

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

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

Esempio di uso del paging con dimensioni massime della pagina:

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)

Restituisce un iteratore iteratore iteratore asincrono per elencare tutti i BLOB nell'account specificato.

.byPage() restituisce un iteratore iteratore iterabile asincrono per elencare i BLOB nelle pagine.

Esempio di uso for await della sintassi:

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

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

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

Esempio di uso del paging con un marcatore:

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)

Imposta le autorizzazioni per il contenitore specificato. Le autorizzazioni indicano se i BLOB di un contenitore sono accessibili pubblicamente.

Quando si impostano le autorizzazioni per un contenitore, le autorizzazioni esistenti vengono sostituite. Se non viene fornito alcun accesso o contenitoreAcl, l'ACL del contenitore esistente verrà rimosso.

La creazione di un criterio di accesso archiviato in un contenitore potrebbe richiedere fino a 30 secondi. Durante questo intervallo una firma di accesso condiviso associata ai criteri di accesso archiviati avrà esito negativo e verrà restituito il codice di stato 403 (Accesso negato), finché il criterio non risulterà attivo.

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

setMetadata(Metadata, ContainerSetMetadataOptions)

Imposta una o più coppie nome-valore definite dall'utente per il contenitore specificato.

Se non è stata specificata alcuna opzione o nessun metadato definito nel parametro, i metadati del contenitore verranno rimossi.

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

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

Crea un nuovo BLOB in blocchi o aggiorna il contenuto di un BLOB in blocchi esistente.

L'aggiornamento di un Blob in blocchi esistente comporta la sovrascrittura dei metadati esistenti nel Blob. Gli aggiornamenti parziali non sono supportati; il contenuto del BLOB esistente viene sovrascritto con il nuovo contenuto. Per eseguire un aggiornamento parziale di un BLOB in blocchi, usare stageBlock e commitBlockList.

Si tratta di un metodo di caricamento non parallelo, usare uploadFile, uploadStream o uploadBrowserData per ottenere prestazioni migliori con il caricamento della concorrenza.

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

Dettagli costruttore

ContainerClient(string, PipelineLike)

Crea un'istanza di ContainerClient. Questo metodo accetta un URL che punta a un contenitore. La stringa URL codificata non verrà eliminata due volte, verranno escape solo caratteri speciali nel percorso URL. Se un nome BLOB include ? o %, il nome del BLOB deve essere codificato nell'URL.

new ContainerClient(url: string, pipeline: PipelineLike)

Parametri

url

string

Stringa URL che punta al contenitore di archiviazione di Azure, ad esempio "https://myaccount.blob.core.windows.net/mycontainer". È possibile aggiungere una firma di accesso condiviso se si usa AnonymousCredential, ad esempio "https://myaccount.blob.core.windows.net/mycontainer?sasString".

pipeline
PipelineLike

Chiamare newPipeline() per creare una pipeline predefinita o fornire una pipeline personalizzata.

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

Crea un'istanza di ContainerClient. Questo metodo accetta un URL che punta a un contenitore. La stringa URL codificata non verrà eliminata due volte, verranno escape solo caratteri speciali nel percorso URL. Se un nome BLOB include ? o %, il nome del BLOB deve essere codificato nell'URL.

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

Parametri

url

string

Stringa URL che punta al contenitore di archiviazione di Azure, ad esempio "https://myaccount.blob.core.windows.net/mycontainer". È possibile aggiungere una firma di accesso condiviso se si usa AnonymousCredential, ad esempio "https://myaccount.blob.core.windows.net/mycontainer?sasString".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Ad esempio AnonymousCredential, StorageSharedKeyCredential o qualsiasi credenziale del @azure/identity pacchetto per autenticare le richieste al servizio. È anche possibile fornire un oggetto che implementa l'interfaccia TokenCredential. Se non specificato, viene utilizzato AnonymousCredential.

options
StoragePipelineOptions

Facoltativa. Opzioni per configurare la pipeline HTTP.

ContainerClient(string, string, StoragePipelineOptions)

Crea un'istanza di ContainerClient.

new ContainerClient(connectionString: string, containerName: string, options?: StoragePipelineOptions)

Parametri

connectionString

string

Stringa di connessione dell'account o stringa di connessione sas di un account di archiviazione di Azure. [ Nota: la stringa di connessione dell'account può essere usata solo in NODE.JS runtime. ] Esempio di stringa di connessione dell'account -DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net Esempio di stringa di connessione di firma di accesso condiviso - 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

Nome del contenitore.

options
StoragePipelineOptions

Facoltativa. Opzioni per configurare la pipeline HTTP.

Dettagli proprietà

containerName

Nome del contenitore.

string containerName

Valore della proprietà

string

Dettagli proprietà ereditate

accountName

accountName: string

Valore della proprietà

string

Ereditato da StorageClient.accountName

credential

Ad esempio AnonymousCredential, StorageSharedKeyCredential o qualsiasi credenziale del @azure/identity pacchetto per autenticare le richieste al servizio. È anche possibile fornire un oggetto che implementa l'interfaccia TokenCredential. Se non specificato, viene utilizzato AnonymousCredential.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Valore della proprietà

Ereditato da StorageClient.credential

url

Valore stringa URL codificato.

url: string

Valore della proprietà

string

Ereditato da StorageClient.url

Dettagli metodo

create(ContainerCreateOptions)

Crea un nuovo contenitore nell'account specificato. Se un contenitore con lo stesso nome esiste già, l'operazione ha esito negativo.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Regole di denominazione: vedere https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

function create(options?: ContainerCreateOptions): Promise<ContainerCreateResponse>

Parametri

options
ContainerCreateOptions

Opzioni per l'operazione Di creazione del contenitore.

Esempio di utilizzo:

const containerClient = blobServiceClient.getContainerClient("<container name>");
const createContainerResponse = await containerClient.create();
console.log("Container was created successfully", createContainerResponse.requestId);

Restituisce

createIfNotExists(ContainerCreateOptions)

Crea un nuovo contenitore nell'account specificato. Se il contenitore con lo stesso nome esiste già, non viene modificato.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Regole di denominazione: vedere https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

function createIfNotExists(options?: ContainerCreateOptions): Promise<ContainerCreateIfNotExistsResponse>

Parametri

Restituisce

delete(ContainerDeleteMethodOptions)

Contrassegna il contenitore specificato per l'eliminazione. Il contenitore e tutti i BLOB in esso contenuti verranno eliminati in seguito durante un'operazione di Garbage Collection.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

function delete(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteResponse>

Parametri

options
ContainerDeleteMethodOptions

Opzioni per l'operazione di eliminazione del contenitore.

Restituisce

deleteBlob(string, ContainerDeleteBlobOptions)

Contrassegna il BLOB o lo snapshot specificato per l'eliminazione. Il Blob verrà eliminato in seguito durante un'operazione di Garbage Collection. Si noti che per eliminare un Blob, è necessario eliminare tutti i relativi snapshot. È possibile eliminare entrambi contemporaneamente con l'operazione Elimina BLOB.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions): Promise<BlobDeleteResponse>

Parametri

blobName

string

options
ContainerDeleteBlobOptions

Opzioni per l'operazione di eliminazione BLOB.

Restituisce

Bloccare i dati di risposta all'eliminazione del BLOB.

deleteIfExists(ContainerDeleteMethodOptions)

Contrassegna il contenitore specificato per l'eliminazione, se esistente. Il contenitore e tutti i BLOB in esso contenuti verranno eliminati in seguito durante un'operazione di Garbage Collection.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

function deleteIfExists(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteIfExistsResponse>

Parametri

options
ContainerDeleteMethodOptions

Opzioni per l'operazione di eliminazione del contenitore.

Restituisce

exists(ContainerExistsOptions)

Restituisce true se la risorsa contenitore di Azure rappresentata dal client esiste; false in caso contrario.

NOTA: usare questa funzione con attenzione perché un contenitore esistente potrebbe essere eliminato da altri client o applicazioni. Viceversa, è possibile aggiungere nuovi contenitori con lo stesso nome da altri client o applicazioni al termine di questa funzione.

function exists(options?: ContainerExistsOptions): Promise<boolean>

Parametri

Restituisce

Promise<boolean>

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Restituisce un iteratore iteratore iteratore asincrono per trovare tutti i BLOB con tag specificato nel contenitore specificato.

.byPage() restituisce un iteratore iteratore iterabile asincrono per elencare i BLOB nelle pagine.

Esempio di uso for await della sintassi:

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

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

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

Esempio di uso del paging con un marcatore:

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>

Parametri

tagFilterSqlExpression

string

Il parametro where consente al chiamante di eseguire query sui BLOB i cui tag corrispondono a una determinata espressione. L'espressione specificata deve restituire true per restituire un BLOB nei risultati. La regola di sintassi del filtro [OData - ABNF] definisce la grammatica formale per il valore del parametro di query where; Tuttavia, solo un subset della sintassi del filtro OData è supportato nel servizio BLOB.

options
ContainerFindBlobByTagsOptions

Opzioni per trovare i BLOB in base ai tag.

Restituisce

generateSasUrl(ContainerGenerateSasUrlOptions)

Disponibile solo per ContainerClient costruito con credenziali di chiave condivisa.

Genera un URI di firma di accesso condiviso (SAS) del servizio BLOB in base alle proprietà e ai parametri del client passati. La firma di accesso condiviso viene firmata dalle credenziali della chiave condivisa del client.

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

function generateSasUrl(options: ContainerGenerateSasUrlOptions): Promise<string>

Parametri

options
ContainerGenerateSasUrlOptions

Parametri facoltativi.

Restituisce

Promise<string>

URI di firma di accesso condiviso costituito dall'URI della risorsa rappresentata da questo client, seguito dal token di firma di accesso condiviso generato.

getAccessPolicy(ContainerGetAccessPolicyOptions)

Ottiene le autorizzazioni per il contenitore specificato. Le autorizzazioni indicano se i dati del contenitore sono accessibili pubblicamente.

AVVISO: la data JavaScript perderà potenzialmente la precisione durante l'analisi di startsOn e la scadenza delle stringhe. Ad esempio, new Date("2018-12-31T03:44:23.8827891Z").toISOString() otterrà "2018-12-31T03:44:23.882Z".

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl

function getAccessPolicy(options?: ContainerGetAccessPolicyOptions): Promise<ContainerGetAccessPolicyResponse>

Parametri

options
ContainerGetAccessPolicyOptions

Opzioni per l'operazione Get Access Policy del contenitore.

Restituisce

getAppendBlobClient(string)

Crea un oggetto AppendBlobClient

function getAppendBlobClient(blobName: string): AppendBlobClient

Parametri

blobName

string

Nome del BLOB di accodamento

Restituisce

getBlobBatchClient()

Crea un oggetto BlobBatchClient per eseguire operazioni batch.

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

function getBlobBatchClient(): BlobBatchClient

Restituisce

Nuovo oggetto BlobBatchClient per questo contenitore.

getBlobClient(string)

Crea un Oggetto BlobClient

function getBlobClient(blobName: string): BlobClient

Parametri

blobName

string

Nome di UN BLOB

Restituisce

Nuovo oggetto BlobClient per il nome del BLOB specificato.

getBlobLeaseClient(string)

Ottenere un Oggetto BlobLeaseClient che gestisce i lease nel contenitore.

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

Parametri

proposeLeaseId

string

ID lease proposto iniziale.

Restituisce

Nuovo oggetto BlobLeaseClient per la gestione dei lease nel contenitore.

getBlockBlobClient(string)

Crea un oggetto BlockBlobClient

function getBlockBlobClient(blobName: string): BlockBlobClient

Parametri

blobName

string

Un nome BLOB in blocchi

Esempio di utilizzo:

const content = "Hello world!";

const blockBlobClient = containerClient.getBlockBlobClient("<blob name>");
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);

Restituisce

getPageBlobClient(string)

Crea un oggetto PageBlobClient

function getPageBlobClient(blobName: string): PageBlobClient

Parametri

blobName

string

Un nome BLOB di pagine

Restituisce

getProperties(ContainerGetPropertiesOptions)

Restituisce tutti i metadati definiti dall'utente e le proprietà di sistema per il contenitore specificato. I dati restituiti non includono l'elenco di BLOB del contenitore.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties

AVVISO: l'oggetto metadata restituito nella risposta avrà le chiavi in lettere minuscole, anche se in origine contengono caratteri maiuscoli. Ciò è diverso dalle chiavi di metadati restituite dal listContainers metodo di BlobServiceClient usando l'opzione , che manterrà le includeMetadata maiuscole e minuscole originali.

function getProperties(options?: ContainerGetPropertiesOptions): Promise<ContainerGetPropertiesResponse>

Parametri

options
ContainerGetPropertiesOptions

Opzioni per l'operazione Get Properties del contenitore.

Restituisce

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Restituisce un iteratore iteratore iteratore asincrono per elencare tutti i BLOB in base alla gerarchia. nell'account specificato.

.byPage() restituisce un iteratore iteratore iteratore asincrono per elencare i BLOB in base alla gerarchia nelle pagine.

Esempio di uso for await della sintassi:

for await (const item of containerClient.listBlobsByHierarchy("/")) {
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}`);
  }
}

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

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

Esempio di uso del paging con dimensioni massime della pagina:

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>

Parametri

delimiter

string

Carattere o stringa utilizzata per definire la gerarchia virtuale

options
ContainerListBlobsOptions

Opzioni per elencare l'operazione blob.

Restituisce

listBlobsFlat(ContainerListBlobsOptions)

Restituisce un iteratore iteratore iteratore asincrono per elencare tutti i BLOB nell'account specificato.

.byPage() restituisce un iteratore iteratore iterabile asincrono per elencare i BLOB nelle pagine.

Esempio di uso for await della sintassi:

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

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

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

Esempio di uso del paging con un marcatore:

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>

Parametri

options
ContainerListBlobsOptions

Opzioni per elencare i BLOB.

Restituisce

AsyncIterableIterator che supporta il paging.

setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

Imposta le autorizzazioni per il contenitore specificato. Le autorizzazioni indicano se i BLOB di un contenitore sono accessibili pubblicamente.

Quando si impostano le autorizzazioni per un contenitore, le autorizzazioni esistenti vengono sostituite. Se non viene fornito alcun accesso o contenitoreAcl, l'ACL del contenitore esistente verrà rimosso.

La creazione di un criterio di accesso archiviato in un contenitore potrebbe richiedere fino a 30 secondi. Durante questo intervallo una firma di accesso condiviso associata ai criteri di accesso archiviati avrà esito negativo e verrà restituito il codice di stato 403 (Accesso negato), finché il criterio non risulterà attivo.

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

function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions): Promise<ContainerSetAccessPolicyResponse>

Parametri

access
PublicAccessType

Livello di accesso pubblico ai dati nel contenitore.

containerAcl

SignedIdentifier[]

Matrice di elementi che hanno un ID univoco e i dettagli dei criteri di accesso.

options
ContainerSetAccessPolicyOptions

Opzioni per l'operazione Imposta criteri di accesso del contenitore.

Restituisce

setMetadata(Metadata, ContainerSetMetadataOptions)

Imposta una o più coppie nome-valore definite dall'utente per il contenitore specificato.

Se non è stata specificata alcuna opzione o nessun metadato definito nel parametro, i metadati del contenitore verranno rimossi.

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

function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions): Promise<ContainerSetMetadataResponse>

Parametri

metadata
Metadata

Sostituire i metadati esistenti con questo valore. Se non viene specificato alcun valore, i metadati esistenti verranno rimossi.

options
ContainerSetMetadataOptions

Opzioni per l'operazione Imposta metadati del contenitore.

Restituisce

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

Crea un nuovo BLOB in blocchi o aggiorna il contenuto di un BLOB in blocchi esistente.

L'aggiornamento di un Blob in blocchi esistente comporta la sovrascrittura dei metadati esistenti nel Blob. Gli aggiornamenti parziali non sono supportati; il contenuto del BLOB esistente viene sovrascritto con il nuovo contenuto. Per eseguire un aggiornamento parziale di un BLOB in blocchi, usare stageBlock e commitBlockList.

Si tratta di un metodo di caricamento non parallelo, usare uploadFile, uploadStream o uploadBrowserData per ottenere prestazioni migliori con il caricamento della concorrenza.

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

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

Parametri

blobName

string

Nome del BLOB in blocchi da creare o aggiornare.

body
HttpRequestBody

BLOB, string, ArrayBuffer, ArrayBufferView o una funzione che restituisce un nuovo flusso leggibile il cui offset proviene dall'origine dati.

contentLength

number

Lunghezza del corpo in byte. Usare Buffer.byteLength() per calcolare la lunghezza del corpo per una stringa, inclusi caratteri non con codifica Base64/Hex.

options
BlockBlobUploadOptions

Opzioni per configurare l'operazione di caricamento BLOB in blocchi.

Restituisce

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

Block Blob upload response data and the corrispondente BlockBlobClient instance.Block Blob upload response data and the corrispondente BlockBlobClient instance.