Fejlesztés az Azure NetApp Filesra a REST API-val

Az Azure NetApp Files szolgáltatás REST API-ja HTTP-műveleteket határoz meg olyan erőforrásokon, mint a NetApp-fiók, a kapacitáskészlet, a kötetek és a pillanatképek. Ez a cikk az Azure NetApp Files REST API használatának első lépéseit ismerteti.

Az Azure NetApp Files REST API-specifikációja

Az Azure NetApp Files REST API-specifikációja a GitHubon keresztül érhető el:

https://github.com/Azure/azure-rest-api-specs/tree/main/specification/netapp/resource-manager

Considerations

  • Az API-korlát túllépésekor a HTTP-válaszkód 429. Például:

    "Microsoft.Azure.ResourceProvider.Common.Exceptions.ResourceProviderException: Error getting Pool. Rate limit exceeded for this endpoint - try again later ---> CloudVolumes.Service.Client.Client.ApiException: Error calling V2DescribePool: {\"code\":429,\"message\":\"Rate limit exceeded for this endpoint - try again later\"}

    Ez a válaszkód szabályozásból vagy átmeneti állapotból származhat. További információ: Azure Resource Manager HTTP 429 válaszkód .

Az Azure NetApp Files REST API elérése

  1. Ha még nem tette meg, telepítse az Azure CLI-t .

  2. Hozzon létre egy egyszerű szolgáltatást a Microsoft Entra-azonosítójában:

    1. Ellenőrizze, hogy rendelkezik-e megfelelő engedélyekkel.

    2. Adja meg a következő parancsot az Azure CLI-ben:

      az ad sp create-for-rbac --name $YOURSPNAMEGOESHERE --role Contributor --scopes /subscriptions/{subscription-id}
      

      A parancs kimenete a következő példához hasonló:

      { 
          "appId": "appIDgoeshere", 
          "displayName": "APPNAME", 
          "name": "http://APPNAME", 
          "password": "supersecretpassword", 
          "tenant": "tenantIDgoeshere" 
      } 
      

      Tartsa meg a parancs kimenetét. Szüksége lesz a appId, passwordés tenant az értékekre.

  3. OAuth hozzáférési jogkivonat kérése:

    A cikkben szereplő példák a cURL-t használják. Különböző API-eszközöket is használhat, például a Postmant, az Álmatlanságot és a Mancsot.

    Cserélje le a következő példában szereplő változókat a fenti 2. lépés parancskimenetére.

    curl -X POST -d 'grant_type=client_credentials&client_id=[APP_ID]&client_secret=[PASSWORD]&resource=https%3A%2F%2Fmanagement.azure.com%2F' https://login.microsoftonline.com/[TENANT_ID]/oauth2/token
    

    A kimenet az alábbi példához hasonló hozzáférési jogkivonatot biztosít:

    eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5iQ3dXMTF3M1hrQi14VWFYd0tSU0xqTUhHUSIsImtpZCI6Im5iQ3dXMTF3M1hrQi14VWFYd0tSU0xqTUhHUSJ9

    A megjelenített jogkivonat 3600 másodpercig érvényes. Ezután új jogkivonatot kell kérnie. Mentse a jogkivonatot egy szövegszerkesztőbe. A következő lépéshez szüksége lesz rá.

  4. Küldjön egy teszthívást, és adja meg a jogkivonatot a REST API-hoz való hozzáférés ellenőrzéséhez:

    curl -X GET -H "Authorization: Bearer [TOKEN]" -H "Content-Type: application/json" https://management.azure.com/subscriptions/[SUBSCRIPTION_ID]/providers/Microsoft.Web/sites?api-version=2022-05-01
    

Példák az API-t használó példákra

Ez a cikk a következő URL-címet használja a kérések alapkonfigurációjára. Ez az URL az Azure NetApp Files névtér gyökerére mutat.

https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts?api-version=2022-05-01

