다음을 통해 공유


Azurite 에뮬레이터 설치 및 실행

Azurite 에뮬레이터를 사용하면 개발자가 인터넷 연결 없이 클라우드 기반 애플리케이션 및 도구 개발을 빠르게 추적할 수 있습니다.

이 문서에서는 Azurite를 설치 및 실행하고 로컬 개발을 위해 구성하는 지침을 제공합니다. Azurite 사용에 대한 자세한 내용은 로컬 Azure Storage 개발에 Azurite 에뮬레이터 사용을 참조하세요.

Azurite는 Azure Storage 에뮬레이터를 대체하고 최신 버전의 Azure Storage API를 지원하도록 계속 업데이트됩니다.

Azurite 설치

Azurite는 npm, Docker 및 Visual Studio Code를 비롯한 다양한 방법을 사용하여 설치하고 실행할 수 있습니다. 이 비디오에서는 Azurite 에뮬레이터를 설치하고 실행하는 방법을 보여줍니다.

비디오의 단계도 다음 섹션에 설명되어 있습니다. 사용자 환경과 관련된 특정 지침을 보려면 다음 탭을 선택합니다.

Azurite는 Visual Studio 2022에서 자동으로 사용할 수 있습니다. Azurite 실행 파일은 새 Visual Studio 버전 릴리스의 일부로 업데이트됩니다. 이전 버전의 Visual Studio를 실행하는 경우 노드 패키지 관리자(npm), DockerHub를 사용하거나 Azurite GitHub 리포지토리를 복제하여 Azurite를 설치할 수 있습니다.

Azurite 실행

다음 탭 중 원하는 탭을 선택하여 사용자 환경과 관련된 특정 지침을 확인합니다.

Visual Studio에서 대부분의 프로젝트 형식에서 Azurite를 사용하려면 먼저 Azurite 실행 파일을 실행해야 합니다. 실행 파일이 실행되면 Azurite는 애플리케이션의 연결 요청을 수신 대기합니다. 자세한 내용은 명령줄에서 Azurite 실행을 참조하세요.

Azure Functions 프로젝트 및 ASP.NET 프로젝트의 경우 Azurite를 자동으로 시작하도록 프로젝트를 구성하도록 선택할 수 있습니다. 이 구성은 프로젝트 설정 중에 수행됩니다. 이 프로젝트 구성은 Azurite를 자동으로 시작하지만 Visual Studio는 자세한 Azurite 구성 옵션을 노출하지 않습니다. 자세한 Azurite 구성 옵션을 사용자 지정하려면 Visual Studio 를 시작하기 전에 Azurite 실행 파일을 실행 합니다.

Azurite를 자동으로 시작하도록 Azure Functions 프로젝트 및 ASP.NET 프로젝트를 구성하는 방법에 대한 자세한 내용은 다음 지침을 참조하세요.

Azurite 실행 파일 위치

다음 표에서는 Windows 컴퓨터에서 실행되는 여러 버전의 Visual Studio에 대한 Azurite 실행 파일의 위치를 보여 줍니다.

Visual Studio 버전 Azurite 실행 파일 위치
Visual Studio Community 2022 C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator
Visual Studio Professional 2022 C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator
Visual Studio Enterprise 2022 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator

명령줄에서 Azurite 실행

Azurite 실행 파일 위치 테이블에 자세히 설명된 대로 Visual Studio 설치의 확장 폴더에서 Azurite 실행 파일을 찾을 수 있습니다.

적절한 위치로 이동하여 시작 azurite.exe합니다. 실행 파일을 실행한 후 Azurite는 연결을 수신 대기합니다.

Azurite를 구성하는 데 사용할 수 있는 명령줄 옵션에 대한 자세한 내용은 명령줄 옵션을 참조하세요.

Azure Functions 프로젝트에서 Azurite 실행

Visual Studio 2022에서 Azure Functions 프로젝트를 만듭니다. 프로젝트 옵션을 설정하는 동안 런타임 스토리지 계정에 Azurite 사용이라는 레이블이 지정된 상자를 표시합니다.

Azurite를 Azure Functions 프로젝트의 런타임 스토리지 계정으로 설정하는 방법을 보여 주는 스크린샷

프로젝트를 만든 후 Azurite가 자동으로 시작됩니다. Azurite 실행 파일의 위치는 Azurite 실행 파일 위치 테이블에 자세히 설명되어 있습니다. 출력은 다음 스크린샷과 유사합니다.

Azurite를 Azure Functions 프로젝트의 런타임 스토리지 계정으로 설정한 후의 출력을 보여 주는 스크린샷

