Så här skapar du dataregister

Med dataregistertjänsten kan du registrera datainnehåll i ett Azure Storage-konto med ditt Azure Maps-konto. Ett exempel på data kan innehålla en samling Geofences som används i Azure Maps Geofencing-tjänsten. Ett annat exempel är ZIP-filer som innehåller ritningspaket (DWG) eller GeoJSON-filer som Azure Maps Creator använder för att skapa eller uppdatera inomhuskartor.

Förutsättningar

Viktigt

  • Den här artikeln använder den us.atlas.microsoft.com geografiska URL:en. Om ditt konto inte har skapats i USA måste du använda en annan geografisk URL. Mer information finns i Åtkomst till Creator-tjänster.
  • I URL-exemplen i den här artikeln måste du ersätta:

Förbereda för att registrera data i Azure Maps

Innan du kan registrera data i Azure Maps måste du skapa en miljö som innehåller alla nödvändiga komponenter. Du behöver ett lagringskonto med en eller flera containrar som innehåller de filer som du vill registrera och hanterade identiteter för autentisering. Det här avsnittet beskriver hur du förbereder din Azure-miljö för att registrera data i Azure Maps.

Skapa hanterade identiteter

Det finns två typer av hanterade identiteter: systemtilldelade och användartilldelade. Systemtilldelade hanterade identiteter har sin livscykel kopplad till den resurs som skapade dem. Användartilldelade hanterade identiteter kan användas på flera resurser. Mer information finns i Hanterade identiteter för Azure-resurser.

Använd följande steg för att skapa en hanterad identitet och lägg till den i ditt Azure Maps-konto.

Skapa en systemtilldelad hanterad identitet:

  1. Gå till ditt Azure Maps-konto i Azure Portal.
  2. Välj Identitet på den vänstra menyn.
  3. Växla Status till .

Mer information finns i Hanterade identiteter för Azure-resurser.

Skapa en container och ladda upp datafiler

Innan du lägger till filer i ett dataregister måste du ladda upp dem till en container på ditt Azure Storage-konto. Containrar liknar en katalog i ett filsystem. Det är så dina filer organiseras i ditt Azure Storage-konto.

Så här skapar du en container i Azure Portal:

  1. Från ditt Azure Storage-konto väljer du Containrar i avsnittet Datalagring i navigeringsfönstret.

  2. Välj + Container i fönstret Containrar för att öppna fönstret Ny container .

  3. Välj Skapa för att skapa containern.

    En skärmbild av den nya containersidan i ett Azure Storage-konto.

    När containern har skapats kan du ladda upp filer till den.

  4. När containern har skapats väljer du den.

    En skärmbild som visar den nya containern som just skapats i ett Azure Storage-konto.

  5. Välj Ladda upp i verktygsfältet och välj en eller flera filer

  6. Välj knappen Ladda upp.

    En skärmbild av sidan ladda upp blob när du skapar en container.

Lägga till ett datalager

När du har skapat ett Azure Storage-konto med filer som laddats upp till en eller flera containrar är du redo att skapa det datalager som länkar lagringskontona till ditt Azure Maps-konto.

Viktigt

Alla lagringskonton som är länkade till ett Azure Maps konto måste finnas på samma geografiska plats. Mer information finns i Azure Maps geografiska omfånget för tjänsten.

Anteckning

Om du inte har något lagringskonto kan du läsa Skapa ett lagringskonto.

  1. Välj Datalager på den vänstra menyn i ditt Azure Maps-konto.

  2. Välj knappen Lägg till. Skärmen Lägg till datalager visas på höger sida.

  3. Ange önskat datalager-ID och välj sedan Prenumerationsnamn och Lagringskonto i listrutorna.

  4. Välj Lägg till.

    En skärmbild som visar skärmen Lägg till datalager.

Det nya dataarkivet visas nu i listan över datalager.

Tilldela roller till hanterade identiteter och lägg till dem i datalagringen

När dina hanterade identiteter och datalager har skapats kan du lägga till de hanterade identiteterna i datalagringen och samtidigt tilldela dem rollerna Deltagare och Storage Blob Data Reader . Även om det är möjligt att lägga till roller i dina hanterade identiteter direkt i dina hanterade identiteter eller lagringskonto, vilket du enkelt kan göra samtidigt som du kopplar dem till din Azure Maps datalager direkt i datalagerfönstret.

Anteckning

