Udostępnij za pośrednictwem


Konfigurowanie grupy woluminów aplikacji dla bazy danych Oracle przy użyciu interfejsu API REST

W tym artykule opisano tworzenie grupy woluminów aplikacji (AVG) dla programu Oracle przy użyciu interfejsu API REST. Szczegóły obejmują wybrane parametry i właściwości wymagane do wdrożenia. Artykuł określa również ograniczenia i typowe wartości avg dla tworzenia oracle, jeśli ma to zastosowanie.

Grupa woluminów aplikacji create

W żądaniu create użyj następującego formatu identyfikatora URI:

/subscriptions/<subscriptionId>/providers/Microsoft.NetApp/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.NetApp/netAppAccounts/<accountName>/volumeGroups/<volumeGroupName>?api-version=<apiVersion>

Parametr identyfikatora URI opis Ograniczenia dotyczące programu Oracle AVG
subscriptionId Identyfikator subskrypcji Brak
resourceGroupName Nazwa grupy zasobów Brak
accountName Nazwa konta usługi NetApp Brak
volumeGroupName Nazwa grupy woluminów Zalecany format to <SID>-<Name>

- SID: unikatowy identyfikator. Unikatowy identyfikator systemu Oracle może zawierać wyłącznie znaki alfanumeryczne, łączniki ('-') i podkreślenia ('_'). Musi on zawierać maksymalnie 3 znaki i maksymalnie 12 znaków i musi zaczynać się literą.

- Nazwa: ciąg wybranego elementu.

Przykład: ORA-Testing
apiVersion Wersja interfejsu API Musi być 2023-05-01 lub nowszy

Treść żądania

Treść żądania składa się z parametrów zewnętrznych , właściwości grupy i tablicy woluminów do utworzenia, z których każdy ma mieć poszczególne parametry zewnętrzne i właściwości woluminu.

W poniższej tabeli opisano parametry treści żądania i właściwości na poziomie grupy wymagane do utworzenia wdrożenia Oracle.

Parametr identyfikatora URI opis Ograniczenia dotyczące programu Oracle AVG
Location Region, w którym ma zostać utworzona grupa woluminów aplikacji Brak
Właściwości grupy
groupDescription Opis grupy Ciąg dowolnych formularzy
applicationType Typ aplikacji Używanie programu ORACLE dla programu AVG dla wdrożeń Oracle
applicationIdentifier Ciąg identyfikatora specyficznego dla aplikacji W przypadku oracle ten parametr jest unikatowym identyfikatorem systemu
deploymentSpecId Identyfikator specyfikacji wdrożenia definiujący reguły wdrażania określonego typu grupy woluminów aplikacji Musi być: 10542149-bfca-5618-1879-9863dc6767f1
volumes Tablica woluminów do utworzenia (zobacz następną tabelę, aby uzyskać szczegółowe informacje o woluminie) W ramach wdrożenia oracle może istnieć od 2 do 12 woluminów:

- Wymagane: 1 dane i 1 dziennik

- Opcjonalnie: dane 2-8, mir-log, kopia zapasowa, binarne

W poniższych tabelach opisano parametry treści żądania i właściwości woluminu służące do tworzenia woluminu w grupie woluminów aplikacji Oracle.

Parametr żądania na poziomie woluminu opis Ograniczenia dotyczące bazy danych Oracle
name Nazwa woluminu obejmująca identyfikator SID oracle do identyfikowania bazy danych przy użyciu woluminów w grupie Brak.

Przykłady lub zalecane nazwy woluminów:

- <sid>-ora-data1 (dane)
- <sid>-ora-data2 (dane)
- <sid>-ora-log (dziennik)
- <sid>-ora-log-mirror (mirlog)
- <sid>-ora-binary (binarny)
- <sid>-ora-bakup (kopia zapasowa)
tags Tagi woluminu Brak
zones Strefy dostępności W przypadku programu Oracle AVG:

