로컬 Azure Storage 개발에 Azurite 에뮬레이터 사용Use the Azurite emulator for local Azure Storage development

Azurite 오픈 소스 에뮬레이터는 Azure blob 및 queue storage 응용 프로그램을 테스트 하기 위한 무료 로컬 환경을 제공 합니다.The Azurite open-source emulator provides a free local environment for testing your Azure blob and queue storage applications. 응용 프로그램이 로컬에서 작동 하는 방식에 만족 하는 경우 클라우드에서 Azure Storage 계정을 사용 하도록 전환 합니다.When you're satisfied with how your application is working locally, switch to using an Azure Storage account in the cloud. 에뮬레이터는 Windows, Linux 및 macOS에서 플랫폼 간 지원을 제공 합니다.The emulator provides cross-platform support on Windows, Linux, and macOS.

Azurite는 향후 저장소 에뮬레이터 플랫폼입니다.Azurite is the future storage emulator platform. Azurite는 Azure Storage 에뮬레이터를 대체 합니다.Azurite supersedes the Azure Storage Emulator. Azurite는 최신 버전의 Azure Storage Api를 지원 하도록 계속 업데이트 됩니다.Azurite will continue to be updated to support the latest versions of Azure Storage APIs.

로컬 시스템에서 Azurite를 설치 하 고 실행 하는 여러 가지 방법이 있습니다.There are several different ways to install and run Azurite on your local system:

  1. Azurite Visual Studio Code 확장을 설치 하 고 실행 합니다.Install and run the Azurite Visual Studio Code extension
  2. NPM를 사용 하 여 Azurite 설치 및 실행Install and run Azurite by using NPM
  3. Azurite Docker 이미지를 설치 하 고 실행 합니다.Install and run the Azurite Docker image
  4. GitHub 리포지토리에서 Azurite 복제, 빌드 및 실행Clone, build, and run Azurite from the GitHub repository

Azurite Visual Studio Code 확장을 설치 하 고 실행 합니다.Install and run the Azurite Visual Studio Code extension

Visual Studio Code 내에서 확장 창을 선택 하 고 확장: MARKETPLACE에서 Azurite 를 검색 합니다.Within Visual Studio Code, select the EXTENSIONS pane and search for Azurite in the EXTENSIONS:MARKETPLACE.

Visual Studio Code 확장 마켓플레이스

브라우저에서 Visual Studio Code 확장 시장을 탐색할 수도 있습니다.You can also navigate to Visual Studio Code extension market in your browser. 설치 단추를 선택 하 Visual Studio Code를 열고 Azurite 확장 페이지로 직접 이동 합니다.Select the Install button to open Visual Studio Code and go directly to the Azurite extension page.

확장 프로그램은 다음과 같은 Visual Studio Code 명령을 지원 합니다.The extension supports the following Visual Studio Code commands. 명령 팔레트를 열려면 Visual Studio Code에서 F1 키를 누릅니다.To open the command palette, press F1 in Visual Studio Code.

  • Azurite: Clean -모든 Azurite services 지 속성 데이터를 다시 설정 합니다.Azurite: Clean - Reset all Azurite services persistency data
  • Azurite: 클린 blob service-blob 서비스 정리Azurite: Clean Blob Service - Clean blob service
  • Azurite: 큐 서비스 정리 -큐 서비스 정리Azurite: Clean Queue Service - Clean queue service
  • Azurite: 모든 Azurite 서비스를 닫습니다.Azurite: Close - Close all Azurite services
  • Azurite: Blob 서비스를 닫습니다. blob service를 닫습니다.Azurite: Close Blob Service - Close blob service
  • Azurite: Queue service를 닫습니다. 큐 서비스를 닫습니다.Azurite: Close Queue Service - Close queue service
  • Azurite: 시작 -모든 Azurite 서비스 시작Azurite: Start - Start all Azurite services
  • Azurite: Blob service 시작-blob service 시작Azurite: Start Blob Service - Start blob service
  • Azurite: 큐 서비스 시작 -큐 서비스 시작Azurite: Start Queue Service - Start queue service

Visual Studio Code 내에서 Azurite를 구성 하려면 확장 창을 선택 합니다.To configure Azurite within Visual Studio Code, select the extensions pane. Azurite에 대 한 관리 (기어) 아이콘을 선택 합니다.Select the Manage (gear) icon for Azurite. 확장 설정을 선택 합니다.Select Extension Settings.

Azurites 확장 설정 구성

