빠른 시작: Azure CLI를 사용하여 Blob 생성, 다운로드 및 나열Quickstart: Create, download, and list blobs with Azure CLI

Azure CLI는 Azure 리소스를 관리하는 Azure의 명령줄 환경입니다.The Azure CLI is Azure's command-line experience for managing Azure resources. 브라우저에서 Azure Cloud Shell과 함께 사용할 수 있습니다.You can use it in your browser with Azure Cloud Shell. macOS, Linux 또는 Windows에 설치하여 명령줄에서 실행할 수도 있습니다.You can also install it on macOS, Linux, or Windows and run it from the command line. 빠른 시작에서는 Azure CLI를 사용하여 Azure Blob Storage에서 데이터를 업로드 및 다운로드하는 방법을 알아봅니다.In this quickstart, you learn to use the Azure CLI to upload and download data to and from Azure Blob storage.

참고

이 문서에 설명된 기능은 계층 구조 네임스페이스가 있는 계정에서도 사용할 수 있습니다.The features described in this article are also available to accounts that have a hierarchical namespace. 제한 사항을 검토하려면 Azure Data Lake Storage Gen2에서 사용할 수 있는 Blob Storage 기능 문서를 참조하세요.To review limitations, see the Blob storage features available in Azure Data Lake Storage Gen2 article.

필수 구성 요소Prerequisites

Azure Storage에 액세스하려면 Azure 구독이 있어야 합니다.To access Azure Storage, you'll need an Azure subscription. 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.If you don't already have a subscription, create a free account before you begin.

Azure Storage에 대한 모든 액세스는 스토리지 계정을 통해 수행됩니다.All access to Azure Storage takes place through a storage account. 이 빠른 시작에서는 Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 스토리지 계정을 만듭니다.For this quickstart, create a storage account using the Azure portal, Azure PowerShell, or Azure CLI. 스토리지 계정을 만드는 데 도움이 필요한 경우 스토리지 계정 만들기를 참조하세요.For help creating a storage account, see Create a storage account.

Azure CLI에 대한 환경 준비Prepare your environment for the Azure CLI

  • Azure Cloud Shell에서 Bash 환경을 사용합니다.Use the Bash environment in Azure Cloud Shell.

    새 창에서 Cloud Shell 시작Launch Cloud Shell in a new window

  • 원하는 경우 Azure CLI를 설치하여 CLI 참조 명령을 실행합니다.If you prefer, install the Azure CLI to run CLI reference commands.

    • 로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다.If you're using a local installation, sign in to the Azure CLI by using the az login command. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다.To finish the authentication process, follow the steps displayed in your terminal. 추가 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.For additional sign-in options, see Sign in with the Azure CLI.

    • 메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다.When you're prompted, install Azure CLI extensions on first use. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.For more information about extensions, see Use extensions with the Azure CLI.

    • az version을 실행하여 설치된 버전과 종속 라이브러리를 찾습니다.Run az version to find the version and dependent libraries that are installed. 최신 버전으로 업그레이드하려면 az upgrade를 실행합니다.To upgrade to the latest version, run az upgrade.

  • 이 문서에는 Azure CLI 버전 2.0.46 이상이 필요합니다.This article requires version 2.0.46 or later of the Azure CLI. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.If using Azure Cloud Shell, the latest version is already installed.

Blob 스토리지에 대한 액세스 권한 부여Authorize access to Blob storage

Azure AD 자격 증명을 사용하거나 스토리지 계정 액세스 키를 사용하여 Azure CLI에서 Blob 스토리지에 대한 액세스 권한을 부여할 수 있습니다.You can authorize access to Blob storage from the Azure CLI either with Azure AD credentials or by using the storage account access key. Azure AD 자격 증명을 사용하는 것이 좋습니다.Using Azure AD credentials is recommended. 이 문서에서는 Azure AD를 사용하여 Blob 스토리지 작업에 권한을 부여하는 방법을 보여 줍니다.This article shows how to authorize Blob storage operations using Azure AD.

