Bagikan melalui


ContainerClient class

ContainerClient mewakili URL ke kontainer Azure Storage yang memungkinkan Anda memanipulasi blobnya.

Extends

StorageClient

Konstruktor

ContainerClient(string, PipelineLike)

Membuat instans ContainerClient. Metode ini menerima URL yang menunjuk ke kontainer. String URL yang dikodekan TIDAK akan lolos dua kali, hanya karakter khusus di jalur URL yang akan lolos. Jika nama blob menyertakan ? atau %, nama blob harus dikodekan dalam URL.

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

Membuat instans ContainerClient. Metode ini menerima URL yang menunjuk ke kontainer. String URL yang dikodekan TIDAK akan lolos dua kali, hanya karakter khusus di jalur URL yang akan lolos. Jika nama blob menyertakan ? atau %, nama blob harus dikodekan dalam URL.

ContainerClient(string, string, StoragePipelineOptions)

Membuat instans ContainerClient.

Properti

containerName

Nama kontainer.

Properti yang Diwariskan

accountName
credential

Seperti AnonymousCredential, StorageSharedKeyCredential atau kredensial apa pun dari @azure/identity paket untuk mengautentikasi permintaan ke layanan. Anda juga dapat menyediakan objek yang mengimplementasikan antarmuka TokenCredential. Jika tidak ditentukan, AnonymousCredential digunakan.

url

Nilai string URL yang dikodekan.

Metode

create(ContainerCreateOptions)

Membuat kontainer baru di bawah akun yang ditentukan. Jika kontainer dengan nama yang sama sudah ada, operasi akan gagal.

Lihat https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Aturan penamaan: Lihat https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

createIfNotExists(ContainerCreateOptions)

Membuat kontainer baru di bawah akun yang ditentukan. Jika kontainer dengan nama yang sama sudah ada, kontainer tersebut tidak diubah.

Lihat https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Aturan penamaan: Lihat https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

delete(ContainerDeleteMethodOptions)

Menandai kontainer yang ditentukan untuk penghapusan. Kontainer dan blob apa pun yang terkandung di dalamnya kemudian dihapus selama pengumpulan sampah.

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

deleteBlob(string, ContainerDeleteBlobOptions)

Menandai blob atau rekam jepret yang ditentukan untuk dihapus. Blob kemudian dihapus selama pengumpulan sampah. Perhatikan bahwa untuk menghapus blob, Anda harus menghapus semua rekam jepretnya. Anda dapat menghapus keduanya secara bersamaan dengan operasi Hapus Blob.

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

deleteIfExists(ContainerDeleteMethodOptions)

Menandai kontainer yang ditentukan untuk penghapusan jika ada. Kontainer dan blob apa pun yang terkandung di dalamnya kemudian dihapus selama pengumpulan sampah.

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

exists(ContainerExistsOptions)

Mengembalikan true jika sumber daya kontainer Azure yang diwakili oleh klien ini ada; false jika tidak.

CATATAN: gunakan fungsi ini dengan hati-hati karena kontainer yang ada mungkin dihapus oleh klien atau aplikasi lain. Sebaliknya kontainer baru dengan nama yang sama mungkin ditambahkan oleh klien atau aplikasi lain setelah fungsi ini selesai.

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Mengembalikan iterator yang dapat di-iterasi asinkron untuk menemukan semua blob dengan tag yang ditentukan di bawah kontainer yang ditentukan.

.byPage() mengembalikan iterator yang dapat di-iterasi asinkron untuk mencantumkan blob di halaman.

Contoh menggunakan for await sintaks:

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

Contoh menggunakan 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();
}

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

Contoh menggunakan halaman dengan penanda:

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)

Hanya tersedia untuk ContainerClient yang dibangun dengan kredensial kunci bersama.

Menghasilkan URI Tanda Tangan Akses Bersama (SAS) Blob Container Service berdasarkan properti dan parameter klien yang diteruskan. SAS ditandatangani oleh kredensial kunci bersama klien.

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

getAccessPolicy(ContainerGetAccessPolicyOptions)

Mendapatkan izin untuk kontainer yang ditentukan. Izin menunjukkan apakah data kontainer dapat diakses secara publik.

PERINGATAN: Tanggal JavaScript berpotensi kehilangan presisi saat mengurai string startsOn dan expiresOn. Misalnya, Tanggal baru("2018-12-31T03:44:23.8827891Z").toISOString() akan mendapatkan "2018-12-31T03:44:23.882Z".

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