— Jeśli region ma strefy dostępności, musisz wybrać strefy. Np. strefy (1, 2 lub 3).

— Jeśli region nie ma dostępnych stref, a użycie ppg nie jest włączone, klient może przejść do wdrożenia regionalnego (wymaga aktywacji PPG).

Właściwości woluminu opis Ograniczenia wartości Oracle
creationToken Nazwa ścieżki eksportu zazwyczaj jest taka sama jak nazwa woluminu. <sid>-ora-data1
throughputMibps Przepływność QoS Należy ustawić przepływność na podstawie typu woluminu z zakresu od 1 Mb/s do 4500 Mb/s.
usageThreshold Rozmiar woluminu w bajtach. Ta wartość musi należeć do zakresu od 50 GiB do 100-TiB. Na przykład 100 GiB = 107374182400 bajtów. Należy ustawić rozmiar woluminu w bajtach.
exportPolicyRule Reguła zasad eksportu woluminów Dla programu Oracle musi być określona co najmniej jedna reguła zasad eksportu. Dla programu Oracle można modyfikować tylko następujące wartości reguł. Pozostałe muszą mieć wartości domyślne:

- unixReadOnly: powinien mieć wartość false.

- unixReadWrite: powinien mieć wartość true.

- allowedClients: określ dozwolonych klientów. Nie należy używać żadnych 0.0.0.0/0 ograniczeń.

- hasRootAccess: musi mieć wartość true, aby użyć użytkownika głównego do instalacji.

- chownMode: Określ chown tryb.

- Select nfsv41: or nfsv3:: jak prawda. Zaleca się używanie tej samej wersji protokołu dla wszystkich woluminów.

Wszystkie inne wartości reguły muszą być pozostawione domyślnie.
volumeSpecName Określa typ woluminu dla tworzonej grupy woluminów aplikacji Woluminy Oracle muszą mieć wartość jedną z następujących wartości:

- ora-data1
- ora-data2
- ora-data3
- ora-data4
- ora-data5
- ora-data6
- ora-data7
- ora-data8
- ora-log
- ora-log-mirror
- ora-binary
- ora-backup
proximityPlacementGroup Identyfikator zasobu grupy umieszczania w pobliżu (PPG) w celu odpowiedniego umieszczania woluminu. Ten parametr jest opcjonalny. Jeśli region ma dostępne strefy, użycie stref jest zawsze priorytetem. Woluminy data, log i ora-binary mirror-logi backup muszą mieć określoną grupę PPG, najlepiej wspólną grupę PPG.
subnetId Identyfikator delegowanej podsieci dla usługi Azure NetApp Files. Identyfikator podsieci musi być taki sam dla wszystkich woluminów.
capacityPoolResourceId Identyfikator puli pojemności Pula pojemności musi być typu ręczne QoS. Ogólnie rzecz biorąc, wszystkie woluminy Oracle są umieszczane w wspólnej puli pojemności. Nie jest to jednak wymagane.
protocolTypes Protokół do użycia Ten parametr powinien mieć wartość NFSv3 lub NFSv4.1 i powinien być zgodny z protokołem określonym w regule zasad eksportu opisanych wcześniej w tej tabeli.

Przykłady: grupa woluminów aplikacji dla zawartości żądania interfejsu API Oracle

Przykłady w tej sekcji ilustrują wartości przekazane w żądaniu tworzenia grupy woluminów dla różnych konfiguracji Oracle. W przykładach przedstawiono najlepsze rozwiązania dotyczące nazewnictwa, określania rozmiaru i wartości zgodnie z opisem w tabelach.

W poniższych przykładach określono wybrane symbole zastępcze. Należy zastąpić je wartościami specyficznymi dla konfiguracji. Te wartości obejmują:

  • <SubscriptionId>:
    Identyfikator subskrypcji. Przykład: aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
  • <ResourceGroup>:
    Grupa zasobów. Przykład: TestResourceGroup
  • <NtapAccount>:
    Konto usługi NetApp. Przykład: TestAccount
  • <VolumeGroupName>:
    Nazwa grupy woluminów. Przykład: SH9-Test-00001
  • <SubnetId>:
    Identyfikator zasobu podsieci. Przykład: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/SH9_Subnet
  • <CapacityPoolResourceId>:
    Identyfikator zasobu puli pojemności. Przykład: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/SH9_Pool

