Share via


Kom igång med Azure Blob Storage och Java

Den här artikeln visar hur du ansluter till Azure Blob Storage med hjälp av Azure Blob Storage-klientbiblioteket för Java. När koden är ansluten kan den fungera på containrar, blobar och funktioner i Blob Storage-tjänsten.

API-referenspaket (Maven) | Exempel på källkod | | för bibliotek Ge feedback |

Förutsättningar

Konfigurera projektet

Kommentar

Den här artikeln använder verktyget Maven-kompilering för att skapa och köra exempelkoden. Andra byggverktyg, till exempel Gradle, fungerar också med Azure SDK för Java.

Använd Maven för att skapa en ny konsolapp eller öppna ett befintligt projekt. Följ de här stegen för att installera paket och lägga till nödvändiga import direktiv.

Installera paket

pom.xml Öppna filen i textredigeraren. Installera paketen genom att inkludera BOM-filen eller inkludera ett direkt beroende.

Inkludera BOM-filen

Lägg till azure-sdk-bom för att ta ett beroende av den senaste versionen av biblioteket. I följande kodfragment ersätter du {bom_version_to_target} platshållaren med versionsnumret. Med hjälp av azure-sdk-bom behöver du inte ange versionen av varje enskilt beroende. Mer information om bommen finns i AZURE SDK BOM README.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-sdk-bom</artifactId>
            <version>{bom_version_to_target}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Lägg till följande beroendeelement i gruppen med beroenden. Azure-identitetsberoendet behövs för lösenordslösa anslutningar till Azure-tjänster.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
</dependency>
<dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-common</artifactId>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
</dependency>

Inkludera ett direkt beroende

Om du vill vara beroende av en viss version av biblioteket lägger du till det direkta beroendet i projektet:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
    <version>{package_version_to_target}</version>
</dependency>
<dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-common</artifactId>
      <version>{package_version_to_target}</version>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>{package_version_to_target}</version>
</dependency>

Inkludera importdirektiv

Öppna sedan kodfilen och lägg till de direktiv som krävs import . I det här exemplet lägger vi till följande direktiv i filen App.java :

import com.azure.core.credential.*;
import com.azure.identity.*;
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
import com.azure.storage.blob.specialized.*;
import com.azure.storage.common.*;

Information om Blob-klientbiblioteket:

Auktorisera åtkomst och ansluta till Blob Storage

Om du vill ansluta ett program till Blob Storage skapar du en instans av klassen BlobServiceClient . Du kan också använda klassen BlobServiceAsyncClient för asynkron programmering. Det här objektet är startpunkten för att interagera med dataresurser på lagringskontonivå. Du kan använda den för att arbeta med lagringskontot och dess containrar. Du kan också använda tjänstklienten för att skapa containerklienter eller blobklienter, beroende på vilken resurs du behöver arbeta med.

Mer information om hur du skapar och hanterar klientobjekt finns i Skapa och hantera klientobjekt som interagerar med dataresurser.

Du kan auktorisera ett BlobServiceClient objekt med hjälp av en Microsoft Entra-auktoriseringstoken, en kontoåtkomstnyckel eller en signatur för delad åtkomst (SAS).

Om du vill auktorisera med Microsoft Entra-ID måste du använda ett säkerhetsobjekt. Vilken typ av säkerhetsobjekt du behöver beror på var programmet körs. Använd följande tabell som en guide:

Där programmet körs Säkerhetsobjekt Vägledning
Lokal dator (utveckla och testa) Tjänstens huvudnamn Information om hur du registrerar appen, konfigurerar en Microsoft Entra-grupp, tilldelar roller och konfigurerar miljövariabler finns i Auktorisera åtkomst med utvecklartjänstens huvudnamn.
Lokal dator (utveckla och testa) Användaridentitet Information om hur du konfigurerar en Microsoft Entra-grupp, tilldelar roller och loggar in på Azure finns i Auktorisera åtkomst med autentiseringsuppgifter för utvecklare.
Värdhanterad i Azure Hanterad identitet Information om hur du aktiverar hanterad identitet och tilldelar roller finns i Auktorisera åtkomst från Azure-värdbaserade appar med hjälp av en hanterad identitet.
Värdhanterad utanför Azure (till exempel lokala appar) Tjänstens huvudnamn Information om hur du registrerar appen, tilldelar roller och konfigurerar miljövariabler finns i Auktorisera åtkomst från lokala appar med hjälp av ett huvudnamn för programtjänsten

Auktorisera åtkomst med defaultAzureCredential

Ett enkelt och säkert sätt att auktorisera åtkomst och ansluta till Blob Storage är att hämta en OAuth-token genom att skapa en DefaultAzureCredential-instans . Du kan sedan använda autentiseringsuppgifterna för att skapa ett BlobServiceClient-objekt .

Kontrollera att du har rätt beroenden i pom.xml och nödvändiga importdirektiv enligt beskrivningen i Konfigurera projektet.

I följande exempel används BlobServiceClientBuilder för att skapa ett BlobServiceClient objekt med :DefaultAzureCredential

public static BlobServiceClient GetBlobServiceClientTokenCredential() {
    TokenCredential credential = new DefaultAzureCredentialBuilder().build();

    // 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(credential)
            .buildClient();

    return blobServiceClient;
}

Skapa ditt program

När du skapar program för att arbeta med dataresurser i Azure Blob Storage interagerar koden främst med tre resurstyper: lagringskonton, containrar och blobar. Mer information om dessa resurstyper, hur de relaterar till varandra och hur appar interagerar med resurser finns i Förstå hur appar interagerar med Blob Storage-dataresurser.

Följande guider visar hur du arbetar med dataresurser och utför specifika åtgärder med hjälp av Azure Storage-klientbiblioteket för Java:

Guide beskrivning
Skapa en container Skapa containrar.
Ta bort och återställa containrar Ta bort containrar och återställ borttagna containrar om mjuk borttagning är aktiverat.
Lista containrar Visa en lista över containrar i ett konto och de olika alternativ som är tillgängliga för att anpassa en lista.
Hantera egenskaper och metadata (containrar) Hämta och ange egenskaper och metadata för containrar.
Skapa och hantera containerlån Upprätta och hantera ett lås på en container.
Skapa och hantera bloblån Upprätta och hantera ett lås på en blob.
Ladda upp blobar Lär dig hur du laddar upp blobar med hjälp av strängar, strömmar, filsökvägar och andra metoder.
Ladda ned blobar Ladda ned blobar med hjälp av strängar, strömmar och filsökvägar.
Kopiera blobar Kopiera en blob från en plats till en annan.
Lista blobar Lista blobar på olika sätt.
Ta bort och återställa Ta bort blobar och återställ borttagna blobar om mjuk borttagning är aktiverat.
Hitta blobar med taggar Ange och hämta taggar samt använd taggar för att hitta blobar.
Hantera egenskaper och metadata (blobar) Hämta och ange egenskaper och metadata för blobar.
Ange eller ändra åtkomstnivån för en blob Ange eller ändra åtkomstnivån för en blockblob.