getAppendBlobClient(string)

Membuat AppendBlobClient

getBlobBatchClient()

Membuat objek BlobBatchClient untuk melakukan operasi batch.

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

getBlobClient(string)

Membuat BlobClient

getBlobLeaseClient(string)

Dapatkan BlobLeaseClient yang mengelola sewa pada kontainer.

getBlockBlobClient(string)

Membuat BlockBlobClient

getPageBlobClient(string)

Membuat PageBlobClient

getProperties(ContainerGetPropertiesOptions)

Mengembalikan semua metadata dan properti sistem yang ditentukan pengguna untuk kontainer yang ditentukan. Data yang dikembalikan tidak menyertakan daftar blob kontainer.

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

PERINGATAN: Objek metadata yang dikembalikan dalam respons akan memiliki kuncinya dalam huruf kecil, bahkan jika awalnya berisi karakter huruf besar. Ini berbeda dari kunci metadata yang dikembalikan oleh listContainers metode BlobServiceClient menggunakan includeMetadata opsi , yang akan mempertahankan casing aslinya.

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Mengembalikan iterator yang dapat diulang asinkron untuk mencantumkan semua blob menurut hierarki. di bawah akun yang ditentukan.

.byPage() mengembalikan iterator yang dapat di-iterasi asinkron untuk mencantumkan blob menurut hierarki di halaman.

Contoh menggunakan for await sintaks:

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

Contoh menggunakan 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();
}

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

Contoh menggunakan halaman dengan ukuran halaman maks:

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)

Mengembalikan iterator yang dapat diulang asinkron untuk mencantumkan semua blob di bawah akun yang ditentukan.

.byPage() mengembalikan iterator yang dapat di-iterasi asinkron untuk mencantumkan blob di halaman.

Contoh menggunakan for await sintaks:

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

Contoh menggunakan 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();
}

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

Contoh menggunakan halaman dengan penanda:

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)

Mengatur izin untuk kontainer yang ditentukan. Izin menunjukkan apakah blob dalam kontainer dapat diakses secara publik.

Saat Anda mengatur izin untuk kontainer, izin yang ada akan diganti. Jika tidak ada akses atau containerAcl yang disediakan, ACL kontainer yang ada akan dihapus.

Saat Anda membuat kebijakan akses tersimpan pada kontainer, mungkin perlu waktu hingga 30 detik untuk diterapkan. Selama interval ini, tanda tangan akses bersama yang terkait dengan kebijakan akses tersimpan akan gagal dengan kode status 403 (Terlarang), hingga kebijakan akses menjadi aktif.

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

setMetadata(Metadata, ContainerSetMetadataOptions)

Mengatur satu atau beberapa pasangan nilai nama yang ditentukan pengguna untuk kontainer yang ditentukan.

Jika tidak ada opsi yang disediakan, atau tidak ada metadata yang ditentukan dalam parameter, metadata kontainer akan dihapus.

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

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

Membuat blob blok baru, atau memperbarui konten blob blok yang ada.

Memperbarui blob blok yang ada menimpa metadata yang ada pada blob. Pembaruan parsial tidak didukung; konten blob yang ada ditimpa dengan konten baru. Untuk melakukan pembaruan parsial blob blok, gunakan stageBlock dan commitBlockList.

Ini adalah metode pengunggahan non-paralel, silakan gunakan uploadFile, uploadStream , atau uploadBrowserData untuk performa yang lebih baik dengan pengunggahan konkurensi.

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

Detail Konstruktor

ContainerClient(string, PipelineLike)

Membuat instans ContainerClient. Metode ini menerima URL yang menunjuk ke kontainer. String URL yang dikodekan TIDAK akan lolos dua kali, hanya karakter khusus di jalur URL yang akan lolos. Jika nama blob menyertakan ? atau %, nama blob harus dikodekan dalam URL.

new ContainerClient(url: string, pipeline: PipelineLike)

Parameter

url

string

String URL yang menunjuk ke kontainer Azure Storage, seperti "https://myaccount.blob.core.windows.net/mycontainer". Anda dapat menambahkan SAS jika menggunakan AnonymousCredential, seperti "https://myaccount.blob.core.windows.net/mycontainer?sasString".

pipeline
PipelineLike

Panggil newPipeline() untuk membuat alur default, atau sediakan alur yang disesuaikan.

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

Membuat instans ContainerClient. Metode ini menerima URL yang menunjuk ke kontainer. String URL yang dikodekan TIDAK akan lolos dua kali, hanya karakter khusus di jalur URL yang akan lolos. Jika nama blob menyertakan ? atau %, nama blob harus dikodekan dalam URL.

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