Tworzenie grup woluminów aplikacji dla programu Oracle przy użyciu narzędzia curl

Grupy woluminów Oracle dla następujących przykładów można utworzyć przy użyciu przykładowego skryptu powłoki, który wywołuje interfejs API przy użyciu narzędzia curl:

  1. Wyodrębnij identyfikator subskrypcji. To polecenie automatyzuje wyodrębnianie identyfikatora subskrypcji i generuje token autoryzacji:
    subId=$(az account list | jq ".[] | select (.name == \"Pay-As-You-Go\") | .id" -r)echo "Subscription ID: $subId" 
    
  2. Utwórz token dostępu:
    response=$(az account get-access-token)token=$(echo $response | jq ".accessToken" -r)echo "Token: $token" 
    
  3. Wywołaj interfejs API REST przy użyciu narzędzia curl:
    echo "---"curl -X PUT -H "Authorization: Bearer $token" -H "Content-Type:application/json" -H "Accept:application/json" -d @<ExampleJson> https://management.azure.com/subscriptions/$subId/resourceGroups/<ResourceGroup>/providers/Microsoft.NetApp/netAppAccounts/<NtapAccount>/volumeGroups/<VolumeGroupName>?api-version=2023-05-01 | jq . 
    

Przykład: grupa woluminów aplikacji dla żądania utworzenia oracle

W tym przykładzie zostanie utworzona nazwa grupy woluminów "group1" z następującymi woluminami:

  • test-ora-data1
  • test-ora-data2
  • test-ora-data3
  • test-ora-data4
  • test-ora-data5
  • test-ora-data6
  • test-ora-data7
  • test-ora-data8
  • test-ora-log
  • test-ora-log-mirror
  • test-ora-binary
  • test-ora-backup

Zapisz szablon JSON jako sh9.json:

Uwaga

Symbole zastępcze i <CapacityPoolResourceId> muszą zostać zastąpione<SubnetId>, a dane woluminu muszą zostać dostosowane podczas korzystania z tego json szablonu dla własnego wdrożenia.

{ 
      "location": "westus", 
      "properties": { 
        "groupMetaData": { 
          "groupDescription": "Volume group", 
          "applicationType": "ORACLE", 
          "applicationIdentifier": "OR2" 
        }, 
        "volumes": [ 
          { 
            "name": "test-ora-data1", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": " OR2-ora-data1", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-data1", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": "test-ora-data2", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": " OR2-ora-data2", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-data2", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": "test-ora-data3", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": " OR2-ora-data3", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-data3", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": "test-ora-data4", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": " OR2-ora-data4", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-data4", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": " OR2-ora-data5", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": "test-ora-data5", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-data5", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": " OR2-ora-data6", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": "test-ora-data6", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-data6", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": " OR2-ora-data7", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": "test-ora-data7", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-data7", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": " OR2-ora-data8", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": "test-ora-data8", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-data8", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": " OR2-ora-log", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": "test-ora-log", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-log", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": " OR2-ora-log-mirror", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": "test-ora-log-mirror", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-log-mirror", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": " OR2-ora-binary", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": "test-ora-binary", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-binary", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ] 
            } 
          }, 
          { 
            "name": " OR2-ora-backup", 
            "zones": [ 
              "1" 
            ], 
            "properties": { 
              "creationToken": "test-ora-backup", 
              "serviceLevel": "Premium", 
              "throughputMibps": 10, 
              "subnetId": <SubnetId>, 
              "usageThreshold": 107374182400, 
              "volumeSpecName": "ora-backup", 
              "capacityPoolResourceId": <CapacityPoolResourceId>, 
              "exportPolicy": { 
                "rules": [ 
                  { 
                    "ruleIndex": 1, 
                    "unixReadOnly": true, 
                    "unixReadWrite": true, 
                    "kerberos5ReadOnly": false, 
                    "kerberos5ReadWrite": false, 
                    "kerberos5iReadOnly": false, 
                    "kerberos5iReadWrite": false, 
                    "kerberos5pReadOnly": false, 
                    "kerberos5pReadWrite": false, 
                    "cifs": false, 
                    "nfsv3": false, 
                    "nfsv41": true, 
                    "allowedClients": "0.0.0.0/0", 
                    "hasRootAccess": true 
                  } 
                ] 
              }, 
              "protocolTypes": [ 
                "NFSv4.1" 
              ]
            }
          }
        ]
      }
    }
  }
}

