ContainerClient class

Un ContainerClient rappresenta un URL per il 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à preceduta da un carattere di escape due volte. Solo i caratteri speciali nel percorso URL verranno preceduti da un carattere di escape. Se il nome di un 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à preceduta da un carattere di escape due volte. Solo i caratteri speciali nel percorso URL verranno preceduti da un carattere di escape. Se il nome di un 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 pacchetto @azure/identity 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 il contenitore con lo stesso nome esiste già, l'operazione non riesce.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/create-container regole di denominazione: vedere https://video2.skills-academy.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://video2.skills-academy.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 contenuti in esso vengono eliminati in un secondo momento durante la 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 viene eliminato in un secondo momento durante l'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 presente. Il contenitore e tutti i BLOB contenuti in esso vengono eliminati in un secondo momento durante la 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 da questo 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, i nuovi contenitori con lo stesso nome potrebbero essere aggiunti da altri client o applicazioni al termine di questa funzione.

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Restituisce un 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 utilizzo della sintassi for await:

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

Esempio di utilizzo di 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 di utilizzo di 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 utilizzo 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 chiave condivise.

Genera un URI della firma di accesso condiviso del servizio BLOB in base alle proprietà e ai parametri del client passati. La firma di accesso condiviso è 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 è possibile accedere pubblicamente ai dati del contenitore.

AVVISO: la data JavaScript perderà potenzialmente la precisione durante l'analisi di startsOn e scadrà stringheOn. 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

getAccountInfo(ContainerGetAccountInfoOptions)

L'operazione Get Account Information restituisce il nome sku e il tipo di account per l'account specificato. L'operazione Get Account Information è disponibile nelle versioni del servizio a partire dalla versione 2018-03-28.

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

getAppendBlobClient(string)

Crea un 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 BlobClient

getBlobLeaseClient(string)

Ottenere un BlobLeaseClient che gestisce i lease nel contenitore.

getBlockBlobClient(string)

Crea un BlockBlobClient

getPageBlobClient(string)

Crea un PageBlobClient di

getProperties(ContainerGetPropertiesOptions)

Restituisce tutti i metadati e le proprietà di sistema definiti dall'utente 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 relative chiavi in lettere minuscole, anche se originariamente contengono caratteri maiuscoli. Ciò differisce dalle chiavi di metadati restituite dal metodo listContainers di BlobServiceClient usando l'opzione includeMetadata, che manterrà le maiuscole e minuscole originali.

listBlobsByHierarchy(string, ContainerListBlobsOptions)

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

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

Esempio di utilizzo della sintassi 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}`);
  }
}

Esempio di utilizzo di 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 di utilizzo di 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 utilizzo 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 asincrono per elencare tutti i BLOB nell'account specificato.

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

Esempio di utilizzo della sintassi 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}`);
}

Esempio di utilizzo di 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 di utilizzo di 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 utilizzo 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 è possibile accedere pubblicamente ai BLOB in un contenitore.

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.

Quando si stabilisce un criterio di accesso archiviato in un contenitore, potrebbero essere necessari fino a 30 secondi. Durante questo intervallo, una firma di accesso condiviso associata ai criteri di accesso archiviati avrà esito negativo con il codice di stato 403 (Accesso negato), fino a quando i criteri di accesso non diventano attivi.

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 viene 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, RequestBodyType, 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 sovrascrive tutti i 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à preceduta da un carattere di escape due volte. Solo i caratteri speciali nel percorso URL verranno preceduti da un carattere di escape. Se il nome di un 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à preceduta da un carattere di escape due volte. Solo i caratteri speciali nel percorso URL verranno preceduti da un carattere di escape. Se il nome di un 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 pacchetto @azure/identity per autenticare le richieste al servizio. È anche possibile fornire un oggetto che implementa l'interfaccia TokenCredential. Se non specificato, viene utilizzato AnonymousCredential.

options
StoragePipelineOptions