Varje hanterad identitet som är associerad med datalagringen behöver rollerna Deltagare och Storage Blob Data Reader . Om du inte har de behörigheter som krävs för att bevilja roller till hanterade identiteter kontaktar du Azure-administratören. Så här tilldelar du roller till dina hanterade identiteter och associerar dem med ett datalager:

  1. Välj Datalager på den vänstra menyn i ditt Azure Maps-konto.

  2. Välj ett eller flera datalager i listan och sedan Tilldela roller.

  3. Välj den hanterade identitet som ska associeras med de valda datalager i listrutan.

  4. Välj både Deltagare och Storage Blob Data Reader i listrutan Roller för att tilldela .

    En skärmbild som visar skärmen tilldela roller till datalager.

  5. Välj knappen Tilldela .

Egenskaper för dataregister

När ett datalager har skapats i ditt Azure Maps-konto är du redo att samla in de egenskaper som krävs för att skapa dataregistret.

Det finns de AzureBlob-egenskaper som du skickar i brödtexten i HTTP-begäran och användardata-ID :t som skickas i URL:en.

The AzureBlob

AzureBlob är ett JSON-objekt som definierar egenskaper som krävs för att skapa dataregistret.

Egenskap Beskrivning
kind Definierar vilken typ av objekt som registreras. För närvarande är AzureBlob den enda typen som stöds.
dataFormat Dataformatet för filen som finns i blobUrl. Formatet kan antingen vara GeoJSON för den rumsliga tjänsten eller ZIP för konverteringstjänsten.
msiClientId ID:t för den hanterade identitet som används för att skapa dataregistret.
linkedResource ID:t för det datalager som är registrerat i Azure Maps-kontot.
Datalagringen innehåller en länk till filen som registreras.
blobUrl En URL som pekar på Platsen för AzurebBlob, filen som importerats till containern.

Följande två avsnitt innehåller information om hur du hämtar de värden som ska användas för egenskaperna msiClientId och blobUrl .

Egenskapen msiClientId

Egenskapen msiClientId är ID:t för den hanterade identitet som används för att skapa dataregistret. Det finns två typer av hanterade identiteter: systemtilldelade och användartilldelade. Systemtilldelade hanterade identiteter har sin livscykel kopplad till resursen som skapade dem. Användartilldelade hanterade identiteter kan användas på flera resurser. Mer information finns i Hanterade identiteter för Azure-resurser.

När du använder systemtilldelade hanterade identiteter behöver du inte ange något värde för msiClientId egenskapen. Dataregistertjänsten använder automatiskt den systemtilldelade identiteten för Azure Maps-kontot när msiClientId är null.

Egenskapen blobUrl

Egenskapen blobUrl är sökvägen till filen som registreras. Du kan hämta det här värdet från containern som det lades till i. dataregister

  1. Välj ditt lagringskonto i Azure Portal.

  2. Välj Containrar på den vänstra menyn.

  3. En lista över containrar visas. Välj den container som innehåller den fil som du vill registrera.

  4. Containern öppnas och visar en lista över de filer som tidigare laddats upp.

  5. Välj önskad fil och kopiera sedan URL:en.

    En skärmbild som visar hur du väljer den URL som används som egenskapen blobUrl.

Användardata-ID

Dataregistrets användardata-ID (udid) är ett användardefinierat GUID som måste överensstämma med följande Regex-mönster:

^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

Tips

udid är ett användardefinierat GUID som måste anges när du skapar ett dataregister. Om du vill vara säker på att du har en globalt unik identifierare (GUID) kan du skapa den genom att köra ett GUID-genereringsverktyg som Guidgen.exe kommandoradsprogram (tillgängligt med Visual Studio).

Skapa ett dataregister

Nu när du har ditt lagringskonto med önskade filer länkade till ditt Azure Maps-konto via datalagret och har samlat in alla nödvändiga egenskaper är du redo att använda dataregister-API:et för att registrera dessa filer. Om du har flera filer i ditt Azure Storage-konto som du vill registrera måste du köra registerbegäran för varje fil (udid).

Anteckning

Den maximala storleken på en fil som kan registreras med ett Azure Maps datalager är en gigabyte.

Så här skapar du ett dataregister:

  1. Ange den information som behövs för att referera till lagringskontot som läggs till i dataregistret i http-begäran. Informationen måste vara i JSON-format och innehålla följande fält:

    {
    "kind": "AzureBlob",
        "azureBlob": {
            "dataFormat": "geojson",
            "linkedResource": "{datastore ID}",
            "blobUrl": "https://teststorageaccount.blob.core.windows.net/testcontainer/test.geojson"
        }
    }
    

    Anteckning

    När du använder systemtilldelade hanterade identiteter får du ett felmeddelande om du anger ett värde för egenskapen msiClientId i DIN HTTP-begäran.

    Mer information om de egenskaper som krävs i HTTP-begärandetexten finns i Egenskaper för dataregister.

  2. När du har http-begärans brödtext klar kör du följande HTTP PUT-begäran:

    https://us.atlas.microsoft.com/dataRegistries/{udid}?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Subscription-key} 
    
    

    Mer information om egenskapen finns i udidAnvändardata-ID.

  3. Kopiera värdet för nyckeln Operation-Location från svarshuvudet.