Dostosowywanie i uruchamianie skryptu

Uwaga

Ten plik wejściowy json powinien być teraz używany z powyższym skryptem.

#! /bin/bash
# 1. Extract the subscription ID:
#
subId=$(az account list | jq ".[] | select (.name == \"Pay-As-You-Go\") | .id" -r)
echo "Subscription ID: $subId"
 
#
# 2. Create the access token:
#
response=$(az account get-access-token)
token=$(echo $response | jq ".accessToken" -r)
echo "Token: $token"
#
# 3. Call the REST API using curl
# 
echo "---"
curl -X PUT -H "Authorization: Bearer $token" -H "Content-Type:application/json" -H "Accept:application/json" -d @sh9.json https://management.azure.com/subscriptions/$subId/resourceGroups/rg-westus/providers/Microsoft.NetApp/netAppAccounts/ANF-WestUS-test/volumeGroups/test-ORA?api-version=2022-03-01 | jq .

Przykładowy wynik

Uwaga

Przy użyciu | jq . na końcu wywołania curl zwrócony kod json jest poprawnie sformatowany.

{
        "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1",
        "name": "group1",
        "type": "Microsoft.NetApp/netAppAccounts/volumeGroups",
        "location": "westus",
        "properties": {
          "provisioningState": "Creating",
          "groupMetaData": {
            "groupDescription": "Volume group",
            "applicationType": "ORACLE",
            "applicationIdentifier": "OR2"
          },
          "volumes": [
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data1",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-data1",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-data1",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-data1",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data2",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-data2",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-data2",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-data2",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data3",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-data3",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-data3",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-data3",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data4",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-data4",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-data4",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-data4",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data5",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-data5",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-data5",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-data5",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data6",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-data6",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-data6",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-data6",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data7",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-data7",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-data7",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-data7",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data8",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-data8",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-data8",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-data8",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-log",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-log",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-log",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-log",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-log-mirror",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-log-mirror",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-log-mirror",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-log-mirror",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-binary",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-binary",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-binary",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-binary",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            },
            {
              "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-backup",
              "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
              "name": "test-ora-backup",
              "zones": [
                "1"
              ],
              "properties": {
                "throughputMibps": 10.0,
                "volumeSpecName": "ora-backup",
                "serviceLevel": "Premium",
                "creationToken": "test-ora-backup",
                "usageThreshold": 107374182400,
                "subnetId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
                "exportPolicy": {
                  "rules": [
                    {
                      "ruleIndex": 1,
                      "unixReadOnly": true,
                      "unixReadWrite": true,
                      "kerberos5ReadOnly": false,
                      "kerberos5ReadWrite": false,
                      "kerberos5iReadOnly": false,
                      "kerberos5iReadWrite": false,
                      "kerberos5pReadOnly": false,
                      "kerberos5pReadWrite": false,
                      "cifs": false,
                      "nfsv3": false,
                      "nfsv41": true,
                      "allowedClients": "0.0.0.0/0",
                      "hasRootAccess": true
                    }
                  ]
                },
                "protocolTypes": [
                  "NFSv4.1"
                ]
              }
            }
          ]
        }
      }
    }
  }
}

Następne kroki