Opzionale. 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 - Esempio di stringa di connessione sas DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net - 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

Opzionale. 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 pacchetto @azure/identity 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 il contenitore con lo stesso nome esiste già, l'operazione non riesce.

Vedere https://docs.microsoft.com/en-us/rest/api/storageservices/create-container regole di denominazione: vedere https://video2.skills-academy.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://video2.skills-academy.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 contenuti in esso vengono eliminati in un secondo momento durante la 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 viene eliminato in un secondo momento durante l'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 presente. Il contenitore e tutti i BLOB contenuti in esso vengono eliminati in un secondo momento durante la 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 da questo 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, i nuovi contenitori con lo stesso nome potrebbero essere aggiunti 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 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 utilizzo della sintassi for await:

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

Esempio di utilizzo di 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 di utilizzo di 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 utilizzo 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, nel servizio BLOB è supportato solo un subset della sintassi del filtro OData.

options
ContainerFindBlobByTagsOptions

Opzioni per trovare i BLOB in base ai tag.

Restituisce

generateSasUrl(ContainerGenerateSasUrlOptions)

Disponibile solo per ContainerClient costruito con credenziali chiave condivise.

Genera un URI della firma di accesso condiviso del servizio BLOB in base alle proprietà e ai parametri del client passati. La firma di accesso condiviso è 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 è possibile accedere pubblicamente ai dati del contenitore.

AVVISO: la data JavaScript perderà potenzialmente la precisione durante l'analisi di startsOn e scadrà stringheOn. 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

getAccountInfo(ContainerGetAccountInfoOptions)

L'operazione Get Account Information restituisce il nome sku e il tipo di account per l'account specificato. L'operazione Get Account Information è disponibile nelle versioni del servizio a partire dalla versione 2018-03-28.

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

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

Parametri

options
ContainerGetAccountInfoOptions

Opzioni per l'operazione Service Get Account Info .Options to the Service Get Account Info operation.

Restituisce

Dati di risposta per l'operazione Di recupero dell'account del servizio.

getAppendBlobClient(string)

Crea un 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 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 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 BlockBlobClient

function getBlockBlobClient(blobName: string): BlockBlobClient

Parametri

blobName

string

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 PageBlobClient di

function getPageBlobClient(blobName: string): PageBlobClient

Parametri

blobName

string

Un nome BLOB di pagine

Restituisce

getProperties(ContainerGetPropertiesOptions)

Restituisce tutti i metadati e le proprietà di sistema definiti dall'utente 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 relative chiavi in lettere minuscole, anche se originariamente contengono caratteri maiuscoli. Ciò differisce dalle chiavi di metadati restituite dal metodo listContainers di BlobServiceClient usando l'opzione includeMetadata, che manterrà le 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 asincrono per elencare tutti i BLOB in base alla gerarchia. nell'account specificato.

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

Esempio di utilizzo della sintassi 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}`);
  }
}

Esempio di utilizzo di 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 di utilizzo di 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 utilizzo 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 usata per definire la gerarchia virtuale

options
ContainerListBlobsOptions

Opzioni per elencare l'operazione BLOB.

Restituisce

listBlobsFlat(ContainerListBlobsOptions)

Restituisce un 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 utilizzo della sintassi 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}`);
}

Esempio di utilizzo di 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 di utilizzo di 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 utilizzo 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 è possibile accedere pubblicamente ai BLOB in un contenitore.

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.

Quando si stabilisce un criterio di accesso archiviato in un contenitore, potrebbero essere necessari fino a 30 secondi. Durante questo intervallo, una firma di accesso condiviso associata ai criteri di accesso archiviati avrà esito negativo con il codice di stato 403 (Accesso negato), fino a quando i criteri di accesso non diventano attivi.

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 ognuno con 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 viene 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, RequestBodyType, 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 sovrascrive tutti i 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: RequestBodyType, 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 }>

Bloccare i dati di risposta di caricamento blob e l'istanza BlockBlobClient corrispondente.