Az alábbi példákban szereplő értékeket cserélje le SUBIDGOESHERERESOURCEGROUPGOESHERE a saját értékeire.

GET-kérelmek – példák

GET kéréssel kérdezheti le az Azure NetApp Files objektumait egy előfizetésben, ahogy az alábbi példák is mutatják:

#get NetApp accounts 
curl -X GET -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json" https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts?api-version=2022-05-01
#get capacity pools for NetApp account 
curl -X GET -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json" https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools?api-version=2022-05-01
#get volumes in NetApp account & capacity pool 
curl -X GET -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json" https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools/CAPACITYPOOLGOESHERE/volumes?api-version=2022-05-01
#get snapshots for a volume 
curl -X GET -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json" https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools/CAPACITYPOOLGOESHERE/volumes/VOLUMEGOESHERE/snapshots?api-version=2022-05-01

PUT-kérések – példák

Put-kéréssel új objektumokat hozhat létre az Azure NetApp Filesban, ahogy az alábbi példák is mutatják. A PUT-kérelem törzse tartalmazhatja a módosítások JSON formátumú adatait. A curl parancsban szövegként vagy hivatkozásként fájlként kell szerepelnie. Ha fájlként szeretné hivatkozni a törzsre, mentse a json-példát egy fájlba, és adja hozzá -d @<filename> a curl parancshoz.

#create a NetApp account  
curl -d @<filename> -X PUT -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json" https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE?api-version=2022-05-01
#create a capacity pool  
curl -d @<filename> -X PUT -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json" https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools/CAPACITYPOOLGOESHERE?api-version=2022-05-01
#create a volume  
curl -d @<filename> -X PUT -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json" https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools/CAPACITYPOOLGOESHERE/volumes/MYNEWVOLUME?api-version=2022-05-01
 #create a volume snapshot  
curl -d @<filename> -X PUT -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json" https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools/CAPACITYPOOLGOESHERE/volumes/MYNEWVOLUME/Snapshots/SNAPNAME?api-version=2022-05-01

JSON-példák

Az alábbi példa bemutatja, hogyan hozhat létre NetApp-fiókot:

{ 
    "name": "MYNETAPPACCOUNT", 
    "type": "Microsoft.NetApp/netAppAccounts", 
    "location": "westus2", 
    "properties": { 
        "name": "MYNETAPPACCOUNT" 
    }
} 

Az alábbi példa bemutatja, hogyan hozhat létre kapacitáskészletet:

{
    "name": "MYNETAPPACCOUNT/POOLNAME",
    "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
    "location": "westus2",
    "properties": {
        "name": "POOLNAME",
        "size": "4398046511104",
        "serviceLevel": "Premium"
    }
}

Az alábbi példa bemutatja, hogyan hozhat létre új kötetet. (A kötet alapértelmezett protokollja az NFSV3.)

{
    "name": "MYNEWVOLUME",
    "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
    "location": "westus2",
    "properties": {
        "serviceLevel": "Premium",
        "usageThreshold": "322122547200",
        "creationToken": "MY-FILEPATH",
        "snapshotId": "",
        "subnetId": "/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.Network/virtualNetworks/VNETGOESHERE/subnets/MYDELEGATEDSUBNET.sn"
         }
}

Az alábbi példa bemutatja, hogyan hozhat létre pillanatképet egy kötetről:

{
    "name": "apitest2/apiPool01/apiVol01/snap02",
    "type": "Microsoft.NetApp/netAppAccounts/capacityPools/Volumes/Snapshots",
    "location": "westus2",
    "properties": {
         "name": "snap02",
        "fileSystemId": "0168704a-bbec-da81-2c29-503825fe7420"
    }
}

Megjegyzés:

A pillanatkép létrehozásához meg kell adnia fileSystemId . Az értéket lekérheti fileSystemId egy kötet get kérésével.

Következő lépések

Tekintse meg az Azure NetApp Files REST API-referenciát