Azure Storage SDK 또는 Azure Storage Explorer와 같은 도구에서 Azurite에 연결할 수 있습니다. 인증이 필요하며 Azurite는 OAuth, 공유 키 및 SAS(공유 액세스 서명)를 사용한 권한 부여를 지원합니다. Azurite는 공용 컨테이너에 대한 익명 액세스도 지원합니다.
이 문서에서는 Azure Storage SDK 및 도구를 사용하여 Azurite 에뮬레이터에 연결하는 방법을 설명합니다. Azurite를 설치하고 실행하는 방법에 대한 자세한 내용은 Azurite 설치 및 실행을 참조하세요. Azure SDK에서 Azurite를 사용하는 방법에 대한 자세한 내용은 Azure SDK를 참조하세요.
Azurite에 애플리케이션 또는 도구 연결
애플리케이션 또는 도구를 Azurite에 연결하려면 다음 방법을 사용할 수 있습니다.
잘 알려진 스토리지 계정 및 키 사용
Azurite는 레거시 Azure Storage 에뮬레이터에서 사용하는 것과 동일한 잘 알려진 계정 및 키를 허용합니다.
- 계정 이름:
devstoreaccount1 - 계정 키:
Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
사용자 지정 스토리지 계정 및 키 사용
Azurite는 환경 변수를 다음 형식account1:key1[:key2];account2:key1[:key2];...으로 설정 AZURITE_ACCOUNTS 하여 사용자 지정 스토리지 계정 이름 및 키를 지원합니다.
예를 들어 하나의 키가 있는 사용자 지정 스토리지 계정을 사용합니다.
set AZURITE_ACCOUNTS="account1:key1"
export AZURITE_ACCOUNTS="account1:key1"
비고
계정 키는 base64로 인코딩된 문자열이어야 합니다.
또는 각각 두 개의 키가 있는 여러 스토리지 계정을 사용합니다.
set AZURITE_ACCOUNTS="account1:key1:key2;account2:key1:key2"
export AZURITE_ACCOUNTS="account1:key1:key2;account2:key1:key2"
Azurite는 기본적으로 1분마다 환경 변수에서 사용자 지정 계정 이름 및 키를 새로 고칩니다. 이 기능을 사용하면 Azurite를 다시 시작하지 않고 계정 키를 동적으로 회전하거나 새 스토리지 계정을 추가할 수 있습니다.
비고
사용자 지정 스토리지 계정을 설정할 때 기본 devstoreaccount1 스토리지 계정을 사용할 수 없습니다. 사용자 지정 스토리지 계정을 사용하도록 설정한 후에도 계속 사용 devstoreaccount1 하려면 환경 변수의 사용자 지정 계정 및 키 AZURITE_ACCOUNTS 목록에 추가해야 합니다.
계정 키는 base64로 인코딩된 문자열이어야 합니다.
연결 문자열 사용
애플리케이션에서 Azurite에 연결하는 가장 쉬운 방법은 UseDevelopmentStorage=true 바로 가기를 참조하는 애플리케이션의 구성 파일에서 연결 문자열을 구성하는 것입니다. app.config 파일의 연결 문자열 예는 다음과 같습니다.
<appSettings>
<add key="StorageConnectionString" value="UseDevelopmentStorage=true" />
</appSettings>
HTTP 연결 문자열
Azure CLI 2.0 또는 Storage Explorer와 같은 Azure SDK 또는 도구에 다음 연결 문자열을 전달할 수 있습니다.
전체 연결 문자열은 다음과 같습니다.
DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;
특정 서비스에 연결하려면 다음 연결 문자열을 사용할 수 있습니다.
Blob Storage에만 연결하려면 연결 문자열은 다음과 같습니다.
DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
HTTPS 연결 문자열
전체 HTTPS 연결 문자열은 다음과 같습니다.
DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;TableEndpoint=https://127.0.0.1:10002/devstoreaccount1;
특정 서비스에 연결하려면 다음 연결 문자열을 사용할 수 있습니다.
Blob 서비스만 사용하려면 HTTPS 연결 문자열은 다음과 같습니다.
DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;
자체 서명된 인증서를 생성하는 데 사용한 dotnet dev-certs 경우 다음 연결 문자열을 사용합니다.
DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://localhost:10000/devstoreaccount1;QueueEndpoint=https://localhost:10001/devstoreaccount1;TableEndpoint=https://localhost:10002/devstoreaccount1;
사용자 지정 스토리지 계정 및 키를 사용할 때 연결 문자열을 업데이트합니다.
자세한 내용은 Azure Storage 연결 문자열 구성을 참조하세요.
Azure SDK를 사용하여 연결
Azure SDK를 사용하여 Azurite에 연결하려면 다음 단계를 수행합니다.
- 스위치를 통해 Azurite에 OAuth 인증을
--oauth사용하도록 설정합니다. 자세한 내용은 OAuth 구성을 참조하세요. - 및
--key/--pwd옵션을 통해 자체 서명된 인증서를 사용하여 HTTPS를--cert사용하도록 설정합니다. 인증서 생성에 대한 자세한 내용은 HTTPS(인증서 구성) 및 HTTPS 설정을 참조하세요.
인증서가 배치된 후 다음 명령줄 옵션을 사용하여 Azurite를 시작합니다.
azurite --oauth basic --cert cert-name.pem --key cert-name-key.pem
인증서 및 certname-key.pem 키 파일의 이름으로 바꿉 cert-name.pem 니다. PFX 인증서를 사용하는 경우 옵션 대신 --key 옵션을 사용합니다--pwd.
Blob Storage 리소스와 상호 작용하려면 인스턴스BlobServiceClient화하거나 BlobClient인스턴스화BlobContainerClient할 수 있습니다.
다음 예제에서는 DefaultAzureCredential, 연결 문자열 및 공유 키의 세 가지 권한 부여 메커니즘을 사용하여 개체에 권한을 부여하는 BlobContainerClient 방법을 보여 줍니다.
DefaultAzureCredential 에서는 전달자 토큰 기반 인증 메커니즘을 제공하고 인증에 사용되는 자격 증명 형식 체인을 사용합니다. 인증되면 이 자격 증명은 클라이언트 인스턴스화의 일부로 OAuth 토큰을 제공합니다. 자세한 내용은 DefaultAzureCredential 클래스 참조를 참조하세요.
// 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;", "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 Storage Explorer 연결
Storage Explorer를 사용하여 HTTP 또는 HTTPS 프로토콜을 사용하여 Azurite에 저장된 데이터를 볼 수 있습니다.
HTTP를 사용하여 Azurite에 연결
Storage Explorer에서 다음 단계를 수행하여 Azurite에 연결합니다.
- 계정 관리 아이콘 선택
- 계정 추가 선택
- 로컬 에뮬레이터에 연결 선택
- 다음을 선택합니다.
- 표시 이름 필드를 원하는 이름으로 편집
- 다음을 다시 선택합니다.
- 연결 선택
HTTPS를 사용하여 Azurite에 연결
기본적으로 Storage Explorer는 자체 서명된 인증서를 사용하는 HTTPS 엔드포인트를 열지 않습니다. HTTPS로 Azurite를 실행하는 경우 자체 서명된 인증서를 사용할 수 있습니다. Storage Explorer에서 -SSL 인증서 편집 ->>인증서 가져오기 대화 상자를 통해 SSL 인증서를 가져옵니다.
Storage Explorer로 인증서 가져오기
- 로컬 컴퓨터에서 인증서를 찾습니다.
- Storage Explorer에서 -SSL 인증서편집 ->>인증서 가져오기로 이동하여 인증서를 가져옵니다.
인증서를 가져오지 않으면 다음 오류가 발생합니다.
unable to verify the first certificate 또는 self signed certificate in chain
HTTPS 연결 문자열을 통해 Azurite 추가
스토리지 탐색기에 Azurite HTTPS를 추가하려면 다음 단계를 수행합니다.
- 탐색기 설정/해제 선택
- 로컬 연결 선택(&A)
- 스토리지 계정을 마우스 오른쪽 단추로 클릭하고 Azure Storage에 연결을 선택합니다.
- 연결 문자열 사용 선택
- 다음을 선택합니다.
- 표시 이름 필드에 값을 입력합니다.
- 이 문서의 이전 섹션에서 HTTPS 연결 문자열 을 입력합니다.
- 다음을 선택합니다.
- 연결 선택
다음 단계
- Azure Storage 연결 문자열 구성은 유효한 Azure Storage 연결 문자열을 어셈블하는 방법을 설명합니다.
- Azurite를 사용하여 자동화된 테스트를 실행 하면 Azurite 스토리지 에뮬레이터를 사용하여 자동화된 테스트를 작성하는 방법을 설명합니다.
- Azurite로 대체되는 레거시 Azure Storage 에뮬레이터를 개발 및 테스트하는 데 Azure Storage 에뮬레이터를 사용합니다.