다음 설정이 지원 됩니다.The following settings are supported:

  • Azurite: Blob Host -Blob service 수신 대기 끝점입니다.Azurite: Blob Host - The Blob service listening endpoint. 기본 설정은 127.0.0.1입니다.The default setting is 127.0.0.1.
  • Azurite: Blob port -Blob service 수신 대기 포트입니다.Azurite: Blob Port - The Blob service listening port. 기본 포트는 1만입니다.The default port is 10000.
  • Azurite: Cert -HTTPS 모드를 사용 하도록 설정 하기 위해 로컬에서 신뢰할 수 있는 PEM 또는 PFX 인증서 파일 경로에 대 한 경로입니다.Azurite: Cert - Path to a locally trusted PEM or PFX certificate file path to enable HTTPS mode.
  • Azurite: debug -디버그 로그를 Azurite 채널에 출력 합니다.Azurite: Debug - Output the debug log to the Azurite channel. 기본 값은 false입니다.The default value is false.
  • Azurite: 키 -로컬에서 신뢰할 수 있는 pem 키 파일에 대 한 경로입니다. Azurite: Cert 가 PEM 파일을 가리킬 때 필요 합니다.Azurite: Key - Path to a locally trusted PEM key file, required when Azurite: Cert points to a PEM file.
  • Azurite: location -작업 영역 위치 경로입니다.Azurite: Location - The workspace location path. 기본값은 Visual Studio Code 작업 폴더입니다.The default is the Visual Studio Code working folder.
  • Azurite: 지원 되지 않는 헤더와 매개 변수를 무시 하는 느슨한 사용 느슨한 모드입니다.Azurite: Loose - Enable loose mode, which ignores unsupported headers and parameters.
  • Azurite: oauth -선택적 oauth 수준입니다.Azurite: Oauth - Optional OAuth level.
  • Azurite: Pwd -PFX 파일의 암호입니다.Azurite: Pwd - Password for PFX file. Azurite: Cert 가 PFX 파일을 가리킬 때 필요 합니다.Required when Azurite: Cert points to a PFX file.
  • Azurite: Queue Host -큐 서비스 수신 대기 끝점입니다.Azurite: Queue Host - The Queue service listening endpoint. 기본 설정은 127.0.0.1입니다.The default setting is 127.0.0.1.
  • Azurite: Queue port -큐 서비스 수신 포트입니다.Azurite: Queue Port - The Queue service listening port. 기본 포트는 10001입니다.The default port is 10001.
  • Azurite: 자동 -자동 모드에서 액세스 로그를 사용 하지 않도록 설정 합니다.Azurite: Silent - Silent mode disables the access log. 기본 값은 false입니다.The default value is false.
  • Azurite: Api 버전 확인 건너뛰기 -요청 Api 버전 검사를 건너뜁니다.Azurite: Skip Api Version Check - Skip the request API version check. 기본 값은 false입니다.The default value is false.

NPM를 사용 하 여 Azurite 설치 및 실행Install and run Azurite by using NPM

이 설치 방법을 사용 하려면 Node.js 버전 8.0 이상 버전이 설치 되어 있어야 합니다.This installation method requires that you have Node.js version 8.0 or later installed. Npm (Node Package Manager)는 모든 Node.js 설치에 포함 된 패키지 관리 도구입니다.Node Package Manager (npm) is the package management tool included with every Node.js installation. Node.js를 설치한 후 다음 명령을 실행 npm 하 여 Azurite를 설치 합니다.After installing Node.js, execute the following npm command to install Azurite.

npm install -g azurite

Azurite를 설치한 후 명령줄에서 Azurite 실행을 참조 하세요.After installing Azurite, see Run Azurite from a command line.

Azurite Docker 이미지를 설치 하 고 실행 합니다.Install and run the Azurite Docker image

다음 명령을 사용 하 여 Dockerhub 를 사용 하 여 최신 Azurite 이미지 를 가져옵니다.Use DockerHub to pull the latest Azurite image by using the following command:

docker pull mcr.microsoft.com/azure-storage/azurite

Azurite Docker 이미지를 실행 합니다.Run the Azurite Docker image:

다음 명령은 Azurite Docker 이미지를 실행 합니다.The following command runs the Azurite Docker image. -p 10000:10000매개 변수는 호스트 컴퓨터의 포트 1만에서 Docker 인스턴스로 요청을 리디렉션합니다.The -p 10000:10000 parameter redirects requests from host machine's port 10000 to the Docker instance.

docker run -p 10000:10000 -p 10001:10001 \
    mcr.microsoft.com/azure-storage/azurite

작업 영역 위치 지정:Specify the workspace location:

다음 예제에서 -v c:/azurite:/data 매개 변수는 azurite 지속형 데이터 위치로 c:/azurite 를 지정 합니다.In the following example, the -v c:/azurite:/data parameter specifies c:/azurite as the Azurite persisted data location. Docker 명령을 실행 하기 전에 디렉터리 c:/azurite를 만들어야 합니다.The directory, c:/azurite, must be created before running the Docker command.

