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 − 왼쪽 패널에서 대기열을 선택하여 메시지를 추가 및 삭제합니다.