이 구성 옵션은 프로젝트의 연결된 서비스 종속성을 수정하여 나중에 변경할 수 있습니다.

ASP.NET 프로젝트에서 Azurite 실행

Visual Studio 2022에서 ASP.NET Core Web App 프로젝트를 만듭니다. 그런 다음 연결된 서비스 대화 상자를 열고 서비스 종속성 추가를 선택한 다음 Storage Azurite 에뮬레이터를 선택합니다.

Azurite를 ASP.NET 프로젝트에 종속성으로 추가하는 방법을 보여 주는 스크린샷

스토리지 Azurite 에뮬레이터 구성 대화 상자에서 연결 문자열 이름 필드를 <a0/>로 설정한 다음 마침을 선택합니다.

ASP.NET 프로젝트에서 Azurite를 사용하도록 연결 문자열을 구성하는 방법을 보여 주는 스크린샷

구성이 완료되면 닫기를 선택하고 Azurite 에뮬레이터가 자동으로 시작됩니다. Azurite 실행 파일의 위치는 Azurite 실행 파일 위치 테이블에 자세히 설명되어 있습니다. 출력은 다음 스크린샷과 유사합니다.

ASP.NET 프로젝트를 Azurite 에뮬레이터에 연결한 후 출력을 보여 주는 스크린샷

이 구성 옵션은 프로젝트의 연결된 서비스 종속성을 수정하여 나중에 변경할 수 있습니다.

명령줄 옵션

이 섹션에서는 Azurite를 시작할 때 사용할 수 있는 명령줄 스위치에 대해 자세히 설명합니다.

Help

선택 사항 - 또는 --help 스위치를 사용하여 명령줄 도움말을 -h 가져옵니다.

azurite -h
azurite --help

수신 대기 호스트

선택 사항 - 기본적으로 Azurite는 로컬 서버로 127.0.0.1을 수신 대기합니다. 스위치를 --blobHost 사용하여 주소를 요구 사항으로 설정합니다.

로컬 컴퓨터에서만 요청을 수락합니다.

azurite --blobHost 127.0.0.1

원격 요청 허용:

azurite --blobHost 0.0.0.0

주의

원격 요청을 허용하면 시스템이 외부 공격에 취약할 수 있습니다.

수신 대기 포트 구성

선택 사항 - 기본적으로 Azurite는 포트 10000에서 Blob 서비스를 수신 대기합니다. 스위치를 --blobPort 사용하여 필요한 수신 대기 포트를 지정합니다.

비고

사용자 지정된 포트를 사용한 후에는 Azure Storage 도구 또는 SDK에서 연결 문자열 또는 해당 구성을 업데이트해야 합니다.

Blob Service 수신 대기 포트를 사용자 지정합니다.

azurite --blobPort 8888

시스템에서 사용 가능한 포트를 자동으로 선택하도록 합니다.

azurite --blobPort 0

사용 중인 포트는 Azurite를 시작하는 동안 표시됩니다.

작업 영역 경로

선택 사항 - Azurite는 실행 중에 로컬 디스크에 데이터를 저장합니다. -l 또는 --___location 스위치를 사용하여 경로를 작업 영역 위치로 지정합니다. 기본적으로 현재 프로세스 작업 디렉터리가 사용됩니다. 소문자 'l'을 적어 둡니다.

azurite -l c:\azurite
azurite --___location c:\azurite

액세스 로그

선택 사항 - 기본적으로 액세스 로그가 콘솔 창에 표시됩니다. 또는 --silent 스위치를 사용하여 액세스 로그 표시를 -s 사용하지 않도록 설정합니다.

azurite -s
azurite --silent

디버그 로그

선택 사항 - 디버그 로그에는 모든 요청 및 예외 스택 추적에 대한 자세한 정보가 포함됩니다. 또는 --debug 스위치에 유효한 로컬 파일 경로를 제공하여 디버그 로그를 -d 사용하도록 설정합니다.

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

느슨한 모드

선택 사항 - 기본적으로 Azurite는 지원되지 않는 요청 헤더 및 매개 변수를 차단하기 위해 엄격한 모드를 적용합니다. 또는 --loose 스위치를 사용하여 strict 모드를 -L 사용하지 않도록 설정합니다. 수도 'L'을 확인합니다.

azurite -L
azurite --loose

버전

선택 사항 - 또는 --version 스위치를 사용하여 -v 설치된 Azurite 버전 번호를 표시합니다.

azurite -v
azurite --version

인증서 구성(HTTPS)