docker run -p 10000:10000 -p 10001:10001 \
    -v c:/azurite:/data mcr.microsoft.com/azure-storage/azurite

Blob service만 실행Run just the blob service

docker run -p 10000:10000 mcr.microsoft.com/azure-storage/azurite \
    azurite-blob --blobHost 0.0.0.0 --blobPort 10000

시작 시 Azurite를 구성 하는 방법에 대 한 자세한 내용은 명령줄 옵션을 참조 하세요.For more information about configuring Azurite at start-up, see Command-line options.

GitHub 리포지토리에서 Azurite 복제, 빌드 및 실행Clone, build, and run Azurite from the GitHub repository

이 설치 방법을 사용 하려면 Git 가 설치 되어 있어야 합니다.This installation method requires that you have Git installed. 다음 콘솔 명령을 사용 하 여 Azurite 프로젝트에 대 한 GitHub 리포지토리 를 복제 합니다.Clone the GitHub repository for the Azurite project by using the following console command.

git clone https://github.com/Azure/Azurite.git

소스 코드를 복제 한 후 복제 된 리포지토리의 루트에서 다음 명령을 실행 하 여 Azurite를 빌드하고 설치 합니다.After cloning the source code, execute following commands from the root of the cloned repo to build and install Azurite.

npm install
npm run build
npm install -g

Azurite를 설치 하 고 빌드한 후 명령줄에서 Azurite 실행을 참조 하세요.After installing and building Azurite, see Run Azurite from a command line.

명령줄에서 Azurite 실행Run Azurite from a command line

참고

Visual Studio Code 확장명만 설치한 경우 명령줄에서 Azurite를 실행할 수 없습니다.Azurite cannot be run from the command line if you only installed the Visual Studio Code extension. 대신 Visual Studio Code 명령 팔레트를 사용 합니다.Instead, use the Visual Studio Code command palette. 자세한 내용은 Azurite Visual Studio Code 확장 설치 및 실행을 참조 하세요.For more information, see Install and run the Azurite Visual Studio Code extension.

명령줄을 사용 하 여 즉시 시작 하려면 c:\azurite라는 디렉터리를 만든 후 다음 명령을 실행 하 여 azurite를 시작 합니다.To get started immediately with the command line, create a directory called c:\azurite, then launch Azurite by issuing the following command:

azurite --silent --location c:\azurite --debug c:\azurite\debug.log

이 명령은 Azurite에 게 c:\azurite의 특정 디렉터리에 모든 데이터를 저장 하도록 지시 합니다.This command tells Azurite to store all data in a particular directory, c:\azurite. --location이 옵션을 생략 하면 현재 작업 디렉터리가 사용 됩니다.If the --location option is omitted, it will use the current working directory.

명령줄 옵션Command-line options

이 섹션에서는 Azurite를 시작할 때 사용할 수 있는 명령줄 스위치에 대해 자세히 설명 합니다.This section details the command line switches available when launching Azurite.

도움말Help

선택 사항 -또는 스위치를 사용 하 여 명령줄 도움말을 가져옵니다 -h --help .Optional - Get command-line help by using the -h or --help switch.

azurite -h
azurite --help

Blob 수신 대기 호스트Blob listening host

선택 사항 -기본적으로 Azurite는 로컬 서버로 127.0.0.1을 수신 합니다.Optional - By default, Azurite will listen to 127.0.0.1 as the local server. 스위치를 사용 --blobHost 하 여 요구 사항에 대 한 주소를 설정 합니다.Use the --blobHost switch to set the address to your requirements.

로컬 컴퓨터 에서만 요청 수락:Accept requests on the local machine only:

azurite --blobHost 127.0.0.1

원격 요청 허용:Allow remote requests:

azurite --blobHost 0.0.0.0

주의

원격 요청을 허용 하면 시스템이 외부 공격에 취약 해질 수 있습니다.Allowing remote requests may make your system vulnerable to external attacks.

Blob 수신 대기 포트 구성Blob listening port configuration

선택 사항 -기본적으로 Azurite는 포트 1만에서 Blob service를 수신 대기 합니다.Optional - By default, Azurite will listen for the Blob service on port 10000. 스위치를 사용 --blobPort 하 여 필요한 수신 대기 포트를 지정 합니다.Use the --blobPort switch to specify the listening port that you require.

참고

사용자 지정 된 포트를 사용한 후 Azure Storage 도구나 Sdk에서 연결 문자열 또는 해당 구성을 업데이트 해야 합니다.After using a customized port, you need to update the connection string or corresponding configuration in your Azure Storage tools or SDKs.

Blob service 수신 대기 포트를 사용자 지정 합니다.Customize the Blob service listening port:

azurite --blobPort 8888

시스템에서 사용 가능한 포트를 자동으로 선택 하도록 합니다.Let the system auto select an available port:

azurite --blobPort 0

