빠른 시작: Azure CLI를 사용하여 Blob 업로드, 다운로드 및 나열Quickstart: Upload, download, and list blobs using the 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 now available to accounts that have a hierarchical namespace. 제한 사항을 검토하려면 Azure Data Lake Storage Gen2에서 알려진 문제 문서를 참조하세요.To review limitations, see the Known issues with 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 the account, see Create a storage account.

Azure Cloud Shell 사용Use Azure Cloud Shell

Azure는 브라우저를 통해 사용할 수 있는 대화형 셸 환경인 Azure Cloud Shell을 호스트합니다.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell에서 Bash 또는 PowerShell을 사용하여 Azure 서비스 작업을 수행할 수 있습니다.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. 로컬 환경에 아무 것도 설치할 필요 없이 Azure Cloud Shell의 미리 설치된 명령을 사용하여 이 문서의 코드를 실행할 수 있습니다.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell을 시작하려면 다음을 수행합니다.To start Azure Cloud Shell:

옵션Option 예제/링크Example/Link
코드 블록의 오른쪽 위 모서리에서 사용을 선택합니다.Select Try It in the upper-right corner of a code block. 사용해보기를 선택하면 코드가 Cloud Shell에 자동으로 복사되지 않습니다.Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell에 대한 사용 예제
https://shell.azure.com으로 이동하거나 Cloud Shell 시작 버튼을 선택하여 브라우저에서 Cloud Shell을 엽니다.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. 새 창에서 Cloud Shell 시작Launch Cloud Shell in a new window
Azure Portal 오른쪽 위에 있는 메뉴 모음에서 Cloud Shell 단추를 선택합니다.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure Portal의 Cloud Shell 단추

이 문서의 코드를 Azure Cloud Shell에서 실행하려면 다음을 수행합니다.To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell을 시작합니다.Start Cloud Shell.

  2. 코드 블록의 복사 단추를 선택하여 코드를 복사합니다.Select the Copy button on a code block to copy the code.

  3. Windows 및 Linux에서 Ctrl+Shift+V를 선택하거나 macOS에서 Cmd+Shift+V를 선택하여 코드를 Cloud Shell 세션에 붙여넣습니다.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Enter를 선택하여 코드를 실행합니다.Select Enter to run the code.

CLI를 로컬로 설치하여 사용하도록 선택한 경우 이 빠른 시작에서 Azure CLI 버전 2.0.4 이상을 실행해야 합니다.If you choose to install and use the CLI locally, this quickstart requires that you are running the Azure CLI version 2.0.4 or later. 버전을 확인하려면 az --version을 실행합니다.Run az --version to determine your version. 설치 또는 업그레이드가 필요한 경우, Azure CLI 설치를 참조하세요.If you need to install or upgrade, see Install the Azure CLI.

리소스 그룹 만들기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-name> \
    --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 <account-name> \
    --resource-group <resource-group-name> \
    --location <location> \
    --sku Standard_ZRS \
    --encryption blob

스토리지 계정 자격 증명 지정Specify storage account credentials

Azure CLI는 이 자습서의 명령 대부분에 스토리지 계정 자격 증명을 필요로 합니다.The Azure CLI needs your storage account credentials for most of the commands in this tutorial. 이를 수행하는 여러 가지 옵션이 있지만 가장 쉬운 방법 중 하나는 AZURE_STORAGE_ACCOUNTAZURE_STORAGE_KEY 환경 변수를 설정하는 것입니다.While there are several options for doing so, one of the easiest ways to provide them is to set AZURE_STORAGE_ACCOUNT and AZURE_STORAGE_KEY environment variables.

참고

이 문서에서는 Bash를 사용하여 환경 변수를 설정하는 방법을 보여 줍니다.This article shows how to set environment variables using Bash. 다른 환경에서는 구문 수정이 필요할 수 있습니다.Other environments may require syntax modifications.

먼저, az storage account keys list 명령을 사용하여 스토리지 계정 키를 표시합니다.First, display your storage account keys by using the az storage account keys list command. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

az storage account keys list \
    --account-name <account-name> \
    --resource-group <resource-group-name> \
    --output table

이제 AZURE_STORAGE_ACCOUNTAZURE_STORAGE_KEY 환경 변수를 설정합니다.Now, set the AZURE_STORAGE_ACCOUNT and AZURE_STORAGE_KEY environment variables. export 명령을 사용하여 Bash 셸에서 이 작업을 수행할 수 있습니다.You can do this in the Bash shell by using the export command. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

export AZURE_STORAGE_ACCOUNT="<account-name>"
export AZURE_STORAGE_KEY="<account-key>"

Azure Portal를 사용하여 계정 액세스 키를 검색하는 방법에 대한 자세한 내용은 Azure Portal에서 스토리지 계정 설정 관리액세스 키를 참조하세요.For more information on how to retrieve the account access keys using the Azure portal, see Access keys in Manage storage account settings in the Azure portal.

컨테이너 만들기Create a container

Blob은 항상 컨테이너에 업로드됩니다.Blobs are always uploaded into a container. 폴더에서 컴퓨터의 파일을 구성하는 방식과 비슷하게 Blob 그룹을 구성할 수 있습니다.You can organize groups of blobs 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.

az storage container create --name sample-container

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:

az storage blob upload \
    --container-name sample-container \
    --name helloworld \
    --file helloworld

이 작업은 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.

az storage blob list \
    --container-name sample-container \
    --output table

Blob 다운로드Download a blob

az storage blob download 명령을 사용하여 이전에 업로드한 Blob을 다운로드합니다.Use the az storage blob download command to download the blob you uploaded earlier.

az storage blob download \
    --container-name sample-container \
    --name helloworld \
    --file ~/destination/path/for/file

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

AzCopy 유틸리티는 Azure Storage를 위한 또 다른 스크립팅 가능한 고성능 데이터 전송 옵션입니다.The AzCopy utility is another option for high-performance scriptable data transfer for Azure Storage. AzCopy를 사용하여 Blob, File 및 Table Storage 간에 데이터를 전송할 수 있습니다.You can use AzCopy to transfer data to and from Blob, File, and Table storage.

다음 예제에서는 AzCopy를 사용하여 myfile.txt라는 파일을 sample-container 컨테이너에 업로드합니다.The following example uses AzCopy to upload a file called myfile.txt to the sample-container container. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

azcopy \
    --source /mnt/myfiles \
    --destination https://<account-name>.blob.core.windows.net/sample-container \
    --dest-key <account-key> \
    --include "myfile.txt"

리소스 정리Clean up resources

이 빠른 시작에서 만든 스토리지 계정을 비롯하여 리소스 그룹의 어떠한 리소스도 더 이상 필요하지 않은 경우 az group delete 명령으로 리소스 그룹을 삭제합니다.If you no longer need any of the resources in your resource group, including the storage account you created in this quickstart, delete the resource group with the az group delete command. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.Remember to replace placeholder values in angle brackets with your own values:

az group delete --name <resource-group-name>

다음 단계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 Storage에서 Blob을 사용하는 방법을 자세히 알아보려면 계속해서 Azure Blob Storage 사용에 대한 자습서를 진행하세요.To learn more about working with blobs in Azure Storage, continue to the tutorial for working with Azure Blob storage.