선택 사항 - 기본적으로 Azurite는 HTTP 프로토콜을 사용합니다. 개인 정보 보호 강화 메일(.pem) 또는 개인 정보 교환(.pfx) 인증서 파일의 경로를 스위치에 제공하여 HTTPS 모드를 --cert 사용하도록 설정할 수 있습니다. OAuth 인증을 사용하여 Azurite에 연결하려면 HTTPS가 필요합니다.

PEM 파일에 대해 제공되는 경우 --cert 해당 --key 스위치를 제공해야 합니다.

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

PFX 파일에 대해 제공되는 경우 --cert 해당 --pwd 스위치를 제공해야 합니다.

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

HTTPS 설정

PEM 및 PFX 파일 생성에 대한 자세한 내용은 HTTPS 설치 프로그램을 참조하세요.

OAuth 구성

선택 사항 - 스위치를 사용하여 Azurite에 OAuth 인증을 --oauth 사용하도록 설정합니다.

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

비고

OAuth에는 HTTPS 엔드포인트가 필요합니다. 스위치와 함께 스위치를 제공하여 HTTPS를 --cert--oauth 사용하도록 설정했는지 확인합니다.

Azurite는 스위치에 매개 변수를 지정하여 basic 기본 인증을 --oauth 지원합니다. Azurite는 들어오는 전달자 토큰의 유효성 검사, 발급자, 대상 그룹 및 만료 확인과 같은 기본 인증을 수행합니다. Azurite는 토큰 서명 또는 권한을 확인하지 않습니다. 권한 부여에 대한 자세한 내용은 SDK 및 도구를 사용하여 Azurite에 연결을 참조하세요.

API 버전 검사 건너뛰기

선택 사항 - 시작할 때 Azurite는 요청된 API 버전이 유효한지 확인합니다. 다음 명령은 API 버전 검사를 건너뜁니다.

azurite --skipApiVersionCheck

프로덕션 스타일 URL 사용 안 함

선택 사항입니다. 요청 Uri 호스트에서 IP 대신 정규화된 도메인 이름을 사용하는 경우 Azurite는 기본적으로 요청 URI 호스트에서 스토리지 계정 이름을 구문 분석합니다. 다음을 사용하여 --disableProductStyleUrl요청 URI 경로에서 스토리지 계정 이름을 강제로 구문 분석할 수 있습니다.

azurite --disableProductStyleUrl

메모리 내 지속성

선택 사항입니다. 기본적으로 Blob 및 큐 메타데이터는 디스크에 유지되고 콘텐츠는 익스텐트 파일에 유지됩니다. Table Storage는 모든 데이터를 디스크에 유지합니다. 디스크에 데이터를 유지하지 않도록 설정하고 메모리에 데이터만 저장할 수 있습니다. 메모리 내 지속성 시나리오에서 Azurite 프로세스가 종료되면 모든 데이터가 손실됩니다. 다음 옵션을 사용하여 기본 지속성 동작을 재정의할 수 있습니다.

azurite --inMemoryPersistence

이 설정은 SQL 기반 메타데이터 구현을 사용하는 경우(통해 AZURITE_DB) 또는 옵션이 지정된 경우 --___location 거부됩니다.

익스텐트 메모리 제한

선택 사항입니다. 기본적으로 메모리 내 익스텐트 저장소(Blob 및 큐 콘텐츠의 경우)는 호스트 머신의 총 메모리 중 50%로 제한됩니다. 합계는 .를 사용하여 os.totalmem()평가됩니다. 이 제한은 다음 옵션을 사용하여 재정의할 수 있습니다.

azurite --extentMemoryLimit <megabytes>

이 옵션에 지정된 값에는 제한이 없습니다. 그러나 운영 체제에서 제공하는 사용 가능한 실제 메모리 양을 초과하는 경우 가상 메모리를 사용할 수 있습니다. 높은 제한은 결국 메모리 부족 오류 또는 성능 저하로 이어질 수 있습니다. 이 옵션은 지정되지 않은 경우 --inMemoryPersistence 거부됩니다.

자세한 내용은 메모리 내 스토리지 사용을 참조하세요.

원격 분석 수집 사용 안 함

선택 사항입니다. 기본적으로 Azurite는 제품을 개선하는 데 도움이 되는 원격 분석 데이터를 수집합니다. --disableTelemetry 다음 명령과 같이 현재 Azurite 실행에 대한 원격 분석 데이터 수집을 사용하지 않도록 설정하는 옵션을 사용합니다.

azurite --disableTelemetry

다음 단계