Azurite을 시작 하는 동안 사용 중인 포트가 표시 됩니다.The port in use is displayed during Azurite startup.

큐 수신 대기 호스트Queue listening host

선택 사항 -기본적으로 Azurite는 로컬 서버로 127.0.0.1을 수신 합니다.Optional - By default, Azurite will listen to 127.0.0.1 as the local server. 스위치를 사용 --queueHost 하 여 요구 사항에 대 한 주소를 설정 합니다.Use the --queueHost switch to set the address to your requirements.

로컬 컴퓨터 에서만 요청 수락:Accept requests on the local machine only:

azurite --queueHost 127.0.0.1

원격 요청 허용:Allow remote requests:

azurite --queueHost 0.0.0.0

주의

원격 요청을 허용 하면 시스템이 외부 공격에 취약 해질 수 있습니다.Allowing remote requests may make your system vulnerable to external attacks.

큐 수신 대기 포트 구성Queue listening port configuration

선택 사항 -기본적으로 Azurite는 포트 10001에서 큐 서비스를 수신 대기 합니다.Optional - By default, Azurite will listen for the Queue service on port 10001. 스위치를 사용 --queuePort 하 여 필요한 수신 대기 포트를 지정 합니다.Use the --queuePort switch to specify the listening port that you require.

참고

사용자 지정 된 포트를 사용한 후 Azure Storage 도구나 Sdk에서 연결 문자열 또는 해당 구성을 업데이트 해야 합니다.After using a customized port, you need to update the connection string or corresponding configuration in your Azure Storage tools or SDKs.

큐 서비스 수신 대기 포트를 사용자 지정 합니다.Customize the Queue service listening port:

azurite --queuePort 8888

시스템에서 사용 가능한 포트를 자동으로 선택 하도록 합니다.Let the system auto select an available port:

azurite --queuePort 0

Azurite을 시작 하는 동안 사용 중인 포트가 표시 됩니다.The port in use is displayed during Azurite startup.

작업 영역 경로Workspace path

선택 사항 -Azurite은 실행 중에 데이터를 로컬 디스크에 저장 합니다.Optional - Azurite stores data to the local disk during execution. -l또는 스위치를 사용 --location 하 여 경로를 작업 영역 위치로 지정 합니다.Use the -l or --location switch to specify a path as the workspace location. 기본적으로 현재 프로세스 작업 디렉터리가 사용 됩니다.By default, the current process working directory will be used. 소문자 ' l '을 적어둡니다.Note the lowercase 'l'.

azurite -l c:\azurite
azurite --location c:\azurite

액세스 로그Access log

선택 사항 -기본적으로 액세스 로그는 콘솔 창에 표시 됩니다.Optional - By default, the access log is displayed in the console window. 또는 스위치를 사용 하 여 액세스 로그를 표시 하지 않습니다 -s --silent .Disable the display of the access log by using the -s or --silent switch.

azurite -s
azurite --silent

디버그 로그Debug log

선택 사항 -디버그 로그에는 모든 요청 및 예외 스택 추적에 대 한 자세한 정보가 포함 됩니다.Optional - The debug log includes detailed information on every request and exception stack trace. 또는 스위치에 올바른 로컬 파일 경로를 제공 하 여 디버그 로그를 사용 하도록 설정 합니다 -d --debug .Enable the debug log by providing a valid local file path to the -d or --debug switch.

azurite -d path/debug.log
azurite --debug path/debug.log

느슨한 모드Loose mode

선택 사항 -기본적으로 Azurite는 strict 모드를 적용 하 여 지원 되지 않는 요청 헤더와 매개 변수를 차단 합니다.Optional - By default, Azurite applies strict mode to block unsupported request headers and parameters. 또는 스위치를 사용 하 여 strict 모드를 사용 하지 않도록 설정 -L --loose 합니다.Disable strict mode by using the -L or --loose switch. 대문자 ' L '을 확인 합니다.Note the capital 'L'.

azurite -L
azurite --loose

VersionVersion

선택 사항 -또는 스위치를 사용 하 여 설치 된 Azurite 버전 번호를 표시 -v --version 합니다.Optional - Display the installed Azurite version number by using the -v or --version switch.

azurite -v
azurite --version

인증서 구성 (HTTPS)Certificate configuration (HTTPS)

선택 사항 -기본적으로 AZURITE는 HTTP 프로토콜을 사용 합니다.Optional - By default, Azurite uses the HTTP protocol. 스위치에 Privacy Enhanced Mail (pem) 또는 개인 정보 교환 (.pfx) 인증서 파일의 경로를 제공 하 여 HTTPS 모드를 사용 하도록 설정 합니다 --cert .Enable HTTPS mode by providing a path to a Privacy Enhanced Mail (.pem) or Personal Information Exchange (.pfx) certificate file to the --cert switch.