Parameter

url

string

String URL yang menunjuk ke kontainer Azure Storage, seperti "https://myaccount.blob.core.windows.net/mycontainer". Anda dapat menambahkan SAS jika menggunakan AnonymousCredential, seperti "https://myaccount.blob.core.windows.net/mycontainer?sasString".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Seperti AnonymousCredential, StorageSharedKeyCredential atau kredensial apa pun dari @azure/identity paket untuk mengautentikasi permintaan ke layanan. Anda juga dapat menyediakan objek yang mengimplementasikan antarmuka TokenCredential. Jika tidak ditentukan, AnonymousCredential digunakan.

options
StoragePipelineOptions

Pilihan. Opsi untuk mengonfigurasi alur HTTP.

ContainerClient(string, string, StoragePipelineOptions)

Membuat instans ContainerClient.

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

Parameter

connectionString

string

String koneksi akun atau string koneksi SAS dari akun penyimpanan Azure. [ Catatan - String koneksi akun hanya dapat digunakan dalam runtime NODE.JS. ] Contoh string koneksi akun -DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net Contoh string koneksi 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

containerName

string

Nama kontainer.

options
StoragePipelineOptions

Pilihan. Opsi untuk mengonfigurasi alur HTTP.

Detail Properti

containerName

Nama kontainer.

string containerName

Nilai Properti

string

Detail Properti yang Diwariskan

accountName

accountName: string

Nilai Properti

string

Diwarisi Dari StorageClient.accountName

credential

Seperti AnonymousCredential, StorageSharedKeyCredential atau kredensial apa pun dari @azure/identity paket untuk mengautentikasi permintaan ke layanan. Anda juga dapat menyediakan objek yang mengimplementasikan antarmuka TokenCredential. Jika tidak ditentukan, AnonymousCredential digunakan.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Nilai Properti

Diwarisi Dari StorageClient.credential

url

Nilai string URL yang dikodekan.

url: string

Nilai Properti

string

Diwarisi Dari StorageClient.url

Detail Metode

create(ContainerCreateOptions)

Membuat kontainer baru di bawah akun yang ditentukan. Jika kontainer dengan nama yang sama sudah ada, operasi akan gagal.

Lihat https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Aturan penamaan: Lihat https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

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

Parameter

options
ContainerCreateOptions

Opsi untuk operasi Buat Kontainer.

Contoh penggunaan:

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

Mengembalikan

createIfNotExists(ContainerCreateOptions)

Membuat kontainer baru di bawah akun yang ditentukan. Jika kontainer dengan nama yang sama sudah ada, kontainer tersebut tidak diubah.

Lihat https://docs.microsoft.com/en-us/rest/api/storageservices/create-container Aturan penamaan: Lihat https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

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

Parameter

Mengembalikan

delete(ContainerDeleteMethodOptions)

Menandai kontainer yang ditentukan untuk penghapusan. Kontainer dan blob apa pun yang terkandung di dalamnya kemudian dihapus selama pengumpulan sampah.

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

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

Parameter

options
ContainerDeleteMethodOptions

Opsi untuk operasi Penghapusan Kontainer.

Mengembalikan

deleteBlob(string, ContainerDeleteBlobOptions)

Menandai blob atau rekam jepret yang ditentukan untuk dihapus. Blob kemudian dihapus selama pengumpulan sampah. Perhatikan bahwa untuk menghapus blob, Anda harus menghapus semua rekam jepretnya. Anda dapat menghapus keduanya secara bersamaan dengan operasi Hapus Blob.

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

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

Parameter

blobName

string

options
ContainerDeleteBlobOptions

Opsi untuk operasi Penghapusan Blob.

Mengembalikan

Data respons penghapusan blob blok.

deleteIfExists(ContainerDeleteMethodOptions)

Menandai kontainer yang ditentukan untuk penghapusan jika ada. Kontainer dan blob apa pun yang terkandung di dalamnya kemudian dihapus selama pengumpulan sampah.

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

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

Parameter

options
ContainerDeleteMethodOptions

Opsi untuk operasi Penghapusan Kontainer.

Mengembalikan

exists(ContainerExistsOptions)

Mengembalikan true jika sumber daya kontainer Azure yang diwakili oleh klien ini ada; false jika tidak.