Tips

Om innehållet i en tidigare registrerad fil ändras misslyckas dataverifieringen och kan inte användas i Azure Maps förrän den har registrerats på nytt. Om du vill registrera om en fil kör du registerbegäran igen och skickar samma AzureBlob som användes för att skapa den ursprungliga registreringen. Värdet för nyckeln Operation-Location är status-URL :en som du ska använda för att kontrollera statusen för att skapa dataregistret i nästa avsnitt. Det innehåller åtgärds-ID:t som används av API:et För att hämta åtgärd .

Anteckning

Värdet för nyckeln Operation-Location innehåller inte . subscription-keyDu måste lägga till den i begärande-URL:en när du använder den för att kontrollera statusen för att skapa dataregistret.

Kontrollera statusen för att skapa dataregistret

Om du vill (om du vill) kontrollera statusen för processen för att skapa dataregistret anger du status-URL:en som du kopierade i avsnittet Skapa ett dataregister och lägger till din prenumerationsnyckel som en frågesträngsparameter. Begäran bör se ut ungefär så här:

https://us.atlas.microsoft.com/dataRegistries/operations/{udid}?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Primary-Subscription-key}

Hämta en lista över alla filer i dataregistret

Använd listbegäran för att hämta en lista över alla filer som är registrerade i ett Azure Maps konto:

https://us.atlas.microsoft.com/dataRegistries?api-version=2023-06-01&subscription-key={Azure-Maps-Subscription-key}

Följande exempel visar tre möjliga statusar, slutförda, körs och misslyckades:

{
  "value": [
    {
      "udid": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
      "description": "Contoso Indoor Design",
      "kind": "AzureBlob",
      "azureBlob": {
        "dataFormat": "zip",
        "msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
        "linkedResource": "my-storage-account",
        "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path1.zip",
        "sizeInBytes": 29920,
        "contentMD5": "CsFxZ2YSfxw3cRPlqokV0w=="
      },
      "status": "Completed"
    },
    {
      "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c",
      "kind": "AzureBlob",
      "azureBlob": {
        "dataFormat": "geojson",
        "msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
        "linkedResource": "my-storage-account",
        "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path2.geojson",
        "sizeInBytes": 1339
      },
      "status": "Running"
    },
    {
      "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c",
      "description": "Contoso Geofence GeoJSON",
      "kind": "AzureBlob",
      "azureBlob": {
        "dataFormat": "geojson",
        "linkedResource": "my-storage-account",
        "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path3.geojson",
        "sizeInBytes": 1650,
        "contentMD5": "rYpEfIeLbWZPyaICGEGy3A=="
      },
      "status": "Failed",
      "error": {
        "code": "ContentMD5Mismatch",
        "message": "Actual content MD5: sOJMJvFParkSxBsvvrPOMQ== doesn't match expected content MD5: CsFxZ2YSfxw3cRPlqokV0w==."
      }
    }
  ]
}

De data som returneras när listbegäran körs liknar de data som tillhandahålls när du skapar ett register med några tillägg:

egenskap beskrivning
contentMD5 MD5-hash som skapats från innehållet i filen som registreras. Mer information finns i Dataverifiering
sizeInBytes Storleken på innehållet i byte.

Ersätt ett dataregister

Om du behöver ersätta en tidigare registrerad fil med en annan fil kör du registerbegäran igen och skickar samma AzureBlob som användes för att skapa den ursprungliga registreringen, förutom blobUrl. BlobUrl Behöver ändras för att peka på den nya filen.

Datavalidering

När du registrerar en fil i Azure Maps med hjälp av dataregister-API:et skapas en MD5-hash från innehållet i filen, koda den till ett 128-bitars fingeravtryck och spara den i AzureBlob som contentMD5 -egenskapen. MD5-hashen som lagras i contentMD5 egenskapen används för att säkerställa filens dataintegritet. Eftersom MD5-hashalgoritmen alltid genererar samma utdata med samma indata kan dataverifieringsprocessen jämföra contentMD5 filens egenskap när den registrerades mot en hash för filen i Azure Storage-kontot för att kontrollera att den är intakt och oförändrad. Om hashen inte är densamma misslyckas verifieringen. Om filen i det underliggande lagringskontot ändras misslyckas verifieringen. Om du behöver ändra innehållet i en fil som har registrerats i Azure Maps måste du registrera den igen.