Udostępnij za pośrednictwem


Szybki start: tworzenie, przypisywanie i uruchamianie zadania przechowywania przy użyciu Azure CLI

Z tego szybkiego startu dowiesz się, jak użyć Azure CLI, aby utworzyć zadanie magazynowania i przypisać do konta usługi Azure Storage. Następnie przejrzysz wyniki przebiegu. Zadanie magazynu stosuje politykę niezmienności opartą na czasie do wszystkich dokumentów programu Microsoft Word, które istnieją na koncie magazynu.

Wymagania wstępne

  • Subskrypcja platformy Azure. Zobacz Tworzenie konta bezpłatnie.

  • Konto usługi Azure Storage. Zobacz Tworzenie konta magazynu. Podczas tworzenia konta upewnij się, że włączono obsługę niezmienności na poziomie wersji i że nie włączono funkcji hierarchicznej przestrzeni nazw.

    W publicznej wersji można kierować tylko konta magazynu, które znajdują się w tym samym regionie co zadania magazynu.

  • Rola Właściciel danych obiektu blob usługi Storage jest przypisywana do tożsamości użytkownika w kontekście konta magazynu lub grupy zasobów.

  • Niestandardowa rola przypisana do tożsamości użytkownika w kontekście grupy zasobów zawierająca akcje RBAC, które są niezbędne do przypisania zadania do konta magazynowego. Zobacz Uprawnienia wymagane do przypisania zadania.

Przygotuj swoje środowisko dla Azure CLI

  • Ten artykuł wymaga wersji 2.57.0 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.

Zaloguj się do swojego konta platformy Azure

  1. Zaloguj się do konta Azure przy użyciu polecenia az login.

    az login
    

    Jeśli interfejs wiersza polecenia może otworzyć domyślną przeglądarkę, zrobi to i załaduje stronę logowania platformy Azure.

    W przeciwnym razie otwórz stronę przeglądarki pod https://aka.ms/devicelogin adresem i wprowadź kod autoryzacji wyświetlany w terminalu. Następnie zaloguj się, używając danych logowania do konta w przeglądarce.

  2. Jeśli twoja tożsamość jest skojarzona z więcej niż jedną subskrypcją i nie zostaniesz poproszony o wybranie subskrypcji, ustaw swoją aktywną subskrypcję na subskrypcję konta magazynowego, na którym chcesz pracować. W tym przykładzie zamień symbol zastępczy <subscription-id> na identyfikator swojej subskrypcji.

    az account set --subscription <subscription-id>
    

Utwórz zadanie magazynu

  1. Zdefiniuj warunek przy użyciu formatu JSON. Warunek to zbiór jednego lub więcej zdań warunkowych. Każda klauzula zawiera właściwość, wartość i operator. W poniższym kodzie JSON właściwość to Name, wartość to .docx, a operatorem jest endsWith. Ta klauzula umożliwia wykonywanie operacji tylko w dokumentach programu Microsoft Word. Aby dowiedzieć się więcej o strukturze warunków i pełnej liście właściwości i operatorów, zapoznaj się z Warunkami zadań magazynowania.

    conditionclause="[[endsWith(Name,'/.docx'/)]]"
    

Uwaga / Notatka

Interfejs wiersza polecenia platformy Azure używa składni skróconej. Składnia skrócona to uproszczona reprezentacja ciągu JSON. Aby dowiedzieć się więcej, zobacz How to use shorthand syntax with Azure CLI (Jak używać składni skróconej z interfejsem wiersza polecenia platformy Azure).

  1. Zdefiniuj każdą operację. W poniższym przykładzie zdefiniowano operację, która ustawia zasady niezmienności oraz operację ustawiającą tag indeksu obiektów blob w metadanych dokumentu programu Word.

    policyoperation="{name:'SetBlobImmutabilityPolicy',parameters:{untilDate:'2024-10-20T22:30:40',mode:'locked'},onSuccess:'continue',onFailure:'break'}"
    tagoperation="{name:'SetBlobTags',parameters:{'tagsetImmutabilityUpdatedBy':'StorageTaskQuickstart'},onSuccess:'continue',onFailure:'break'}"
    action="{if:{condition:'"${conditionclause}"',operations:/["${policyoperation}","${tagoperation}"]}}"
    
  2. Utwórz zadanie magazynowania przy użyciu polecenia az storage-actions task create, i przekaż wcześniej zdefiniowane warunki oraz operacje. W tym przykładzie jest tworzone zadanie magazynu o nazwie mystoragetask w grupie zasobów mystoragetaskresourcegroup w regionie Zachodniego USA.

    az storage-actions task create \
       -g mystoragetaskresourcegroup \
       -n mystoragetask \
       --identity "{type:SystemAssigned}" \ 
       --action "{if:{condition:'"${conditionclause}"',operations:["${policyoperation}","${tagoperation}"]}}" \
       --description "My storage task" --enabled true
    

