Sdílet prostřednictvím


Vytvoření kontejneru objektů blob pomocí Javy

Objekty blob ve službě Azure Storage jsou uspořádané do kontejnerů. Než budete moct nahrát objekt blob, musíte nejprve vytvořit kontejner. Tento článek ukazuje, jak vytvořit kontejnery s klientskou knihovnou Azure Storage pro Javu.

Požadavky

Nastavení prostředí

Pokud nemáte existující projekt, v této části se dozvíte, jak nastavit projekt pro práci s klientskou knihovnou Azure Blob Storage pro Javu. Další informace najdete v tématu Začínáme se službou Azure Blob Storage a Javou.

Pokud chcete pracovat s příklady kódu v tomto článku, nastavte projekt pomocí následujícího postupu.

Poznámka:

Tento článek používá nástroj pro sestavení Maven k sestavení a spuštění ukázkového kódu. Další nástroje sestavení, jako je Gradle, také pracují se sadou Azure SDK pro Javu.

Instalace balíčků

Otevřete soubor v textovém pom.xml editoru. Nainstalujte balíčky zahrnutím souboru kusovníku nebo zahrnutím přímé závislosti.

Přidání příkazů importu

Přidejte následující příkazy import:

import com.azure.storage.blob.*;

Autorizace

Autorizační mechanismus musí mít potřebná oprávnění k vytvoření kontejneru. K autorizaci pomocí Microsoft Entra ID (doporučeno) potřebujete předdefinovanou roli Přispěvatel dat objektů blob služby Azure RBAC nebo vyšší. Další informace najdete v pokynech k autorizaci pro vytvoření kontejneru (REST API).

Vytvoření objektu klienta

Pokud chcete připojit aplikaci ke službě Blob Storage, vytvořte instanci BlobServiceClient.

Následující příklad používá BlobServiceClientBuilder k sestavení BlobServiceClient objektu pomocí DefaultAzureCredentiala ukazuje, jak vytvořit kontejner a klienty objektů blob v případě potřeby:

// 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>");

Další informace o vytváření a správě klientských objektů najdete v tématu Vytváření a správa klientských objektů, které pracují s datovými prostředky.

Pojmenování kontejneru

Název kontejneru musí být platný název DNS, protože je součástí jedinečného identifikátoru URI použitého k adresování kontejneru nebo jeho objektů blob. Při pojmenování kontejneru postupujte podle těchto pravidel:

  • Názvy kontejnerů můžou mít délku 3 až 63 znaků.
  • Názvy kontejnerů musí začínat písmenem nebo číslicí a mohou obsahovat pouze malá písmena, číslice a znak pomlčky (-).
  • V názvech kontejnerů nejsou povolené po sobě jdoucí pomlčky.

Identifikátor URI pro prostředek kontejneru je formátovaný takto:

https://my-account-name.blob.core.windows.net/my-container-name

Vytvoření kontejneru

Chcete-li vytvořit kontejner, zavolejte jednu z následujících metod z BlobServiceClient třídy:

Kontejner můžete také vytvořit pomocí jedné z následujících metod ze BlobContainerClient třídy:

Kontejnery se vytvářejí okamžitě pod účtem úložiště. Není možné vnořit jeden kontejner pod jiný. Pro metody create a createBlobContainer metody je vyvolán výjimka, pokud kontejner se stejným názvem již existuje.

Následující příklad vytvoří kontejner z objektu BlobServiceClient :

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

    return blobContainerClient;
}

Vytvoření kořenového kontejneru

Kořenový kontejner slouží jako výchozí kontejner pro váš účet úložiště. Každý účet úložiště může mít jeden kořenový kontejner, který musí mít název $root. Kořenový kontejner musí být explicitně vytvořen nebo odstraněn.

Na objekt blob uložený v kořenovém kontejneru můžete odkazovat bez zahrnutí názvu kořenového kontejneru. Kořenový kontejner umožňuje odkazovat na objekt blob na nejvyšší úrovni hierarchie účtu úložiště. Například můžete odkazovat na objekt blob, který je v kořenovém kontejneru následujícím způsobem:

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

Následující příklad vytvoří nový BlobContainerClient objekt s názvem kontejneru $root a pak vytvoří kontejner, pokud ještě v účtu úložiště neexistuje:

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

Zdroje informací

Další informace o vytvoření kontejneru pomocí klientské knihovny Azure Blob Storage pro Javu najdete v následujících zdrojích informací.

Ukázky kódu

Operace rozhraní REST API

Sada Azure SDK pro Javu obsahuje knihovny, které jsou postavené na rozhraní Azure REST API a umožňují interakci s operacemi rozhraní REST API prostřednictvím známých paradigmat Javy. Metody klientské knihovny pro vytvoření kontejneru používají následující operaci rozhraní REST API:

Prostředky klientské knihovny

  • Tento článek je součástí příručky pro vývojáře služby Blob Storage pro Javu. Další informace najdete v úplném seznamu článků příručky pro vývojáře na webu Sestavení aplikace v Javě.