Blob 스토리지에 대한 데이터 작업에 사용하는 Azure CLI 명령은 지정된 작업에 권한을 부여하는 방법을 지정할 수 있는 --auth-mode 매개 변수를 지원합니다.Azure CLI commands for data operations against Blob storage support the --auth-mode parameter, which enables you to specify how to authorize a given operation. Azure AD 자격 증명을 사용하여 권한을 부여하려면 --auth-mode 매개 변수를 login으로 설정합니다.Set the --auth-mode parameter to login to authorize with Azure AD credentials. 자세한 내용은 Azure CLI를 사용하여 Blob 또는 큐 데이터에 대한 액세스 권한 부여를 참조하세요.For more information, see Authorize access to blob or queue data with Azure CLI.

Blob 스토리지 데이터 작업만 --auth-mode 매개 변수를 지원합니다.Only Blob storage data operations support the --auth-mode parameter. 리소스 그룹 또는 스토리지 계정 만들기와 같은 관리 작업은 Azure AD 자격 증명을 권한 부여에 자동으로 사용합니다.Management operations, such as creating a resource group or storage account, automatically use Azure AD credentials for authorization.

리소스 그룹 만들기Create a resource group

az group create 명령을 사용하여 Azure 리소스 그룹을 만듭니다.Create an Azure resource group with the az group create command. 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다.A resource group is a logical container into which Azure resources are deployed and managed.

꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

az group create \
    --name <resource-group> \
    --location <location>

스토리지 계정 만들기Create a storage account

az storage account create 명령을 사용하여 범용 스토리지 계정을 만듭니다.Create a general-purpose storage account with the az storage account create command. 범용 스토리지 계정은 4개의 모든 서비스(Blob, 파일, 테이블 및 큐)에 사용할 수 있습니다.The general-purpose storage account can be used for all four services: blobs, files, tables, and queues.

꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

az storage account create \
    --name <storage-account> \
    --resource-group <resource-group> \
    --location <location> \
    --sku Standard_ZRS \
    --encryption-services blob

컨테이너 만들기Create a container

Blob은 항상 컨테이너에 업로드됩니다.Blobs are always uploaded into a container. 컴퓨터의 폴더에서 파일을 구성하는 것과 비슷한 방식으로 컨테이너에서 Blob 그룹을 구성할 수 있습니다.You can organize groups of blobs in containers similar to the way you organize your files on your computer in folders. Blob 저장을 위한 컨테이너는 az storage container create 명령을 사용하여 만듭니다.Create a container for storing blobs with the az storage container create command.

다음 예제에서는 Azure AD 계정을 사용하여 컨테이너를 만드는 작업에 권한을 부여합니다.The following example uses your Azure AD account to authorize the operation to create the container. 컨테이너를 만들기 전에 Storage Blob 데이터 참가자 역할을 자신에게 할당합니다.Before you create the container, assign the Storage Blob Data Contributor role to yourself. 계정 소유자인 경우에도 스토리지 계정에 대한 데이터 작업을 수행하려면 명시적 권한이 필요합니다.Even if you are the account owner, you need explicit permissions to perform data operations against the storage account. Azure 역할을 할당하는 방법에 대한 자세한 내용은 Azure CLI 사용하여 액세스에 대한 Azure 역할 할당을 참조하세요.For more information about assigning Azure roles, see Use Azure CLI to assign an Azure role for access.

꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

az ad signed-in-user show --query objectId -o tsv | az role assignment create \
    --role "Storage Blob Data Contributor" \
    --assignee @- \
    --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>"

az storage container create \
    --account-name <storage-account> \
    --name <container> \
    --auth-mode login

중요

Azure 역할 할당을 전파하는 데 몇 분 정도 걸릴 수 있습니다.Azure role assignments may take a few minutes to propagate.

스토리지 계정 키를 사용하여 컨테이너를 만들도록 작업에 권한을 부여할 수도 있습니다.You can also use the storage account key to authorize the operation to create the container. Azure CLI 사용하여 데이터 작업에 권한을 부여하는 방법에 대한 자세한 내용은 Azure CLI를 사용하여 blob 또는 큐 데이터에 대한 액세스 권한 부여를 참조하세요.For more information about authorizing data operations with Azure CLI, see Authorize access to blob or queue data with Azure CLI.

Blob 업로드Upload a blob

Blob Storage는 블록 Blob, 추가 Blob 및 페이지 Blob을 지원합니다.Blob storage supports block blobs, append blobs, and page blobs. 이 빠른 시작의 예제에서는 블록 Blob을 사용하는 방법을 보여 줍니다.The examples in this quickstart show how to work with block blobs.