CATATAN: gunakan fungsi ini dengan hati-hati karena kontainer yang ada mungkin dihapus oleh klien atau aplikasi lain. Sebaliknya kontainer baru dengan nama yang sama mungkin ditambahkan oleh klien atau aplikasi lain setelah fungsi ini selesai.

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

Parameter

Mengembalikan

Promise<boolean>

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

Mengembalikan iterator yang dapat di-iterasi asinkron untuk menemukan semua blob dengan tag yang ditentukan di bawah kontainer yang ditentukan.

.byPage() mengembalikan iterator yang dapat di-iterasi asinkron untuk mencantumkan blob di halaman.

Contoh menggunakan for await sintaks:

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

Contoh menggunakan 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();
}

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

Contoh menggunakan halaman dengan penanda:

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>

Parameter

tagFilterSqlExpression

string

Parameter where memungkinkan pemanggil untuk mengkueri blob yang tagnya cocok dengan ekspresi tertentu. Ekspresi yang diberikan harus mengevaluasi ke true agar blob dikembalikan dalam hasil. Aturan sintaks filter[OData - ABNF] menentukan tata bahasa formal untuk nilai parameter kueri where; namun, hanya subset sintaks filter OData yang didukung dalam Blob service.

options
ContainerFindBlobByTagsOptions

Opsi untuk menemukan blob menurut tag.

Mengembalikan

generateSasUrl(ContainerGenerateSasUrlOptions)

Hanya tersedia untuk ContainerClient yang dibangun dengan kredensial kunci bersama.

Menghasilkan URI Tanda Tangan Akses Bersama (SAS) Blob Container Service berdasarkan properti dan parameter klien yang diteruskan. SAS ditandatangani oleh kredensial kunci bersama klien.

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

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

Parameter

options
ContainerGenerateSasUrlOptions

Parameter opsional.

Mengembalikan

Promise<string>

SAS URI yang terdiri dari URI ke sumber daya yang diwakili oleh klien ini, diikuti dengan token SAS yang dihasilkan.

getAccessPolicy(ContainerGetAccessPolicyOptions)

Mendapatkan izin untuk kontainer yang ditentukan. Izin menunjukkan apakah data kontainer dapat diakses secara publik.

PERINGATAN: Tanggal JavaScript berpotensi kehilangan presisi saat mengurai string startsOn dan expiresOn. Misalnya, Tanggal baru("2018-12-31T03:44:23.8827891Z").toISOString() akan mendapatkan "2018-12-31T03:44:23.882Z".

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

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

Parameter

options
ContainerGetAccessPolicyOptions

Opsi untuk operasi Kebijakan Dapatkan Akses Kontainer.

Mengembalikan

getAppendBlobClient(string)

Membuat AppendBlobClient

function getAppendBlobClient(blobName: string): AppendBlobClient

Parameter

blobName

string

Nama blob tambahan

Mengembalikan

getBlobBatchClient()

Membuat objek BlobBatchClient untuk melakukan operasi batch.

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

function getBlobBatchClient(): BlobBatchClient

Mengembalikan

Objek BlobBatchClient baru untuk kontainer ini.

getBlobClient(string)

Membuat BlobClient

function getBlobClient(blobName: string): BlobClient

Parameter

blobName

string

Nama blob

Mengembalikan

Objek BlobClient baru untuk nama blob yang diberikan.

getBlobLeaseClient(string)

Dapatkan BlobLeaseClient yang mengelola sewa pada kontainer.

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

Parameter

proposeLeaseId

string

Id sewa awal yang diusulkan.

Mengembalikan

Objek BlobLeaseClient baru untuk mengelola sewa pada kontainer.

getBlockBlobClient(string)

Membuat BlockBlobClient

function getBlockBlobClient(blobName: string): BlockBlobClient

Parameter

blobName

string

Nama blob blok

Contoh penggunaan:

const content = "Hello world!";

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

Mengembalikan

getPageBlobClient(string)

Membuat PageBlobClient

function getPageBlobClient(blobName: string): PageBlobClient

Parameter

blobName

string

Nama blob halaman

Mengembalikan

getProperties(ContainerGetPropertiesOptions)

Mengembalikan semua metadata dan properti sistem yang ditentukan pengguna untuk kontainer yang ditentukan. Data yang dikembalikan tidak menyertakan daftar blob kontainer.

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

PERINGATAN: Objek metadata yang dikembalikan dalam respons akan memiliki kuncinya dalam huruf kecil, bahkan jika awalnya berisi karakter huruf besar. Ini berbeda dari kunci metadata yang dikembalikan oleh listContainers metode BlobServiceClient menggunakan includeMetadata opsi , yang akan mempertahankan casing aslinya.

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

