Een blobcontainer maken met Java
Blobs in Azure Storage worden georganiseerd in containers. Voordat u een blob kunt uploaden, moet u eerst een container maken. In dit artikel wordt beschreven hoe u containers maakt met de Azure Storage-clientbibliotheek voor Java.
Vereisten
- Azure-abonnement: u kunt een gratis abonnement nemen
- Azure Storage-account: maak een opslagaccount
- Java Development Kit (JDK) versie 8 of hoger (we raden versie 17 aan voor de beste ervaring)
- Apache Maven wordt in dit voorbeeld gebruikt voor projectbeheer
Uw omgeving instellen
Als u geen bestaand project hebt, ziet u in deze sectie hoe u een project instelt voor gebruik met de Azure Blob Storage-clientbibliotheek voor Java. Zie Aan de slag met Azure Blob Storage en Java voor meer informatie.
Als u wilt werken met de codevoorbeelden in dit artikel, volgt u deze stappen om uw project in te stellen.
Notitie
In dit artikel wordt het Maven-buildhulpprogramma gebruikt om de voorbeeldcode te bouwen en uit te voeren. Andere buildhulpprogramma's, zoals Gradle, werken ook met de Azure SDK voor Java.
Pakketten installeren
Open het pom.xml
bestand in de teksteditor. Installeer de pakketten door het BOM-bestand op te slaan of door een directe afhankelijkheid op te slaan.
Importinstructies toevoegen
Voeg de volgende import
instructies toe:
import com.azure.storage.blob.*;
Autorisatie
Het autorisatiemechanisme moet over de benodigde machtigingen beschikken om een container te maken. Voor autorisatie met Microsoft Entra ID (aanbevolen) hebt u ingebouwde Azure RBAC-rol Opslagblobgegevensbijdrager of hoger nodig. Zie de autorisatierichtlijnen voor Create Container (REST API) voor meer informatie.
Een clientobject maken
Als u een app wilt verbinden met Blob Storage, maakt u een exemplaar van BlobServiceClient.
In het volgende voorbeeld wordt BlobServiceClientBuilder gebruikt om een BlobServiceClient
object te bouwen met behulp vanDefaultAzureCredential
, en ziet u hoe u indien nodig container- en blobclients maakt:
// 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>");
Zie Clientobjecten maken en beheren die interactie hebben met gegevensbronnen voor meer informatie over het maken en beheren van clientobjecten.
Over naamgeving van containers
Een containernaam moet een geldige DNS-naam zijn, omdat deze deel uitmaakt van de unieke URI die wordt gebruikt om de container of de bijbehorende blobs te adresseren. Volg deze regels bij het benoemen van een container:
- Containernamen kunnen tussen 3 en 63 tekens lang zijn.
- Containernamen moeten beginnen met een letter of cijfer en mogen alleen kleine letters, cijfers en het streepje (-) bevatten.
- Opeenvolgende streepjes zijn niet toegestaan in containernamen.
De URI voor een containerresource is als volgt ingedeeld:
https://my-account-name.blob.core.windows.net/my-container-name
Een container maken
Als u een container wilt maken, roept u een van de volgende methoden van de BlobServiceClient
klasse aan:
U kunt ook een container maken met behulp van een van de volgende methoden uit de BlobContainerClient
klasse:
Containers worden direct onder het opslagaccount gemaakt. Het is niet mogelijk om één container onder een andere container te nesten. Voor de create
en createBlobContainer
methoden wordt een uitzondering gegenereerd als er al een container met dezelfde naam bestaat.
In het volgende voorbeeld wordt een container gemaakt op basis van een BlobServiceClient
object:
public BlobContainerClient createContainer(BlobServiceClient blobServiceClient, String containerName) {
// Create the container using the service client object
BlobContainerClient blobContainerClient = blobServiceClient.createBlobContainer(containerName);
return blobContainerClient;
}
De hoofdcontainer maken
Een hoofdcontainer fungeert als een standaardcontainer voor uw opslagaccount. Elk opslagaccount kan één hoofdcontainer hebben, die de naam moet hebben $root. De hoofdcontainer moet expliciet worden gemaakt of verwijderd.
U kunt verwijzen naar een blob die is opgeslagen in de hoofdcontainer zonder de naam van de hoofdcontainer op te slaan. Met de hoofdcontainer kunt u verwijzen naar een blob op het hoogste niveau van de opslagaccounthiërarchie. U kunt bijvoorbeeld verwijzen naar een blob die zich op de volgende manier in de hoofdcontainer bevindt:
https://accountname.blob.core.windows.net/default.html
In het volgende voorbeeld wordt een nieuw BlobContainerClient
object gemaakt met de containernaam $root en wordt vervolgens de container gemaakt als deze nog niet bestaat in het opslagaccount:
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();
}
Resources
Zie de volgende resources voor meer informatie over het maken van een container met behulp van de Azure Blob Storage-clientbibliotheek voor Java.
Codevoorbeelden
REST API-bewerkingen
De Azure SDK voor Java bevat bibliotheken die zijn gebaseerd op de Azure REST API, zodat u kunt communiceren met REST API-bewerkingen via bekende Java-paradigma's. De clientbibliotheekmethoden voor het maken van een container gebruiken de volgende REST API-bewerking:
Clientbibliotheekbronnen
Gerelateerde inhoud
- Dit artikel maakt deel uit van de ontwikkelaarshandleiding voor Blob Storage voor Java. Zie de volledige lijst met artikelen over ontwikkelaarshandleidingen in Uw Java-app bouwen voor meer informatie.