먼저 Blob에 업로드할 파일을 만듭니다.First, create a file to upload to a block blob. Azure Cloud Shell을 사용하는 경우 다음 명령을 사용하여 파일을 만듭니다.If you're using Azure Cloud Shell, use the following command to create a file:

vi helloworld

파일이 열리면 삽입 을 누릅니다.When the file opens, press insert. Hello World 를 입력한 다음, Esc 키를 누릅니다. 그런 다음, :x 를 입력하고 Enter 키를 누릅니다.Type Hello world, then press Esc. Next, type :x, then press Enter.

이 예제에서는 az storage blob upload 명령을 사용하여 마지막 단계에서 만든 컨테이너에 Blob을 업로드합니다.In this example, you upload a blob to the container you created in the last step using the az storage blob upload command. 파일을 루트 디렉터리에 만들었으므로 파일 경로를 지정할 필요가 없습니다.It's not necessary to specify a file path since the file was created at the root directory. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

az storage blob upload \
    --account-name <storage-account> \
    --container-name <container> \
    --name helloworld \
    --file helloworld \
    --auth-mode login

이 작업은 Blob이 없는 경우 만들고, Blob이 있는 경우 덮어씁니다.This operation creates the blob if it doesn't already exist, and overwrites it if it does. 원하는 만큼 파일을 업로드한 후 계속합니다.Upload as many files as you like before continuing.

동시에 여러 파일을 업로드하려면 az storage blob upload-batch 명령을 사용할 수 있습니다.To upload multiple files at the same time, you can use the az storage blob upload-batch command.

컨테이너의 Blob 나열List the blobs in a container

az storage blob list 명령으로 컨테이너에 있는 Blob을 나열합니다.List the blobs in the container with the az storage blob list command. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

az storage blob list \
    --account-name <storage-account> \
    --container-name <container> \
    --output table \
    --auth-mode login

Blob 다운로드Download a blob

az storage blob download 명령을 사용하여 이전에 업로드한 Blob을 다운로드합니다.Use the az storage blob download command to download the blob you uploaded earlier. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

az storage blob download \
    --account-name <storage-account> \
    --container-name <container> \
    --name helloworld \
    --file ~/destination/path/for/file \
    --auth-mode login

AzCopy를 사용한 데이터 전송Data transfer with AzCopy

AzCopy 명령줄 유틸리티는 Azure Storage에 대한 스크립트 가능한 고성능 데이터 전송을 제공합니다.The AzCopy command-line utility offers high-performance, scriptable data transfer for Azure Storage. AzCopy를 사용하여 Blob 스토리지와 Azure Files 간에 데이터를 전송할 수 있습니다.You can use AzCopy to transfer data to and from Blob storage and Azure Files. 최신 버전의 AzCopy인 AzCopy v10에 대한 자세한 내용은 AzCopy 시작을 참조하세요.For more information about AzCopy v10, the latest version of AzCopy, see Get started with AzCopy. Blob 스토리지에서 AzCopy v10을 사용하는 방법에 대한 자세한 내용은 AzCopy 및 Blob 스토리지를 사용하여 데이터 전송을 참조하세요.To learn about using AzCopy v10 with Blob storage, see Transfer data with AzCopy and Blob storage.

다음 예제에서는 AzCopy를 사용하여 로컬 파일을 Blob에 업로드합니다.The following example uses AzCopy to upload a local file to a blob. 샘플 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace the sample values with your own values:

azcopy login
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'

리소스 정리Clean up resources

스토리지 계정을 포함하여 이 빠른 시작의 일부로 만든 리소스를 삭제하려면 az group delete 명령을 사용하여 리소스 그룹을 삭제합니다.If you want to delete the resources you created as part of this quickstart, including the storage account, delete the resource group by using the az group delete command. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

az group delete \
    --name <resource-group> \
    --no-wait

다음 단계Next steps

이 빠른 시작에서는 로컬 파일 시스템과 Azure Blob 스토리지의 컨테이너 간에 파일을 전송하는 방법을 알아보았습니다.In this quickstart, you learned how to transfer files between a local file system and a container in Azure Blob storage. Azure CLI를 통해 Blob 스토리지를 사용하는 방법에 대해 자세히 알아보려면 Blob 스토리지용 Azure CLI 샘플을 살펴보세요.To learn more about working with Blob storage by using Azure CLI, explore Azure CLI samples for Blob storage.