참고
처음부터 빌드 옵션은 프로젝트 생성, 패키지 설치, 코드 작성, 기본 콘솔 앱 실행을 안내해 줍니다. 이 옵션을 선택하여 Azure Blob Storage에 연결하는 앱을 만드는 방법을 이해하세요. 배포 작업을 자동화하고 완료된 프로젝트로 시작하려면 템플릿으로 시작하세요.
참고
템플릿으로 시작하는 옵션은 Azure Developer CLI를 사용해 배포 작업을 자동화하고 완성된 프로젝트를 제공합니다. 설정 작업을 완료하지 않고도 코드를 탐색할 수 있는 옵션을 선택하세요. 앱을 단계별로 만드는 지침을 원하시면 '처음부터 만들어'를 선택하세요.
Java용 Azure Blob Storage 클라이언트 라이브러리를 시작하여 Blob 및 컨테이너를 관리합니다.
이 문서에서는 패키지를 설치하고 기본 작업에 대한 예제 코드를 사용해 보는 단계를 수행합니다.
이 문서에서는 Azure Developer CLI를 사용하여 Azure 리소스를 배포하고 몇 가지 명령만으로 완성된 콘솔 앱을 실행합니다.
팁
Azure Storage 리소스를 사용하는 Spring 애플리케이션에는 Spring Cloud Azure를 고려해 보세요. 이 오픈소스 프로젝트는 Spring을 Azure 서비스와 통합합니다. Blob Storage 예시는 'Upload a file to an Azure Storage Blob'을 참조하세요.
API 참조 설명서 | 라이브러리 소스 코드 | 패키지(Maven) | 샘플
필수 조건
- 활성 구독이 있는 Azure 계정 - 체험 계정 만들기
- Azure Storage 계정 - 스토리지 계정을 만듭니다.
- JDK(Java Development Kit) 버전 1.8_101 이상
- 아파치 메이븐
- Azure 구독 - 체험 구독 만들기
- JDK(Java Development Kit) 버전 1.8_101 이상
- 아파치 메이븐
- Azure 개발자 명령줄 인터페이스 (CLI)
설정 중
이 섹션에서는 Java용 Azure Blob Storage 클라이언트 라이브러리를 사용하는 프로젝트를 준비합니다.
프로젝트 만들기
blob-quickstart라는 Java 애플리케이션을 만듭니다.
콘솔 창(예: PowerShell 또는 Bash)에서 Maven을 사용하여 blob-quickstart라는 새 콘솔 앱을 만듭니다. 다음 mvn 명령을 입력하여 "Hello world!" Java 프로젝트를 만듭니다.
mvn archetype:generate ` --define interactiveMode=n ` --define groupId=com.blobs.quickstart ` --define artifactId=blob-quickstart ` --define archetypeArtifactId=maven-archetype-quickstart ` --define archetypeVersion=1.4프로젝트 생성 결과물을 검토하세요.
[INFO] Scanning for projects... [INFO] [INFO] ------------------< org.apache.maven:standalone-pom >------------------- [INFO] Building Maven Stub Project (No POM) 1 [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] >>> maven-archetype-plugin:3.1.2:generate (default-cli) > generate-sources @ standalone-pom >>> [INFO] [INFO] <<< maven-archetype-plugin:3.1.2:generate (default-cli) < generate-sources @ standalone-pom <<< [INFO] [INFO] [INFO] --- maven-archetype-plugin:3.1.2:generate (default-cli) @ standalone-pom --- [INFO] Generating project in Batch mode [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:1.4 [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: com.blobs.quickstart [INFO] Parameter: artifactId, Value: blob-quickstart [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: com.blobs.quickstart [INFO] Parameter: packageInPathFormat, Value: com/blobs/quickstart [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: com.blobs.quickstart [INFO] Parameter: groupId, Value: com.blobs.quickstart [INFO] Parameter: artifactId, Value: blob-quickstart [INFO] Project created from Archetype in dir: C:\QuickStarts\blob-quickstart [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 7.056 s [INFO] Finished at: 2019-10-23T11:09:21-07:00 [INFO] ------------------------------------------------------------------------ ```새로 만들어진 blob-quickstart 폴더로 전환합니다.
cd blob-quickstartblob-quickstart 디렉터리 안에서 data라는 또 다른 디렉터리를 만듭니다. 이 폴더는 blob 데이터 파일이 생성되고 저장되는 곳입니다.
mkdir data
패키지 설치
텍스트 편집기에서 pom.xml 파일을 엽니다.
azure-sdk-bom을 추가하여 최신 버전의 라이브러리에 대한 종속성을 가져옵니다. 다음 코드 조각에서 {bom_version_to_target} 자리 표시자를 버전 번호로 바꿉니다.
azure-sdk-bom을 사용하면 각 의존성 개별 버전을 지정할 필요가 없습니다. BOM에 대해 자세히 알아보려면 Azure SDK BOM 추가 정보를 참조하세요.
<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>
그런 다음, 종속성 그룹에 다음 종속성 요소를 추가합니다. Azure 서비스에 비밀번호 없이 연결하려면 azure-identity 의존성이 필요합니다.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-blob</artifactId>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
앱 프레임워크 설정
프로젝트 디렉터리에서 다음 단계에 따라 앱의 기본 구조를 만듭니다.
-
/src/main/java/com/blobs/quickstart디렉터리로 이동합니다. - 편집기에서
App.java파일을 엽니다. -
System.out.println("Hello world!");줄을 삭제합니다. - 필요한
import지시문 추가
코드는 이 프레임워크와 유사해야 합니다.
package com.blobs.quickstart;
/**
* Azure Blob Storage quickstart
*/
import com.azure.identity.*;
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
import java.io.*;
public class App
{
public static void main(String[] args) throws IOException
{
// Quickstart code goes here
}
}
Azure 개발자 CLI를 사용하면 스토리지 계정을 만들고 몇 가지 명령어만으로 샘플 코드를 실행할 수 있습니다. 로컬 개발 환경이나 DevContainer에서 프로젝트를 실행할 수 있습니다.
Azure Developer CLI 템플릿 초기화 및 리소스 배포
빈 디렉터리에서 다음 단계에 따라 azd 템플릿을 초기화하고, Azure 리소스를 프로비전하고, 코드를 시작합니다.
GitHub에서 빠른 시작 리포지토리 자산을 복제하고 템플릿을 로컬로 초기화합니다.
azd init --template blob-storage-quickstart-java다음 정보를 입력하라는 메시지가 표시됩니다.
- 환경 이름: Azure Developer CLI는 이 값을 만드는 모든 Azure 리소스의 접두사로 사용합니다. 이름은 모든 Azure 구독에서 고유해야 하며 3자에서 24자 사이여야 합니다. 이름은 숫자와 소문자만 포함할 수 있습니다.
Azure에 로그인:
azd auth loginAzure에 리소스를 프로비전하고 배포합니다.
azd up다음 정보를 입력하라는 메시지가 표시됩니다.
- 구독: 자원 배포를 위한 Azure 구독입니다.
- 위치: 리소스 배포를 위한 Azure 지역입니다.
배포를 완료하는 데 몇 분 정도 걸릴 수 있습니다. 명령의
azd up출력에는 새로 만든 스토리지 계정의 이름이 포함되며, 나중에 코드를 실행해야 합니다.
샘플 코드 실행
이 시점에서 리소스는 Azure에 배포되고 코드를 실행할 준비가 거의 완료되었습니다. 다음 단계에 따라 코드에서 스토리지 계정의 이름을 업데이트하고 샘플 콘솔 앱을 실행합니다.
-
스토리지 계정 이름 업데이트:
- 로컬 디렉터리에서 blob-quickstart/src/main/java/com/blobs/quickstart 디렉터리로 이동합니다.
- 편집기에서 App.java라는 파일을 엽니다.
<storage-account-name>자리 표시자를 찾아azd up명령으로 만든 스토리지 계정의 실제 이름으로 바꿉니다. - 변경 내용을 저장합니다.
-
프로젝트 실행:
-
파일이 포함된
pom.xml디렉터리로 이동합니다. 다음mvn명령을 사용하여 프로젝트를 컴파일합니다.mvn compile - 컴파일된 코드를 배포 가능한 형식으로 패키지합니다.
mvn package - 다음
mvn명령을 실행하여 앱을 실행합니다.mvn exec:java
-
파일이 포함된
- 출력 관찰: 이 앱은 로컬 data 폴더에 테스트 파일을 만들고 스토리지 계정의 컨테이너에 업로드합니다. 그런 다음, 컨테이너에 Blob을 나열하고 이전 파일과 새 파일을 비교할 수 있도록 새 이름으로 해당 파일을 다운로드합니다.
샘플 코드의 작동 방식에 대한 자세한 내용은 코드 예제를 참조하세요.
코드 테스트를 마쳤으면 리소스 정리 섹션을 참조하여 azd up 명령으로 만든 리소스를 삭제합니다.
개체 모델
Azure Blob Storage는 대량의 비정형 데이터를 저장하는 데 최적화되어 있습니다. 비정형 데이터는 텍스트 또는 이진 데이터와 같은 특정 데이터 모델이나 정의를 따르지 않습니다. Blob Storage는 다음 세 가지 유형의 리소스를 제공합니다.
- 스토리지 계정
- 스토리지 계정의 컨테이너
- 컨테이너 안의 Blob
다음 다이어그램에서는 리소스 간의 관계를 보여줍니다.
다음 Java 클래스를 사용하여 이러한 리소스와 상호 작용합니다.
-
BlobServiceClient: 이
BlobServiceClient클래스는 Azure Storage 리소스와 blob 컨테이너를 관리합니다. 스토리지 계정은 Blob Service에 대한 최상위 네임스페이스를 제공합니다. -
BlobServiceClientBuilder: 이 클래스는
BlobServiceClientBuilder객체를 구성하고 생성할BlobServiceClient수 있는 유창한 API를 제공합니다. -
BlobContainerClient: 이 클래스는
BlobContainerClientAzure Storage 컨테이너와 그 blob을 관리합니다. -
BlobClient: 이
BlobClient클래스는 Azure Storage blob을 관리합니다. -
BlobItem:
BlobItem클래스는 listBlobs 호출에서 반환된 개별 Blob을 나타냅니다.
코드 예제
이러한 예제 코드 조각은 Java용 Azure Blob Storage 클라이언트 라이브러리를 사용하여 다음한 작업을 수행하는 방법을 보여줍니다.
중요
코드 샘플을 사용하기 전에 설정 에 설명된 의존성과 지시사항을 추가하세요.
참고
Azure Developer CLI 템플릿에는 샘플 코드가 이미 있는 파일이 포함되어 있습니다. 다음 예제에서는 샘플 코드의 각 부분에 대한 세부 정보를 제공합니다. 템플릿은 Azure 인증 섹션에 설명된 대로 권장되는 암호 없는 인증 방법을 구현합니다. 연결 문자열 메서드는 대안으로 표시되지만 템플릿에서 사용되지 않으며 프로덕션 코드에는 권장되지 않습니다.
Azure에 인증하고 Blob 데이터에 대한 액세스 권한 부여
Azure Blob Storage에 대한 애플리케이션 요청에 대한 권한을 부여해야 합니다. Azure.Identity 클라이언트 라이브러리에서 제공하는 DefaultAzureCredential 클래스를 사용하는 것은 Blob Storage를 포함하여 코드에서 Azure 서비스에 대한 암호 없는 연결을 구현하는 데 권장되는 방법입니다.
또한 계정 액세스 키를 사용하여 Azure Blob Storage 요청에 대한 권한을 부여할 수 있습니다. 그러나 이 방법은 신중하게 사용해야 합니다. 개발자는 액세스 키를 안전하지 않은 위치에 노출하지 않도록 끊임없이 노력해야 합니다. 액세스 키가 있는 사람은 누구나 스토리지 계정에 대한 요청에 권한을 부여할 수 있으며 모든 데이터에 효과적으로 액세스할 수 있습니다.
DefaultAzureCredential은 암호 없는 인증을 허용하기 위해 계정 키보다 향상된 관리 및 보안 이점을 제공합니다. 두 옵션 모두에 대해 다음 예에서 설명하고 있습니다.
DefaultAzureCredential은 Java용 Azure ID 클라이언트 라이브러리에서 제공하는 클래스입니다.
DefaultAzureCredential은 여러 인증 방법을 지원하고 런타임에 사용할 방법을 결정합니다. 이 방법을 사용하면 앱에서 환경별 코드를 구현하지 않고도 다양한 환경(로컬 및 프로덕션)에서 다양한 인증 방법을 사용할 수 있습니다.
DefaultAzureCredential
Azure ID 라이브러리 개요 자격 증명을 찾는 순서와 위치를 찾을 수 있습니다.
예를 들어, 귀하의 앱은 로컬에서 개발할 때 Visual Studio Code 로그인 자격 증명을 사용해 인증할 수 있습니다. 그 후 Azure로 배포한 후 관리형 신원을 사용할 수 있습니다. 이 전환에서는 코드를 변경할 필요가 없습니다.
Microsoft Entra 사용자 계정에 역할 할당
로컬로 개발하는 경우 Blob 데이터에 액세스하는 사용자 계정에 올바른 권한이 있는지 확인합니다. Blob 데이터를 읽고 쓰려면 Storage Blob Data Contributor가 필요합니다. 이 역할을 자신에게 할당하려면 사용자 액세스 관리자 역할 또는 Microsoft.Authorization/roleAssignments/write 작업을 포함하는 다른 역할이 필요합니다. Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 사용자에게 Azure RBAC 역할을 할당할 수 있습니다. Storage Blob 데이터 기여자 역할에 대한 자세한 내용은 Storage Blob 데이터 기여자를 참조하세요. 역할 할당에 사용할 수 있는 범위에 대한 자세한 내용은 Azure RBAC에 대한 이해 범위를 참조하세요.
이 시나리오에서는 최소 권한 원칙을 따르기 위해 범위가 스토리지 계정으로 지정된 사용자 계정에 권한을 할당합니다. 이 방법은 사용자에게 필요한 최소 권한만 부여하고 더 안전한 프로덕션 환경을 만듭니다.
다음 예제에서는 스토리지 계정의 Blob 데이터에 대한 읽기 및 쓰기 액세스를 모두 제공하는 Storage Blob 데이터 참가자 역할을 사용자 계정에 할당합니다.
중요
대부분의 경우 Azure에서 역할 할당이 전파되는 데 1~2분이 걸리지만 드문 경우이지만 최대 8분이 걸릴 수 있습니다. 코드를 처음 실행할 때 인증 오류가 발생하면 잠시 기다렸다가 다시 시도하세요.
Azure Portal에서 기본 검색 창 또는 왼쪽 탐색 영역을 사용하여 스토리지 계정을 찾습니다.
스토리지 계정 개요 페이지의 왼쪽 메뉴에서 액세스 제어(IAM)를 선택합니다.
액세스 제어(IAM) 페이지에서 역할 할당 탭을 선택합니다.
위쪽 메뉴에서 + 추가를 선택한 다음, 드롭다운 메뉴에서 역할 할당 추가를 선택합니다.
검색 상자를 사용하여 결과를 원하는 역할로 필터링합니다. 이 예에서는 Storage Blob 데이터 기여자를 검색하고, 일치하는 결과를 선택하고, 다음을 선택합니다.
다음에 대한 액세스 할당 아래에서 사용자, 그룹 또는 서비스 주체를 선택한 다음, + 멤버 선택을 선택합니다.
대화 상자에서 Microsoft Entra 사용자 이름(일반적으로 user@domain 이메일 주소)을 검색한 다음, 대화 상자 하단에서 선택을 선택합니다.
검토 + 할당을 선택하여 최종 페이지로 이동한 다음, 검토 + 할당을 다시 선택하여 프로세스를 완료합니다.
DefaultAzureCredential을 사용하여 로그인하고 앱 코드를 Azure 연결
다음 단계를 따라 저장 계정의 데이터 접근을 승인하세요:
스토리지 계정 역할을 할당한 동일한 Microsoft Entra 계정으로 인증하세요. Azure CLI, Visual Studio Code, 또는 Azure PowerShell を使用。
다음 명령을 사용하여 Azure CLI를 통해 Azure에 로그인합니다.
az login사용하려면
DefaultAzureCredentialazure-identity 의존성을 다음에pom.xml추가하세요:<dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> </dependency>이 코드를
main메서드에 추가합니다. 코드가 로컬 워크스테이션에서 실행될 때, Azure CLI나 Visual Studio Code와 같은 우선순위 도구의 개발자 자격 증명을 사용해 Azure에 인증합니다./* * The default credential first checks environment variables for configuration * If environment configuration is incomplete, it will try managed identity */ DefaultAzureCredential defaultCredential = 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(defaultCredential) .buildClient();BlobServiceClient의 URI에서 스토리지 계정 이름을 업데이트하세요. Azure 포털의 개요 페이지에서 스토리지 계정 이름을 찾으세요.
참고
Azure에 배포하는 경우 이 동일한 코드를 사용하여 Azure에서 실행되는 애플리케이션에서 Azure Storage 요청에 대한 권한을 부여할 수 있습니다. 그러나 Azure 앱에서 관리 ID를 사용하도록 설정해야 합니다. 그런 다음, 해당 관리 ID에서 연결할 수 있도록 스토리지 계정을 구성합니다. 이 연결을 Azure 서비스 간에 구성하는 방법에 대한 자세한 지침은 Azure 호스팅 앱에서 인증 자습서를 참조하세요.
컨테이너 만들기
개체에서 blobServiceClient 메서드를 호출하여 스토리지 계정에 새 컨테이너를 만듭니다. 이 예제에서 코드는 컨테이너 이름이 고유하도록 GUID 값을 추가합니다.
이 코드를 main 메서드의 끝에 추가합니다.
// Create a unique name for the container
String containerName = "quickstartblobs" + java.util.UUID.randomUUID();
// Create the container and return a container client object
BlobContainerClient blobContainerClient = blobServiceClient.createBlobContainer(containerName);
자세한 정보와 예시는 Java로 블롭 컨테이너 만들기를 참조하세요.
중요
컨테이너 이름은 소문자여야 합니다. 컨테이너 및 Blob 이름 지정에 대한 자세한 내용은 컨테이너, Blob, 메타데이터 이름 지정 및 참조를 참조하세요.
컨테이너에 Blob 업로드
uploadFromFile 메서드를 호출하여 컨테이너에 Blob을 업로드합니다. 예제 코드는 로컬 data 디렉터리에 컨테이너에 업로드할 텍스트 파일을 만듭니다.
이 코드를 main 메서드의 끝에 추가합니다.
// Create the ./data/ directory and a file for uploading and downloading
String localPath = "./data/";
new File(localPath).mkdirs();
String fileName = "quickstart" + java.util.UUID.randomUUID() + ".txt";
// Get a reference to a blob
BlobClient blobClient = blobContainerClient.getBlobClient(fileName);
// Write text to the file
FileWriter writer = null;
try
{
writer = new FileWriter(localPath + fileName, true);
writer.write("Hello, World!");
writer.close();
}
catch (IOException ex)
{
System.out.println(ex.getMessage());
}
System.out.println("\nUploading to Blob storage as blob:\n\t" + blobClient.getBlobUrl());
// Upload the blob
blobClient.uploadFromFile(localPath + fileName);
자세한 정보와 예시는 Upload a blob with Java를 참조하세요.
컨테이너의 Blob 나열
listBlobs 메서드를 호출하여 컨테이너의 blob을 나열합니다. 이 경우에는 컨테이너에 블롭 하나만 추가했기 때문에 listing 연산은 그 블롭만 반환합니다.
이 코드를 main 메서드의 끝에 추가합니다.
System.out.println("\nListing blobs...");
// List the blob(s) in the container.
for (BlobItem blobItem : blobContainerClient.listBlobs()) {
System.out.println("\t" + blobItem.getName());
}
자세한 정보와 예시는 Java를 사용하는 List 블롭을 참조하세요.
Blob 다운로드
downloadToFile 메서드를 호출하여 이전에 만든 blob을 다운로드합니다. 예제 코드는 파일 이름에 접미사 ''를 DOWNLOAD 추가하여 로컬 파일 시스템에서 두 파일을 모두 볼 수 있게 합니다.
이 코드를 main 메서드의 끝에 추가합니다.
// Download the blob to a local file
// Append the string "DOWNLOAD" before the .txt extension for comparison purposes
String downloadFileName = fileName.replace(".txt", "DOWNLOAD.txt");
System.out.println("\nDownloading blob to\n\t " + localPath + downloadFileName);
blobClient.downloadToFile(localPath + downloadFileName);
자세한 정보와 예시는 Java로 블롭 다운로드를 참조하세요.
컨테이너 삭제
다음 코드는 삭제 메서드를 사용하여 전체 컨테이너를 제거하여 앱이 생성한 자원을 정리합니다. 또한 앱에서 만든 로컬 파일도 삭제합니다.
앱은 blob, 컨테이너 및 로컬 파일을 삭제하기 전에 System.console().readLine()을 호출하여 사용자 입력을 일시 중지합니다. 이 잠시 멈춤은 앱이 리소스를 올바르게 생성했는지 확인한 후 삭제할 기회를 제공합니다.
이 코드를 main 메서드의 끝에 추가합니다.
File downloadedFile = new File(localPath + downloadFileName);
File localFile = new File(localPath + fileName);
// Clean up resources
System.out.println("\nPress the Enter key to begin clean up");
System.console().readLine();
System.out.println("Deleting blob container...");
blobContainerClient.delete();
System.out.println("Deleting the local source and downloaded files...");
localFile.delete();
downloadedFile.delete();
System.out.println("Done");
자세한 정보와 예시는 Java로 블롭 컨테이너를 삭제하고 복원하기를 참조하세요.
코드 실행
이 앱은 로컬 폴더에 테스트 파일을 만들고 Blob 스토리지에 업로드합니다. 그런 다음, 컨테이너에 Blob을 나열하고 이전 파일과 새 파일을 비교할 수 있도록 새 이름으로 해당 파일을 다운로드합니다.
코드를 컴파일, 패키징, 실행하는 단계는 다음과 같습니다:
-
pom.xml파일이 포함된 디렉터리로 이동한 후 다음mvn명령을 사용하여 프로젝트를 컴파일합니다.mvn compile - 컴파일된 코드를 배포 가능한 형식으로 패키지합니다.
mvn package - 다음
mvn명령을 실행하여 앱을 실행합니다.
실행 단계를 단순화하기 위해 다음 코드에 표시된 대로 추가mvn exec:java -D exec.mainClass=com.blobs.quickstart.App -D exec.cleanupDaemonThreads=falseexec-maven-pluginpom.xml하고 구성하세요:
이 구성을 통해 다음 명령어로 앱을 실행하세요:<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.4.0</version> <configuration> <mainClass>com.blobs.quickstart.App</mainClass> <cleanupDaemonThreads>false</cleanupDaemonThreads> </configuration> </plugin>mvn exec:java
앱의 출력은 다음 예제와 유사합니다(가독성을 위해 UUID 값이 생략됨).
Azure Blob Storage - Java quickstart sample
Uploading to Blob storage as blob:
https://mystorageacct.blob.core.windows.net/quickstartblobsUUID/quickstartUUID.txt
Listing blobs...
quickstartUUID.txt
Downloading blob to
./data/quickstartUUIDDOWNLOAD.txt
Press the Enter key to begin clean up
Deleting blob container...
Deleting the local source and downloaded files...
Done
정리 프로세스를 시작하기 전에 data 폴더에서 두 파일을 확인합니다. 이를 비교하여 동일한지 확인할 수 있습니다.
리소스 정리
파일을 확인하고 테스트를 완료한 후 Enter 키를 눌러 스토리지 계정에서 만든 컨테이너와 함께 테스트 파일을 삭제합니다. Azure CLI를 사용하여 리소스를 삭제할 수도 있습니다.
빠른 시작을 완료하면 다음 명령을 실행하여 만든 리소스를 정리합니다.
azd down
리소스 삭제 확인 프롬프트가 표시됩니다.
y 키를 눌러 확인합니다.