Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Obiekty blob w usłudze Azure Storage są zorganizowane w kontenery. Przed przekazaniem obiektu blob należy najpierw utworzyć kontener. W tym artykule przedstawiono sposób tworzenia kontenerów za pomocą biblioteki klienta usługi Azure Storage dla języka Java.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz jedną bezpłatnie
- Konto magazynu Azure — utwórz konto magazynu
- Zestaw Java Development Kit (JDK) w wersji 8 lub nowszej (zalecamy wersję 17, aby uzyskać najlepsze środowisko)
- Narzędzie Apache Maven jest używane do zarządzania projektami w tym przykładzie
Konfigurowanie środowiska
Jeśli nie masz istniejącego projektu, w tej sekcji pokazano, jak skonfigurować projekt do pracy z biblioteką klienta usługi Azure Blob Storage dla języka Java. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługami Azure Blob Storage i Java.
Aby pracować z przykładami kodu w tym artykule, wykonaj następujące kroki, aby skonfigurować projekt.
Uwaga
W tym artykule użyto narzędzia kompilacji maven do skompilowania i uruchomienia przykładowego kodu. Inne narzędzia kompilacji, takie jak Gradle, współpracują również z zestawem Azure SDK dla języka Java.
Instalowanie pakietów
pom.xml Otwórz plik w edytorze tekstów. Zainstaluj pakiety, dołączając plik BOM lub uwzględniając bezpośrednią zależność.
Dodaj instrukcje importu
Dodaj następujące oświadczenia import
import com.azure.storage.blob.*;
Autoryzacja
Mechanizm autoryzacji musi mieć niezbędne uprawnienia do utworzenia kontenera. Aby uzyskać autoryzację przy użyciu Microsoft Entra ID (zalecane), potrzebujesz roli wbudowanej Azure RBAC Storage Blob Data Contributor lub wyższej. Aby dowiedzieć się więcej, zobacz wskazówki dotyczące autoryzacji dla tworzenia kontenera (interfejs API REST).
Tworzenie obiektu klienta
Aby połączyć aplikację z usługą Blob Storage, utwórz wystąpienie BlobServiceClient.
W poniższym przykładzie użyto BlobServiceClientBuilder do utworzenia obiektu BlobServiceClient przy użyciu DefaultAzureCredential, i pokazano, jak utworzyć klientów kontenerów oraz obiektów blob, w razie potrzeby.
// 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>");
Aby dowiedzieć się więcej na temat tworzenia obiektów klienta i zarządzania nimi, zobacz Tworzenie obiektów klienta korzystających z zasobów danych i zarządzanie nimi.
Informacje o nazewnictwie kontenerów
Nazwa kontenera musi być prawidłową nazwą DNS, ponieważ stanowi część unikatowego identyfikatora URI używanego do adresowania kontenera lub jego obiektów blob. Postępuj zgodnie z tymi regułami podczas nazewnictwa kontenera:
- Nazwy kontenerów mogą mieć długość od 3 do 63 znaków.
- Nazwy kontenerów muszą zaczynać się literą lub cyfrą i mogą zawierać tylko małe litery, cyfry i znak kreski (-).
- Kolejne znaki kreski nie są dozwolone w nazwach kontenerów.
Identyfikator URI zasobu kontenera jest sformatowany w następujący sposób:
https://my-account-name.blob.core.windows.net/my-container-name
Tworzenie kontenera
Aby utworzyć kontener, wywołaj jedną z następujących metod z BlobServiceClient klasy :
Kontener można również utworzyć przy użyciu jednej z następujących metod z BlobContainerClient klasy :
Kontenery są tworzone bezpośrednio pod kontem magazynowym. Nie można zagnieżdżać jednego kontenera pod drugim. Dla metod create i createBlobContainer zgłaszany jest wyjątek, jeśli kontener o tej samej nazwie już istnieje.
Poniższy przykład tworzy kontener na podstawie BlobServiceClient obiektu:
public BlobContainerClient createContainer(BlobServiceClient blobServiceClient, String containerName) {
// Create the container using the service client object
BlobContainerClient blobContainerClient = blobServiceClient.createBlobContainer(containerName);
return blobContainerClient;
}
Tworzenie kontenera głównego
Kontener główny służy jako domyślny kontener dla konta przechowywania. Każde konto magazynu może mieć jeden kontener główny, który musi mieć nazwę $root. Kontener główny musi zostać jawnie utworzony lub usunięty.
Można odwoływać się do obiektu blob przechowywanego w kontenerze głównym bez uwzględniania nazwy głównego kontenera. Kontener główny umożliwia odwołanie do obiektu blob na najwyższym poziomie hierarchii konta przechowywania. Można na przykład odwołać się do obiektu blob, który znajduje się w kontenerze głównym w następujący sposób:
https://accountname.blob.core.windows.net/default.html
Poniższy przykład tworzy nowy obiekt BlobContainerClient z nazwą kontenera $root, a następnie tworzy kontener, jeśli jeszcze nie istnieje na koncie przechowywania.
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();
}
Zasoby
Aby dowiedzieć się więcej na temat tworzenia kontenera przy użyciu biblioteki klienta usługi Azure Blob Storage dla języka Java, zobacz następujące zasoby.
Przykłady kodu
Operacje interfejsu API REST
Zestaw Azure SDK dla języka Java zawiera biblioteki, które bazują na interfejsie API REST platformy Azure, co umożliwia interakcję z operacjami interfejsu API REST za pomocą znanych paradygmatów języka Java. Metody biblioteki klienta do tworzenia kontenera używają następującej operacji interfejsu API REST:
- Tworzenie kontenera (interfejs API REST)
Zasoby biblioteki klienta
Powiązana zawartość
- Ten artykuł jest częścią przewodnika dla deweloperów usługi Blob Storage dla języka Java. Aby dowiedzieć się więcej, zobacz pełną listę artykułów z przewodnika dla deweloperów w temacie Tworzenie aplikacji Java.