--certPEM 파일에 대해가 제공 되는 경우 해당 스위치를 제공 해야 합니다 --key .When --cert is provided for a PEM file, you must provide a corresponding --key switch.

azurite --cert path/server.pem --key path/key.pem

--certPFX 파일에 대해가 제공 되는 경우 해당 스위치를 제공 해야 합니다 --pwd .When --cert is provided for a PFX file, you must provide a corresponding --pwd switch.

azurite --cert path/server.pfx --pwd pfxpassword

PEM 및 PFX 파일을 만드는 방법에 대 한 자세한 내용은 HTTPS 설치를 참조 하세요.For detailed information on creating PEM and PFX files, see HTTPS Setup.

OAuth 구성OAuth configuration

선택 사항 -스위치를 사용 하 여 Azurite에 대 한 OAuth 인증을 사용 하도록 설정 --oauth 합니다.Optional - Enable OAuth authentication for Azurite by using the --oauth switch.

azurite --oauth basic --cert path/server.pem --key path/key.pem

참고

OAuth에는 HTTPS 끝점이 필요 합니다.OAuth requires an HTTPS endpoint. 스위치와 함께 스위치를 제공 하 여 HTTPS를 사용 하도록 설정 해야 --cert --oauth 합니다.Make sure HTTPS is enabled by providing --cert switch along with the --oauth switch.

Azurite는 basic 스위치에 매개 변수를 지정 하 여 기본 인증을 지원 합니다 --oauth .Azurite supports basic authentication by specifying the basic parameter to the --oauth switch. Azurite는 들어오는 전달자 토큰의 유효성을 검사 하 고 발급자, 대상 그룹 및 만료를 확인 하는 등의 기본 인증을 수행 합니다.Azurite will do basic authentication, like validating the incoming bearer token, checking the issuer, audience, and expiry. Azurite는 토큰 서명 또는 사용 권한을 확인 하지 않습니다.Azurite won't check the token signature or permissions.

API 버전 확인 건너뛰기Skip API Version Check

선택 사항 -시작할 때 Azurite는 요청 된 API 버전이 올바른지 확인 합니다.Optional - When starting up, Azurite checks that the requested API version is valid. 다음 명령은 API 버전 검사를 건너뜁니다.The following command skips the API version check:

azurite --skipApiVersionCheck

도구 및 Sdk에 대 한 권한 부여Authorization for tools and SDKs

인증 전략을 사용 하 여 Azure Storage 탐색기와 같은 Azure Storage sdk 또는 도구에서 Azurite에 연결 합니다.Connect to Azurite from Azure Storage SDKs or tools, like Azure Storage Explorer, by using any authentication strategy. 인증이 필요 합니다.Authentication is required. Azurite는 OAuth, 공유 키 및 SAS (공유 액세스 서명)를 사용한 권한 부여를 지원 합니다.Azurite supports authorization with OAuth, Shared Key, and shared access signatures (SAS). Azurite는 공용 컨테이너에 대 한 익명 액세스도 지원 합니다.Azurite also supports anonymous access to public containers.

Azure Sdk를 사용 하는 경우 옵션을 사용 하 여 Azurite를 시작 --oauth basic and --cert --key/--pwd 합니다.If you're using the Azure SDKs, start Azurite with the --oauth basic and --cert --key/--pwd options.

잘 알려진 저장소 계정 및 키Well-known storage account and key

Azurite은 레거시 Azure Storage 에뮬레이터에서 사용 하는 것과 동일한 잘 알려진 계정 및 키를 허용 합니다.Azurite accepts the same well-known account and key used by the legacy Azure Storage Emulator.

  • 계정 이름: devstoreaccount1Account name: devstoreaccount1
  • 계정 키: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==Account key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==

사용자 지정 저장소 계정 및 키Custom storage accounts and keys

Azurite는 다음과 AZURITE_ACCOUNTS 같은 형식으로 환경 변수를 설정 하 여 사용자 지정 저장소 계정 이름 및 키를 지원 account1:key1[:key2];account2:key1[:key2];... 합니다.Azurite supports custom storage account names and keys by setting the AZURITE_ACCOUNTS environment variable in the following format: account1:key1[:key2];account2:key1[:key2];....

예를 들어 하나의 키가 있는 사용자 지정 저장소 계정을 사용 합니다.For example, use a custom storage account that has one key:

set AZURITE_ACCOUNTS="account1:key1"
export AZURITE_ACCOUNTS="account1:key1"

또는 각각 두 개의 키가 있는 여러 저장소 계정을 사용 합니다.Or use multiple storage accounts with two keys each:

set AZURITE_ACCOUNTS="account1:key1:key2;account2:key1:key2"
export AZURITE_ACCOUNTS="account1:key1:key2;account2:key1:key2"