Parameter

options
ContainerGetPropertiesOptions

Opsi untuk operasi Dapatkan Properti Kontainer.

Mengembalikan

listBlobsByHierarchy(string, ContainerListBlobsOptions)

Mengembalikan iterator yang dapat diulang asinkron untuk mencantumkan semua blob menurut hierarki. di bawah akun yang ditentukan.

.byPage() mengembalikan iterator yang dapat di-iterasi asinkron untuk mencantumkan blob menurut hierarki di halaman.

Contoh menggunakan for await sintaks:

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

Contoh menggunakan 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();
}

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

Contoh menggunakan halaman dengan ukuran halaman maks:

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>

Parameter

delimiter

string

Karakter atau string yang digunakan untuk menentukan hierarki virtual

options
ContainerListBlobsOptions

Opsi untuk mencantumkan operasi blob.

Mengembalikan

listBlobsFlat(ContainerListBlobsOptions)

Mengembalikan iterator yang dapat diulang asinkron untuk mencantumkan semua blob di bawah akun yang ditentukan.

.byPage() mengembalikan iterator yang dapat di-iterasi asinkron untuk mencantumkan blob di halaman.

Contoh menggunakan for await sintaks:

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

Contoh menggunakan 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();
}

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

Contoh menggunakan halaman dengan penanda:

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>

Parameter

options
ContainerListBlobsOptions

Opsi untuk mencantumkan blob.

Mengembalikan

AsyncIterableIterator yang mendukung paging.

setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

Mengatur izin untuk kontainer yang ditentukan. Izin menunjukkan apakah blob dalam kontainer dapat diakses secara publik.

Saat Anda mengatur izin untuk kontainer, izin yang ada akan diganti. Jika tidak ada akses atau containerAcl yang disediakan, ACL kontainer yang ada akan dihapus.

Saat Anda membuat kebijakan akses tersimpan pada kontainer, mungkin perlu waktu hingga 30 detik untuk diterapkan. Selama interval ini, tanda tangan akses bersama yang terkait dengan kebijakan akses tersimpan akan gagal dengan kode status 403 (Terlarang), hingga kebijakan akses menjadi aktif.

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

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

Parameter

access
PublicAccessType

Tingkat akses publik ke data dalam kontainer.

containerAcl

SignedIdentifier[]

Array elemen masing-masing memiliki Id unik dan detail kebijakan akses.

options
ContainerSetAccessPolicyOptions

Opsi untuk operasi Kebijakan Akses Set Kontainer.

Mengembalikan

setMetadata(Metadata, ContainerSetMetadataOptions)

Mengatur satu atau beberapa pasangan nilai nama yang ditentukan pengguna untuk kontainer yang ditentukan.

Jika tidak ada opsi yang disediakan, atau tidak ada metadata yang ditentukan dalam parameter, metadata kontainer akan dihapus.

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

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

Parameter

metadata
Metadata

Ganti metadata yang ada dengan nilai ini. Jika tidak ada nilai yang disediakan, metadata yang ada akan dihapus.

options
ContainerSetMetadataOptions

Opsi untuk operasi Metadata Set Kontainer.

Mengembalikan

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

Membuat blob blok baru, atau memperbarui konten blob blok yang ada.

Memperbarui blob blok yang ada menimpa metadata yang ada pada blob. Pembaruan parsial tidak didukung; konten blob yang ada ditimpa dengan konten baru. Untuk melakukan pembaruan parsial blob blok, gunakan stageBlock dan commitBlockList.

Ini adalah metode pengunggahan non-paralel, silakan gunakan uploadFile, uploadStream , atau uploadBrowserData untuk performa yang lebih baik dengan pengunggahan konkurensi.

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

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

Parameter

blobName

string

Nama blob blok untuk dibuat atau diperbarui.

body
HttpRequestBody

Blob, string, ArrayBuffer, ArrayBufferView atau fungsi yang mengembalikan aliran Readable baru yang offsetnya berasal dari sumber data awal.

contentLength

number

Panjang tubuh dalam byte. Gunakan Buffer.byteLength() untuk menghitung panjang isi untuk string termasuk karakter non-Base64/Hex-encoded.

options
BlockBlobUploadOptions

Opsi untuk mengonfigurasi operasi Unggah Blob Blok.

Mengembalikan

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

Blokir data respons unggahan Blob dan instans BlockBlobClient yang sesuai.