다음을 통해 공유


빠른 시작: PowerShell을 사용하여 스토리지 작업 만들기, 할당 및 실행

이 빠른 시작에서는 Azure PowerShell을 사용하여 스토리지 작업을 만들고 Azure Storage 계정에 할당하는 방법을 알아봅니다. 그런 다음 실행 결과를 검토합니다. 스토리지 작업은 스토리지 계정에 있는 모든 Microsoft Word 문서에 시간 기반 불변성 정책을 적용합니다.

필수 조건

PowerShell 모듈 설치

  1. 최신 버전의 PowerShellGet이 설치되어 있는지 확인합니다.

    Install-Module PowerShellGet -Repository PSGallery -Force
    
  2. PowerShell 콘솔을 닫은 다음 다시 엽니다.

  3. Az.Storage PowerShell 모듈 버전 7.1.1-preview 이상을 설치합니다. 다른 버전의 PowerShell 모듈을 제거해야 할 수도 있습니다. Azure PowerShell을 설치하는 방법에 대한 자세한 내용은 PowerShellGet을 사용하여 Azure PowerShell 설치를 참조하세요.

    Install-Module Az.Storage -Repository PsGallery -RequiredVersion 7.1.1-preview -AllowClobber -AllowPrerelease -Force
    
  4. Az.StorageAction 모듈을 설치합니다.

    Install-Module -Name Az.StorageAction -Repository PSGallery -Force 
    

    PowerShell 모듈 설치 방법에 대한 자세한 내용은 Azure PowerShell 모듈 설치를 참조하세요.

Azure 계정에 로그인

  1. Windows PowerShell 명령 창을 열고 Connect-AzAccount 명령을 실행하여 Azure 계정에 로그인한 다음 화면의 안내에 따라 진행합니다.

    Connect-AzAccount
    
  2. ID가 둘 이상의 구독과 연결되어 있고 구독을 선택하라는 메시지가 표시되지 않는 경우 활성 구독을 작동하려는 스토리지 계정의 구독으로 설정합니다. 이 예제에서는 <subscription-id> 자리 표시자 값을 해당 구독의 ID로 바꿉니다.

    Select-AzSubscription -SubscriptionId <subscription-id>
    