Azurite는 기본적으로 분 마다 사용자 지정 계정 이름과 키를 환경 변수에서 새로 고칩니다.Azurite refreshes custom account names and keys from the environment variable every minute by default. 이 기능을 사용 하면 Azurite를 다시 시작 하지 않고 계정 키를 동적으로 회전 하거나 새 저장소 계정을 추가할 수 있습니다.With this feature, you can dynamically rotate the account key, or add new storage accounts without restarting Azurite.

참고

devstoreaccount1사용자 지정 저장소 계정을 설정 하는 경우 기본 저장소 계정이 사용 하지 않도록 설정 됩니다.The default devstoreaccount1 storage account is disabled when you set custom storage accounts.

연결 문자열Connection strings

응용 프로그램에서 Azurite에 연결 하는 가장 쉬운 방법은 UseDevelopmentStorage = true바로 가기를 참조 하는 응용 프로그램의 구성 파일에서 연결 문자열을 구성 하는 것입니다.The easiest way to connect to Azurite from your application is to configure a connection string in your application's configuration file that references the shortcut UseDevelopmentStorage=true. app.config 파일에 있는 연결 문자열의 예는 다음과 같습니다.Here's an example of a connection string in an app.config file:

<appSettings>
  <add key="StorageConnectionString" value="UseDevelopmentStorage=true" />
</appSettings>

HTTP 연결 문자열HTTP connection strings

Azure CLI 2.0 또는 Storage 탐색기와 같이 Azure sdk 또는 도구에 다음 연결 문자열을 전달할 수 있습니다.You can pass the following connection strings to the Azure SDKs or tools, like Azure CLI 2.0 or Storage Explorer.

전체 연결 문자열은 다음과 같습니다.The full connection string is:

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;

Blob service에만 연결 하려면 연결 문자열은 다음과 같습니다.To connect to the blob service only, the connection string is:

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;

큐 서비스에만 연결 하려면 연결 문자열은 다음과 같습니다.To connect to the queue service only, the connection string is:

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;

HTTPS 연결 문자열HTTPS connection strings

전체 HTTPS 연결 문자열은 다음과 같습니다.The full HTTPS connection string is:

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;

Blob 서비스만 사용 하려면 HTTPS 연결 문자열은 다음과 같습니다.To use the blob service only, the HTTPS connection string is:

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;

큐 서비스만 사용 하려면 HTTPS 연결 문자열은 다음과 같습니다.To use the queue service only, the HTTPS connection string is:

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;

자체 서명 된 인증서를 생성 하는 데를 사용한 경우에는 dotnet dev-certs 다음 연결 문자열을 사용 합니다.If you used dotnet dev-certs to generate your self-signed certificate, use the following connection string.

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://localhost:10000/devstoreaccount1;QueueEndpoint=https://localhost:10001/devstoreaccount1;

사용자 지정 저장소 계정 및 키를 사용 하는 경우 연결 문자열을 업데이트 합니다.Update the connection string when using custom storage accounts and keys.

자세한 내용은 Azure Storage 연결 문자열 구성을 참조하세요.For more information, see Configure Azure Storage connection strings.

Azure SDKAzure SDKs

Azure sdk와 함께 Azurite를 사용 하려면 OAUTH 및 HTTPS 옵션을 사용 합니다.To use Azurite with the Azure SDKs, use OAuth and HTTPS options:

azurite --oauth basic --cert certname.pem --key certname-key.pem

Azure Blob StorageAzure Blob Storage

그런 다음 BlobContainerClient, BlobServiceClient 또는 BlobClient를 인스턴스화할 수 있습니다.You can then instantiate a BlobContainerClient, BlobServiceClient, or BlobClient.

// With container URL and DefaultAzureCredential
var client = new BlobContainerClient(
    new Uri("https://127.0.0.1:10000/devstoreaccount1/container-name"), new DefaultAzureCredential()
  );

// With connection string
var client = new BlobContainerClient(
    "DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;", "container-name"
  );

// With account name and key
var client = new BlobContainerClient(
    new Uri("https://127.0.0.1:10000/devstoreaccount1/container-name"),
    new StorageSharedKeyCredential("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==")
  );

Azure Queue StorageAzure Queue Storage

QueueClient 또는 QueueServiceClient를 인스턴스화할 수도 있습니다.You can also instantiate a QueueClient or QueueServiceClient.

// With queue URL and DefaultAzureCredential
var client = new QueueClient(
    new Uri("https://127.0.0.1:10001/devstoreaccount1/queue-name"), new DefaultAzureCredential()
  );

// With connection string
var client = new QueueClient(
    "DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;", "queue-name"
  );

// With account name and key
var client = new QueueClient(
    new Uri("https://127.0.0.1:10001/devstoreaccount1/queue-name"),
    new StorageSharedKeyCredential("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==")
  );

