TypeScript ile blob kapsayıcısı oluşturma
Azure Depolama'deki bloblar kapsayıcılar halinde düzenlenir. Blobu karşıya yükleyebilmeniz için önce bir kapsayıcı oluşturmanız gerekir. Bu makalede JavaScript için Azure Depolama istemci kitaplığıyla kapsayıcı oluşturma adımları gösterilmektedir.
Önkoşullar
- Bu makaledeki örneklerde JavaScript için Azure Blob Depolama istemci kitaplığıyla çalışmak üzere ayarlanmış bir projeniz olduğu varsayılır. Paket yükleme, modülleri içeri aktarma ve veri kaynaklarıyla çalışacak yetkili bir istemci nesnesi oluşturma gibi projenizi ayarlama hakkında bilgi edinmek için bkz. Azure Blob Depolama ve TypeScript'i kullanmaya başlama.
- Yetkilendirme mekanizmasının blob kapsayıcısı oluşturma izinleri olmalıdır. Daha fazla bilgi edinmek için aşağıdaki REST API işlemi için yetkilendirme kılavuzuna bakın:
Kapsayıcı adlandırma hakkında
Kapsayıcı adı, kapsayıcıyı veya bloblarını ele almak için kullanılan benzersiz URI'nin bir parçasını oluşturacağı için geçerli bir DNS adı olmalıdır. Kapsayıcıyı adlandırırken şu kuralları izleyin:
- Kapsayıcı adları 3 ila 63 karakter uzunluğunda olabilir.
- Kapsayıcı adları bir harf veya sayı ile başlamalıdır ve yalnızca küçük harf, sayı ve tire (-) karakteri içerebilir.
- Kapsayıcı adlarında ardışık tire karakterlerine izin verilmez.
Kapsayıcı kaynağının URI'si aşağıdaki gibi biçimlendirilir:
https://my-account-name.blob.core.windows.net/my-container-name
Kapsayıcı oluşturma
Kapsayıcı oluşturmak için bir BlobServiceClient nesnesi veya ContainerClient nesnesi oluşturun, ardından aşağıdaki oluşturma yöntemlerinden birini kullanın:
Kapsayıcılar depolama hesabının hemen altında oluşturulur. Bir kapsayıcıyı başka bir kapsayıcının altına iç içe yerleştirmek mümkün değildir. Aynı ada sahip bir kapsayıcı zaten varsa bir özel durum oluşturulur.
Aşağıdaki örnek, BlobServiceClient'dan zaman uyumsuz olarak bir kapsayıcı oluşturur:
async function createContainer(
blobServiceClient: BlobServiceClient,
containerName: string
): Promise<ContainerClient> {
// public access at container level
const options: ContainerCreateOptions = {
access: 'container'
};
// creating client also creates container
const {
containerClient,
containerCreateResponse
}: {
containerClient: ContainerClient;
containerCreateResponse: ContainerCreateResponse;
} = await blobServiceClient.createContainer(containerName, options);
if (containerCreateResponse.errorCode)
throw Error(containerCreateResponse.errorCode);
console.log(`container ${containerName} created`);
// do something with container
// ...
// containerClient.listBlobsFlat({ includeMetadata: true,
// includeSnapshots: false,
// includeTags: true,
// includeVersions: false,
// prefix: ''});
return containerClient;
}
Kök kapsayıcıyı anlama
Belirli bir ada $root
sahip kök kapsayıcı, depolama hesabı hiyerarşisinin en üst düzeyinde bir bloba başvurmanızı sağlar. Örneğin, URI'de kapsayıcı adı kullanmadan bir bloba başvurabilirsiniz:
https://myaccount.blob.core.windows.net/default.html
Kök kapsayıcı açıkça oluşturulmalıdır veya silinmelidir. Hizmet oluşturma işleminin bir parçası olarak varsayılan olarak oluşturulmaz. Önceki bölümde görüntülenen aynı kod kök oluşturabilir. Kapsayıcı adı şeklindedir $root
.
Kaynaklar
JavaScript için Azure Blob Depolama istemci kitaplığını kullanarak kapsayıcı oluşturma hakkında daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın.
REST API işlemleri
JavaScript için Azure SDK, Azure REST API'sinin üzerinde derlenmiş kitaplıklar içerir ve tanıdık JavaScript paradigmalarıyla REST API işlemleriyle etkileşim kurmanızı sağlar. Kapsayıcı oluşturmaya yönelik istemci kitaplığı yöntemleri aşağıdaki REST API işlemini kullanır:
- Kapsayıcı Oluşturma (REST API)