스토리지 태스크 만들기

  1. JSON을 사용하여 조건을 정의합니다. 조건은 하나 이상의 절의 집합입니다. 각 절에는 속성, 값, 연산자가 포함됩니다. 다음 JSON에서 속성은 Name값이며 .docx연산자는 다음과 같습니다 endsWith. 이 절은 Microsoft Word 문서에서만 작업을 허용합니다.

    $conditions = "[[endsWith(Name, '.docx')]]"
    

    속성 및 연산자의 전체 목록은 Storage 작업 조건을 참조하세요.

    팁 (조언)

    동일한 문자열에 여러 조건을 추가하고 쉼표로 구분할 수 있습니다.

  2. 명령을 사용하여 각 작업을 정의합니다 New-AzStorageActionTaskOperationObject .

    다음 작업은 불변성 정책을 설정하는 작업을 만듭니다.

    $policyoperation = New-AzStorageActionTaskOperationObject `
    -Name SetBlobImmutabilityPolicy `
    -Parameter @{"untilDate" = (Get-Date).AddDays(1); "mode" = "locked"} `
    -OnFailure break `
    -OnSuccess continue
    
    

    다음 작업은 Word 문서의 메타데이터에서 Blob 인덱스 태그를 설정합니다.

    $tagoperation = New-AzStorageActionTaskOperationObject -Name SetBlobTags `
    -Parameter @{"tagsetImmutabilityUpdatedBy"="StorageTaskQuickstart"} `
    -OnFailure break `
    -OnSuccess continue
    
  3. 명령을 사용하여 New-AzStorageActionTask 스토리지 작업을 만들고 이전에 정의한 조건 및 작업을 전달합니다. 이 예제에서는 미국 서부 지역의 리소스 그룹에 mystoragetask 명명된 mystoragetaskresourcegroup 스토리지 작업을 만듭니다.

    $task = New-AzStorageActionTask `
    -Name mystoragetask `
    -ResourceGroupName mystoragetaskresourcegroup `
    -Location westus `
    -Enabled `
    -Description 'my powershell storage task' `
    -IfCondition $conditions `
    -IfOperation $policyoperation,$tagoperation `
    -EnableSystemAssignedIdentity:$true
    

할당 만들기

스토리지 작업 할당 은 스토리지 계정을 지정합니다. 스토리지 작업을 사용하도록 설정하면 작업의 조건과 작업이 해당 스토리지 계정에 적용됩니다. 또한 할당에는 특정 Blob을 대상으로 지정하거나 태스크가 실행되는 시기와 빈도를 지정하는 데 도움이 되는 구성 속성이 포함되어 있습니다. 대상으로 지정할 각 계정에 대한 할당을 추가할 수 있습니다.

  1. 명령을 사용하여 스토리지 작업 할당을 만듭니다 New-AzStorageTaskAssignment . 다음 할당은 mycontainer라는 계정의 mystorageaccount 컨테이너를 대상으로 합니다. 이 할당은 태스크가 한 번만 실행되도록 지정하고 실행 보고서를 명명 storage-tasks-report된 폴더에 저장합니다. 작업은 현재 시간부터 10분 후에 실행되도록 예약됩니다.

    $startTime = (Get-Date).AddMinutes(10)   
    
    New-AzStorageTaskAssignment `
    -ResourceGroupName mystoragetaskresourcegroup `
    -AccountName mystorageaccount `
    -name mystoragetaskAssignment `
    -TaskId $task.Id `
    -ReportPrefix "storage-tasks-report" `
    -TriggerType RunOnce `
    -StartOn $startTime.ToUniversalTime() `
    -Description "task assignment" `
    -Enabled:$true `
    -TargetPrefix "mycontainer/"
    
  2. 대상 스토리지 계정에 대한 작업을 수행할 수 있는 스토리지 작업 권한을 부여합니다. 스토리지 작업의 시스템 할당 관리 ID에 Storage Blob Data Owner 역할을 할당하려면 New-AzRoleAssignment 명령을 사용하십시오.

    New-AzRoleAssignment `
    -ResourceGroupName mystoragetaskresourcegroup `
    -ResourceName mystorageaccount `
    -ResourceType "Microsoft.Storage/storageAccounts" `
    -ObjectId $task.IdentityPrincipalId  `
    -RoleDefinitionName "Storage Blob Data Owner"
    

작업 실행 결과 보기

태스크 실행이 완료된 후, Get-AzStorageActionTasksReport 명령을 사용하여 각 할당에 대한 실행 보고서를 요약해서 가져옵니다.

Get-AzStorageActionTasksReport `
-ResourceGroupName mystoragetaskresourcegroup `
-StorageTaskName mystoragetask | Format-List

각 보고서 요약의 필드에는 SummaryReportPath 자세한 보고서의 경로가 포함됩니다. 해당 보고서에는 쉼표로 구분된 컨테이너 목록, Blob 및 상태와 함께 수행된 작업이 포함됩니다.

자원을 정리하세요

만든 자산을 모두 제거합니다. 자산을 제거하는 가장 쉬운 방법은 리소스 그룹을 삭제하는 것입니다. 리소스 그룹을 제거하면 그룹 안에 포함된 모든 리소스가 삭제됩니다. 다음 예제에서 리소스 그룹을 제거하면 스토리지 계정 및 리소스 그룹 자체가 제거됩니다.

Remove-AzResourceGroup -Name $ResourceGroup 

다음 단계

스토리지 태스크 만들기

Microsoft Azure PowerShell 스토리지 작업 cmdlet 참조