Microsoft Azure Storage ExplorerMicrosoft Azure Storage Explorer

Storage 탐색기를 사용 하 여 Azurite에 저장 된 데이터를 볼 수 있습니다.You can use Storage Explorer to view the data stored in Azurite.

HTTP를 사용 하 여 Azurite에 연결Connect to Azurite using HTTP

Storage 탐색기에서 다음 단계를 수행 하 여 Azurite에 연결 합니다.In Storage Explorer, connect to Azurite by following these steps:

  1. 계정 관리 아이콘을 선택 합니다.Select the Manage Accounts icon
  2. 계정 추가를 선택 합니다 .Select Add an account
  3. 로컬 에뮬레이터에 연결을 선택 합니다 .Select Attach to a local emulator
  4. 다음을 선택합니다.Select Next
  5. 표시 이름 필드를 원하는 이름으로 편집 합니다.Edit the Display name field to a name of your choice
  6. 다시 다음 을 선택 합니다.Select Next again
  7. 연결 선택Select Connect

HTTPS를 사용 하 여 Azurite에 연결Connect to Azurite using HTTPS

기본적으로 Storage 탐색기 자체 서명 된 인증서를 사용 하는 HTTPS 끝점은 열리지 않습니다.By default Storage Explorer won't open an HTTPS endpoint that uses a self-signed certificate. HTTPS를 사용 하 여 Azurite를 실행 하는 경우 자체 서명 된 인증서를 사용할 가능성이 높습니다.If you're running Azurite with HTTPS, you're likely using a self-signed certificate. Storage 탐색기에서 ssl 인증서 편집 -> SSL Certificates -> 인증서 가져오기 대화 상자를 통해 ssl 인증서를 가져옵니다.In Storage Explorer, import SSL certificates via the Edit -> SSL Certificates -> Import Certificates dialog.

인증서를 Storage 탐색기 가져오기Import Certificate to Storage Explorer
  1. 로컬 컴퓨터에서 인증서를 찾습니다.Find the certificate on your local machine.
  2. Storage 탐색기에서 Edit -> SSL 인증서편집 -> 인증서 가져오기 로 이동 하 여 인증서를 가져옵니다.In Storage Explorer, go to Edit -> SSL Certificates -> Import Certificates and import your certificate.

인증서를 가져오지 않으면 오류가 발생 합니다.If you don't import a certificate, you'll get an error:

unable to verify the first certificate 또는 self signed certificate in chainunable to verify the first certificate or self signed certificate in chain

HTTPS 연결 문자열을 통해 Azurite 추가Add Azurite via HTTPS connection string

Storage 탐색기에 Azurite HTTPS를 추가 하려면 다음 단계를 수행 합니다.Follow these steps to add Azurite HTTPS to Storage Explorer:

  1. 탐색기 설정/해제 를 선택 합니다.Select Toggle Explorer
  2. 로컬 & 연결 됨을 선택 합니다.Select Local & Attached
  3. 저장소 계정 을 마우스 오른쪽 단추로 클릭 하 고 Azure Storage에 연결을선택 합니다.Right-click on Storage Accounts and select Connect to Azure Storage.
  4. 연결 문자열 사용을 선택 합니다 .Select Use a connection string
  5. 다음을 선택합니다.Select Next.
  6. 표시 이름 필드에 값을 입력 합니다.Enter a value in the Display name field.
  7. 이 문서의 이전 섹션에서 HTTPS 연결 문자열 을 입력 합니다.Enter the HTTPS connection string from the previous section of this document
  8. 다음을 선택합니다.Select Next
  9. 연결 선택Select Connect

작업 영역 구조Workspace structure

Azurite를 초기화할 때 작업 영역 위치에서 다음 파일 및 폴더를 만들 수 있습니다.The following files and folders may be created in the workspace location when initializing Azurite.

  • __blobstorage__ -Azurite blob 서비스 지속형 이진 데이터를 포함 하는 디렉터리__blobstorage__ - Directory containing Azurite blob service persisted binary data
  • __queuestorage__ -Azurite queue 서비스 지속형 이진 데이터를 포함 하는 디렉터리__queuestorage__ - Directory containing Azurite queue service persisted binary data
  • __azurite_db_blob__.json -Azurite blob service 메타 데이터 파일__azurite_db_blob__.json - Azurite blob service metadata file
  • __azurite_db_blob_extent__.json -Azurite blob service 익스텐트 메타 데이터 파일__azurite_db_blob_extent__.json - Azurite blob service extent metadata file
  • __azurite_db_queue__.json -Azurite 큐 서비스 메타 데이터 파일__azurite_db_queue__.json - Azurite queue service metadata file
  • __azurite_db_queue_extent__.json -Azurite 큐 서비스 익스텐트 메타 데이터 파일__azurite_db_queue_extent__.json - Azurite queue service extent metadata file