Dodaj zadanie

Zadanie magazynowania przypisuje konto magazynu. Po włączeniu zadania magazynu warunki i operacje zadania zostaną zastosowane do tego konta magazynu. Przypisanie zawiera również właściwości konfiguracji, które pomagają w określeniu konkretnych obiektów blob, lub w ustaleniu, kiedy i jak często zadanie ma być uruchamiane. Możesz dodać przypisanie dla każdego konta, które ma być docelowe.

  1. Utwórz przypisanie zadania magazynu, używając polecenia az storage account task-assignment create. Następujące przypisanie jest przeznaczone dla mycontainer kontenera konta o nazwie mystorageaccount. To przypisanie określa, że zadanie zostanie uruchomione tylko raz i zapisze raporty wykonywania w folderze o nazwie storage-tasks-report. Zadanie jest zaplanowane do uruchomienia 10 minut od chwili obecnej.

    id=$(az storage-actions task show -g mystoragetaskresourcegroup -n mystoragetask --query "id") 
    current_datetime=$(date +"%Y-%m-%dT%H:%M:%S")
    executioncontextvariable="{target:{prefix:[mycontainer/],excludePrefix:[]},trigger:{type:'RunOnce',parameters:{startOn:'"${current_datetime}"'}}}"
    
    az storage account task-assignment create \
       -g mystoragetaskresourcegroup \
       -n mystoragetaskassignment \
       --account-name mystorageaccount \
       --description 'My Storage task assignment' \
       --enabled false \
       --task-id $id \
       --execution-context $executioncontextvariable \
       --report "{prefix:storage-tasks-report}"
    
  2. Nadaj zadaniu przechowywania uprawnienie do wykonywania operacji na docelowym koncie przechowywania. Przypisz rolę Storage Blob Data Owner do tożsamości zarządzanej przypisanej przez system dla zadania magazynowego.

    $roleDefinitionId="b7e6dc6d-f1e8-4753-8033-0f276bb0955b" \
    $principalID=az storage-actions task show -g mystoragetaskresourcegroup -n mystoragetask --query "identity.principalId"
    $storageAccountID=az storage account show --name mystorageaccount --resource-group mystoragetaskresourcegroup --query "id"
    
    az role assignment create \
       --assignee-object-id $principalID \
       --scope $storageAccountID \
       --role $roleDefinitionId \
       --description "My role assignment" 
    

Wyświetlanie wyników przebiegu zadania

Po zakończeniu wykonywania procesu pobierz podsumowanie raportu z przebiegu dla każdego przypisania przy użyciu polecenia blah.

az storage account task-assignment list-report \
   --account-name mystorageaccount \
   --resource-group mystoragetaskresourcegroup \
   --name mystoragetaskassignment

Pole SummaryReportPath każdego podsumowania raportu zawiera ścieżkę do szczegółowego raportu. Ten raport zawiera listę rozdzieloną przecinkami z kontenerem, obiektem blob i wykonaną operacją wraz ze statusem.

Uprzątnij zasoby

Usuń wszystkie utworzone zasoby. Najprostszym sposobem usunięcia elementów zawartości jest usunięcie grupy zasobów. Usunięcie grupy zasobów spowoduje także usunięcie wszystkich zasobów uwzględnionych w tej grupie. W poniższym przykładzie usunięcie grupy zasobów powoduje usunięcie konta magazynu i samej grupy zasobów.

az group delete \
   --name <resource-group> \
   --no-wait

Dalsze kroki

Utwórz zadanie magazynowe