Microsoft Azure-큐
개발자가 사용하는 공통 언어에서 큐는 선입 선출 규칙을 따르는 데이터를 저장하는 데 사용되는 데이터 구조입니다. 데이터 항목은 앞쪽에서 검색되는 동안 대기열 뒤쪽에서 삽입 할 수 있습니다. Azure 큐는 큐에 메시지를 저장하는 데 사용되는 매우 유사한 개념입니다. 보낸 사람이 메시지를 보내고 클라이언트가 메시지를 받아 처리합니다. 메시지에 첨부 된 속성이 거의 없습니다 (예 : 만료 시간).
클라이언트는 일반적으로 메시지를 처리하고 삭제합니다. Windows Azure 서비스를 사용하면 메시지를 7 일 동안 저장할 수 있으며 클라이언트에서 메시지를 삭제하지 않으면 자동으로 삭제됩니다. 하나의 발신자와 하나의 클라이언트 또는 하나의 발신자와 여러 클라이언트 또는 여러 발신자와 여러 클라이언트가있을 수 있습니다.
메시지 큐에 대해 Windows Azure에서 제공하는 두 가지 서비스가 있습니다. 이 장에서는 Windows Azure 대기열을 다룹니다. 다른 서비스는 '서비스 버스 대기열'이라고합니다.
구성 요소를 분리하는 것은 메시지 대기열 서비스의 장점 중 하나입니다. 애플리케이션의 여러 구성 요소간에 메시지를 보낼 수있는 비동기 환경에서 실행됩니다. 따라서 워크 플로 및 작업을 관리하기위한 효율적인 솔루션을 제공합니다. 예를 들어 작업을 완료하라는 메시지가 애플리케이션의 프런트 엔드에서 전송되고 백엔드 작업자가 수신 한 다음 작업을 완료하고 메시지를 삭제합니다.
고려 사항
스토리지 큐의 메시지는 어디에도 복제되지 않습니다. 즉, 메시지 사본이 하나뿐입니다. 처리 할 수있는 최대 메시지 수는 20,000 개입니다. 메시지의 최대 크기는 64KB입니다.
PowerShell을 사용하여 큐 관리
대기열 생성
Step 1− 작업 표시 줄에서 Windows PowerShell을 마우스 오른쪽 버튼으로 클릭합니다. '관리자 권한으로 ISE 실행'을 선택합니다.
Step 2− 다음 명령을 실행하여 계정에 액세스하십시오. 계정의 강조 표시된 부분을 교체하십시오.
$context = New-AzureStorageContext -StorageAccountName tutorialspoint StorageAccountKey
iUZNeeJD+ChFHt9XHL6D5rkKFWjzyW4FhV0iLyvweDi+Xtzfy76juPzJ+mWtDmbqCWjsu/nr+1pqBJj rdOO2+A==
Step 3 − 대기열을 생성하려는 스토리지 계정을 지정합니다.
Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint
Step 4 − 대기열을 생성합니다.
$QueueName = "thisisaqueue"
$Queue = New-AzureStorageQueue –Name $QueueName -Context $Ctx
대기열 검색
$QueueName = "thisisaqueue"
$Queue = Get-AzureStorageQueue –Name $QueueName –Context $Ctx
대기열 삭제
$QueueName = "thisisaqueue"
Remove-AzureStorageQueue –Name $QueueName –Context $Ctx
큐에 메시지 삽입
Step 1 − 귀하의 계정에 로그인하십시오.
$context = New-AzureStorageContext -StorageAccountName tutorialspoint StorageAccountKey
iUZNeeJD+ChFHt9XHL6D5rkKFWjzyW4FhV0iLyvweDi+Xtzfy76juPzJ+mWtDmbqCWjsu/nr+1pqBJj rdOO2+A==
Step 2 − 사용할 스토리지 계정을 지정합니다.
Set-AzureSubscription –SubscriptionName "BizSpark" -CurrentStorageAccount tutorialspoint
Step 3 − 대기열을 검색 한 다음 메시지를 삽입합니다.
$QueueName = "myqueue"
$Queue = Get-AzureStorageQueue -Name $QueueName -Context $ctx
if ($Queue -ne $null) {
$QueueMessage = New-Object -TypeName Microsoft.WindowsAzure.Storage.Queue.CloudQueueMessage
-ArgumentList "my message is this"
$Queue.CloudQueue.AddMessage($QueueMessage)
}
위 스크립트의 'if'조건은 지정된 대기열이 존재하는지 여부를 확인합니다.
대기열에서 다음 메시지 제거
Step 1 − 먼저 위 단계에 표시된 명령을 실행하여 계정에 연결하고 스토리지 계정을 지정합니다.
Step 2 − 대기열을 검색합니다.
$QueueName = "myqueue"
$Queue = Get-AzureStorageQueue -Name $QueueName -Context $ctx
$InvisibleTimeout = [System.TimeSpan]::FromSeconds(10)
Step 3 − 다음 메시지를 대기열에서 빼십시오.
$QueueMessage = $Queue.CloudQueue.GetMessage($InvisibleTimeout)
Step 4 − 대기열에서 빼낸 메시지를 삭제합니다.
$Queue.CloudQueue.DeleteMessage($QueueMessage)
Azure Storage Explorer를 사용하여 큐 관리
Step 1− 오른쪽 상단의 드롭 다운에서 스토리지 계정을 선택합니다. 이전 사용 중에 계정을 추가 한 경우 계정이 표시됩니다. 그렇지 않은 경우 계정을 추가 할 수 있으며 자격 증명을 요청합니다. 로그인하면 Azure Storage Explorer에서 계정에 로그인됩니다.
Step 2 − 다음 그림과 같이 왼쪽 패널에서 'Queues'를 선택하고 'New'를 클릭하여 새 대기열을 추가 할 수 있습니다.
Step 3 − 대기열 이름을 입력하면 스토리지 계정에 생성됩니다.
Step 4 − 왼쪽 패널에서 대기열을 선택하여 메시지를 추가 및 삭제합니다.