Dela via


Så här skapar du dataregister

Kommentar

Azure Maps Data Registry-tjänsten dras tillbaka

Azure Maps Data-registertjänsten är nu inaktuell och kommer att dras tillbaka den 25-09-30. Mer information finns i Meddelande om slut på livslängd för Azure Maps Data Registry.

Med dataregistertjänsten kan du registrera datainnehåll i ett Azure Storage-konto med ditt Azure Maps-konto. Ett exempel på data kan vara 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:
    • {Azure-Maps-Subscription-key}med din Azure Maps-prenumerationsnyckel.
    • {udid} med användardata-ID för ditt dataregister. Mer information finns i Användardata-ID.

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 resursen 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 i avsnittet Inställningar 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 i ditt Azure Storage-konto. Containrar liknar en katalog i ett filsystem, de är hur dina filer ordnas i ditt Azure-lagringskonto.

Följ dessa steg för att skapa en container i Azure Portal:

  1. Från ditt Azure Storage-konto väljer du Containrar från 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-lagringskonto.

  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-tjänstens geografiska omfång.

Kommentar

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 till höger.

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

  4. Markera Lägga 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 hanterade identiteter i dataarkivet och samtidigt tilldela dem rollerna Deltagare och Lagringsblobdataläsare . 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 ditt Azure Maps-datalager direkt i datalagerfönstret.

Kommentar

Varje hanterad identitet som är associerad med datalagringen behöver rollerna Deltagare och Storage Blob Data Reader som tilldelats dem. Kontakta Azure-administratören om du inte har de behörigheter som krävs för att bevilja roller till hanterade identiteter. 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 tilldela roller.

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

  4. Välj både Deltagare och Lagringsblobdataläsare i roller för att tilldela listrutan.

    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 för HTTP-begäran och användardata-ID som skickas i URL:en.

The AzureBlob

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

Property beskrivning
kind Definierar vilken typ av objekt som registreras. För närvarande är AzureBlob den enda typ som stöds.
dataFormat Dataformatet för filen som finns i blobUrl. Dess format kan antingen vara GeoJSON för den rumsliga tjänsten (inaktuell1) eller ZIP för konverteringstjänsten(inaktuell 1).
msiClientId ID:t för den hanterade identitet som används för att skapa dataregistret.
linkedResource ID:t för det datalager som registrerats 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.

1 Azure Maps Creator och dataregistret och spatiala tjänster är nu inaktuella och kommer att dras tillbaka den 30/30/25.

I följande två avsnitt får du 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 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 det ä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 med 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 blobUrl-egenskap.

Användardata-ID

Dataregistrets användardata-ID (udid) är ett användardefinierat GUID som måste följa 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}$

Dricks

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 datalagringen 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).

Kommentar

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 brödtexten i DIN 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"
        }
    }
    

    Kommentar

    När du använder systemtilldelade hanterade identiteter får du ett fel 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 gjort http-begäran 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 udid Användardata-ID.

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

Dricks

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 igen. 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 skapande av dataregister i nästa avsnitt. Den innehåller det åtgärds-ID som används av API:et för get-åtgärden .

Kommentar

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

Kontrollera skapandestatus för dataregister

För att (om du vill) kontrollera statusen för processen för att skapa dataregister 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 description
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 Måste ä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 som AzureBlob contentMD5 egenskap. 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 egenskapen för filen 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.