Azurite를 정리 하려면 위의 파일과 폴더를 삭제 하 고 에뮬레이터를 다시 시작 합니다.To clean up Azurite, delete above files and folders and restart the emulator.

Azurite와 Azure Storage 간의 차이점Differences between Azurite and Azure Storage

Azurite의 로컬 인스턴스와 클라우드의 Azure Storage 계정 사이에는 기능적인 차이점이 있습니다.There are functional differences between a local instance of Azurite and an Azure Storage account in the cloud.

끝점 및 연결 URLEndpoint and connection URL

Azurite에 대 한 서비스 끝점은 Azure Storage 계정의 끝점과 다릅니다.The service endpoints for Azurite are different from the endpoints of an Azure Storage account. 로컬 컴퓨터는 도메인 이름 확인을 수행 하지 않습니다. Azurite 끝점은 로컬 주소 여야 합니다.The local computer doesn't do domain name resolution, requiring Azurite endpoints to be local addresses.

Azure Storage 계정에서 리소스에 주소를 표시 하는 경우 계정 이름은 URI 호스트 이름의 일부입니다.When you address a resource in an Azure Storage account, the account name is part of the URI host name. 주소를 지정 하는 리소스는 URI 경로의 일부입니다.The resource being addressed is part of the URI path:

<http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>

다음 URI는 Azure Storage 계정의 blob에 대 한 올바른 주소입니다.The following URI is a valid address for a blob in an Azure Storage account:

https://myaccount.blob.core.windows.net/mycontainer/myblob.txt

로컬 컴퓨터가 도메인 이름 확인을 수행 하지 않기 때문에 계정 이름은 호스트 이름이 아닌 URI 경로의 일부입니다.Since the local computer doesn't do domain name resolution, the account name is part of the URI path instead of the host name. Azurite의 리소스에 대해 다음 URI 형식을 사용 합니다.Use the following URI format for a resource in Azurite:

http://<local-machine-address>:<port>/<account-name>/<resource-path>

Azurite에서 blob에 액세스 하는 데 사용할 수 있는 주소는 다음과 같습니다.The following address might be used for accessing a blob in Azurite:

http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt

크기 조정 및 성능Scaling and performance

Azurite는 다 수의 연결 된 클라이언트를 지원 하지 않습니다.Azurite doesn't support large numbers of connected clients. 성능 보장은 없습니다.There's no performance guarantee. Azurite은 개발 및 테스트 목적으로 작성 되었습니다.Azurite is intended for development and testing purposes.

오류 처리Error handling

Azurite는 Azure Storage 오류 처리 논리와 맞춰져 있지만 차이가 있습니다.Azurite is aligned with Azure Storage error handling logic, but there are differences. 예를 들어 오류 메시지는 서로 다를 수 있으며, 오류 상태 코드는 정렬 됩니다.For example, error messages may be different, while error status codes align.

RA-GRSRA-GRS

Azurite는 읽기 액세스 지역 중복 복제 (RA-GRS)를 지원 합니다.Azurite supports read-access geo-redundant replication (RA-GRS). 저장소 리소스의 경우 계정 이름에를 추가 하 여 보조 위치에 액세스 합니다 -secondary .For storage resources, access the secondary location by appending -secondary to the account name. 예를 들어 Azurite의 읽기 전용 보조 데이터베이스를 사용 하 여 blob에 액세스 하기 위해 다음 주소를 사용할 수 있습니다.For example, the following address might be used for accessing a blob using the read-only secondary in Azurite:

http://127.0.0.1:10000/devstoreaccount1-secondary/mycontainer/myblob.txt

테이블 지원Table support

Azurite의 테이블에 대 한 지원은 현재 개발 중 이며 기여 하기 위해 열립니다.Support for tables in Azurite is currently under development and open to contribution! 최신 진행률을 보려면 Azurite V3 테이블 프로젝트를 확인 하세요.For the latest progress, check the Azurite V3 Table project.

지 속성 함수에 대 한 지원에는 테이블이 필요 합니다.Support for durable functions requires tables.

Azurite는 오픈 소스입니다.Azurite is open-source

Azurite에 대 한 기여 및 제안은 환영 합니다.Contributions and suggestions for Azurite are welcome. 예정 된 기능 및 버그 수정에 대해 추적 중인 마일스 톤 및 작업 항목에 대해서는 Azurite github 프로젝트 페이지 또는 github 문제 를 참조 하세요.Go to the Azurite GitHub project page or GitHub issues for milestones and work items we're tracking for upcoming features and bug fixes. 자세한 작업 항목은 GitHub 에서도 추적 됩니다.Detailed work items are also tracked in GitHub.

다음 단계Next steps