Aracılığıyla paylaş


Java ile blob kapsayıcısı oluşturma

Azure Depolama'daki bloblar kapsayıcılar halinde düzenlenir. Blobu karşıya yükleyebilmeniz için önce bir kapsayıcı oluşturmanız gerekir. Bu makalede Java için Azure Depolama istemci kitaplığı ile kapsayıcı oluşturma adımları gösterilmektedir.

Önkoşullar

Ortamınızı ayarlama

Mevcut bir projeniz yoksa, bu bölümde Java için Azure Blob Depolama istemci kitaplığıyla çalışmak üzere bir projenin nasıl ayarlanacağı gösterilir. Daha fazla bilgi için bkz. Azure Blob Depolama ve Java'yı kullanmaya başlama.

Bu makaledeki kod örnekleriyle çalışmak için projenizi ayarlamak için bu adımları izleyin.

Not

Bu makalede, örnek kodu derlemek ve çalıştırmak için Maven derleme aracı kullanılmaktadır. Gradle gibi diğer derleme araçları da Java için Azure SDK ile çalışır.

Paketleri yükleme

pom.xml Dosyayı metin düzenleyicinizde açın. Bom dosyasını ekleyerek veya doğrudan bağımlılık ekleyerek paketleri yükleyin.

İçeri aktarma deyimleri ekleme

Aşağıdaki import deyimlerini ekleyin:

import com.azure.storage.blob.*;

Yetkilendirme

Yetkilendirme mekanizması, kapsayıcı oluşturmak için gerekli izinlere sahip olmalıdır. Microsoft Entra Id ile yetkilendirme için (önerilir), Azure RBAC yerleşik rolü Depolama Blob Verileri Katkıda Bulunanı veya üzeri gerekir. Daha fazla bilgi edinmek için Kapsayıcı Oluşturma (REST API) yetkilendirme kılavuzuna bakın.

İstemci nesnesi oluşturma

Bir uygulamayı Blob Depolama'ya bağlamak için bir BlobServiceClient örneği oluşturun.

Aşağıdaki örnek kullanarak bir BlobServiceClient nesne DefaultAzureCredentialoluşturmak için BlobServiceClientBuilder'ı kullanır ve gerekirse kapsayıcı ve blob istemcilerinin nasıl oluşturulacağını gösterir:

// Azure SDK client builders accept the credential as a parameter
// TODO: Replace <storage-account-name> with your actual storage account name
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
        .endpoint("https://<storage-account-name>.blob.core.windows.net/")
        .credential(new DefaultAzureCredentialBuilder().build())
        .buildClient();

// If needed, you can create a BlobContainerClient object from the BlobServiceClient
BlobContainerClient containerClient = blobServiceClient
        .getBlobContainerClient("<container-name>");

// If needed, you can create a BlobClient object from the BlobContainerClient
BlobClient blobClient = containerClient
        .getBlobClient("<blob-name>");

İstemci nesneleri oluşturma ve yönetme hakkında daha fazla bilgi edinmek için bkz . Veri kaynaklarıyla etkileşim kuran istemci nesneleri oluşturma ve yönetme.

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 sınıfından aşağıdaki yöntemlerden birini çağırın BlobServiceClient :

Ayrıca sınıfından aşağıdaki yöntemlerden BlobContainerClient birini kullanarak bir kapsayıcı oluşturabilirsiniz:

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. ve createBlobContainer yöntemleri içincreate, aynı ada sahip bir kapsayıcı zaten varsa bir özel durum oluşturulur.

Aşağıdaki örnek bir nesneden kapsayıcı BlobServiceClient oluşturur:

public BlobContainerClient createContainer(BlobServiceClient blobServiceClient, String containerName) {
    // Create the container using the service client object
    BlobContainerClient blobContainerClient = blobServiceClient.createBlobContainer(containerName);

    return blobContainerClient;
}

Kök kapsayıcıyı oluşturma

Kök kapsayıcı, depolama hesabınız için varsayılan kapsayıcı görevi görür. Her depolama hesabının $root olarak adlandırılması gereken bir kök kapsayıcısı olabilir. Kök kapsayıcı açıkça oluşturulmalıdır veya silinmelidir.

Kök kapsayıcı adını eklemeden kök kapsayıcıda depolanan bir bloba başvurabilirsiniz. Kök kapsayıcı, depolama hesabı hiyerarşisinin en üst düzeyinde bir bloba başvurmanızı sağlar. Örneğin, kök kapsayıcıda bulunan bir bloba aşağıdaki şekilde başvurabilirsiniz:

https://accountname.blob.core.windows.net/default.html

Aşağıdaki örnek, $root kapsayıcı adıyla yeni BlobContainerClient bir nesne oluşturur ve depolama hesabında henüz yoksa kapsayıcıyı oluşturur:

public void createRootContainer(BlobServiceClient blobServiceClient) {
    // Creates a new BlobContainerClient object by appending the containerName to
    // the end of the URI
    BlobContainerClient blobContainerClient = blobServiceClient.getBlobContainerClient("$root");

    // If the container does not already exist, create it using the container client
    blobContainerClient.createIfNotExists();
}

Kaynaklar

Java 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.

Kod örnekleri

REST API işlemleri

Java için Azure SDK, Azure REST API'sinin üzerinde derlenmiş kitaplıklar içerir ve tanıdık Java 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:

İstemci kitaplığı kaynakları

  • Bu makale, Java için Blob Depolama geliştirici kılavuzunun bir parçasıdır. Daha fazla bilgi edinmek için Java uygulamanızı derleme makalelerinde geliştirici kılavuzu makalelerinin tam listesine bakın.