Administrer og opdater materialiserede søvisninger i Fabric med API'er

Microsoft Fabric REST API'er gør det muligt at administrere og opdatere materialized lake views (MLV'er) programmatisk. Du kan automatisere opfriskningsoperationer for slægtslinjen og integrere dem med andre værktøjer og systemer.

Forudsætninger

Før du bruger rest-API'er til materialiserede visninger af søen, skal du fuldføre disse forudsætninger:

  • Registrer en applikation hos Microsoft Entra ID med passende identitet. Erhverv et adgangstoken med passende scopes og send det i Authorization headeren på hver forespørgsel.
  • Erstat pladsholderne, herunder {WORKSPACE_ID} og {LAKEHOUSE_ID} med passende WorkspaceId og LakehouseId. For at finde disse ID'er, åbn søhuset i Fabric-portalen — URL'en indeholder begge: https://app.fabric.microsoft.com/groups/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}. Alternativt kan du liste arbejdsområder og søhuse ved hjælp af Fabric REST API'er for at få adgang til dem programmatisk.

Følgende jobplanlægger-handlinger er tilgængelige for materialiserede søudsigter.

Action Description
Opret opdateringsplan for MLV Lav en plan for periodisk opdatering af MLV'er.
Få skema for MLV Få detaljer om en eksisterende opdateringsplan.
Liste over kampprogrammer for MLV Lav en liste over alle opdateringsplaner.
Opdater opdateringsplan for MLV Opdater en eksisterende opdateringsplan.
Slet opdateringsskema for MLV Slet en opdateringsplan.
Kør On Demand-opdatering for MLV'er Kør en øjeblikkelig opdatering af MLV'er.
List jobinstanser for MLV List alle opdateringsjobinstanser.
Få oplysninger om jobinstanser for MLV Få oplysninger om et specifikt opdateringsjob, såsom status.
Annuller jobinstans for MLV Annuller et igangværende opdateringsjob.

For mere information, se jobplanlægger, hvor {item} ligger Lakehouse og {jobType} er RefreshMaterializedLakeViews.

En MLV-eksekveringsdefinition er en gemt konfiguration, der angiver, hvilke materialiserede søudsigter der skal opdateres, hvilke opstrøms søhuse der skal inkluderes, og hvilken opdateringstilstand og Spark-miljø der skal bruges. Den definerer en delmængde af slægten , som kan opdateres uafhængigt.

Følgende handlinger er tilgængelige for MLV-eksekveringsdefinitioner.

Action Description
Opret MLV-eksekveringsdefinition Opret en ny MLV-eksekveringsdefinition.
Liste over MLV-eksekveringsdefinitioner Lister alle MLV-eksekveringsdefinitioner.
Få MLV-eksekveringsdefinition Få detaljer om en eksisterende MLV-eksekveringsdefinition.
Opdater MLV-eksekveringsdefinitionen Opdater en eksisterende MLV-eksekveringsdefinition.
Slet MLV-eksekveringsdefinition Slet en MLV-eksekveringsdefinition.

For mere information, se materialiserede søudsigter.

Følgende diagrammer viser, hvordan man opdaterer materialiserede søudsigter, med eller uden en MLV-eksekveringsdefinition.

Brugsscenarie 1: Opdater alle MLV'er i et søhus (standard)

Skærmbillede viser sekvensdiagram til opdatering af alle mlv'er.

Anvendelse 2: Opdater specifikke MLV'er eller et delmængde af slægten

Skærmbillede, der viser sekvensdiagram til opdatering af specifikke mlvs.

Notat

Disse scenarier dækker brugseksempler, der er specifikke for materialiserede søvisninger. Eksempler på almindelige Fabric-element-API'er er ikke inkluderet.

Eksempler på opdatering af materialiserede søudsigter ved brug af API'er

I hvert eksempel vises HTTP-metoden, URL-adressen til slutpunktet og nyttedata for eksempelanmodninger/svar.

Opret opdateringsplan for MLV

Lav en plan for periodisk fornyelse af slægtslinjen. For kun at opdatere et delmængde af linjen, angiv 'mlvExecutionDefinitionId' i executionData. For mere information, se Opret Opfrisk Materialiserede Lake Views Schedule og Få MLV Execution Definition.

Eksempelanmodning uden MLV Execution Definition:

POST https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/RefreshMaterializedLakeViews/schedules

{
  "enabled": true,
  "configuration": {
    "startDateTime": "YYYY-MM-DDTHH:mm:ss",
    "endDateTime": "YYYY-MM-DDTHH:mm:ss",
    "localTimeZoneId": "Central Standard Time",
    "type": "Cron",
    "interval": 10
  }
}

Eksempelforespørgsel med MLV Execution Definition:

POST https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/RefreshMaterializedLakeViews/schedules

{
  "enabled": true,
  "configuration": {
    "startDateTime": "YYYY-MM-DDTHH:mm:ss",
    "endDateTime": "YYYY-MM-DDTHH:mm:ss",
    "localTimeZoneId": "Central Standard Time",
    "type": "Cron",
    "interval": 10
  },
  "executionData": {
    "mlvExecutionDefinitionId": "<mlvExecutionDefinitionId>"
  }
}

Eksempel på svar:

Statuskode: 201 Oprettet

Location: https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/RefreshMaterializedLakeViews/schedules/<scheduleId>
{
  "id": "<scheduleId>",
  "enabled": true,
  "createdDateTime": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
  "configuration": {
    "startDateTime": "YYYY-MM-DDTHH:mm:ss",
    "endDateTime": "YYYY-MM-DDTHH:mm:ss",
    "localTimeZoneId": "Central Standard Time",
    "type": "Cron",
    "interval": 10
  },
  "owner": {
    "id": "<ownerId>",
    "type": "User"
  }
}

Få skema for MLV

Få detaljer om en eksisterende opdateringsplan. For mere information, se hent genstandsskemaer med {item} as Lakehouse og {jobType} as RefreshMaterializedLakeViews.

Eksempel på anmodning:

GET https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/RefreshMaterializedLakeViews/schedules/{scheduleId}

Eksempel på svar:

Statuskode: 200 OK

{
  "id": "<scheduleId>",
  "enabled": true,
  "createdDateTime": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
  "configuration": {
    "startDateTime": "YYYY-MM-DDTHH:mm:ss",
    "endDateTime": "YYYY-MM-DDTHH:mm:ss",
    "localTimeZoneId": "Central Standard Time",
    "type": "Cron",
    "interval": 10
  },
  "executionData": {
    "mlvExecutionDefinitionId": "<mlvExecutionDefinitionId>"
  },
  "owner": {
    "id": "<ownerId>",
    "type": "User"
  }
}

Liste over kampprogrammer for MLV

Lav en liste over alle opdateringsplaner. For mere information, se List Item Schedules med {item} as Lakehouse og {jobType} as RefreshMaterializedLakeViews.

Eksempel på anmodning:

GET https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/RefreshMaterializedLakeViews/schedules

Eksempel på svar:

Statuskode: 200 OK

{
  "value": [
    {
      "id": "<scheduleId_1>",
      "enabled": true,
      "createdDateTime": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
      "configuration": {
        "startDateTime": "YYYY-MM-DDTHH:mm:ss",
        "endDateTime": "YYYY-MM-DDTHH:mm:ss",
        "localTimeZoneId": "Central Standard Time",
        "type": "Weekly",
        "weekdays": [
          "Monday",
          "Tuesday"
        ],
        "times": [
          "HH:mm",
          "HH:mm"
        ]
      },
      "owner": {
        "id": "<ownerId>",
        "type": "User"
      }
    },
    {
      "id": "<scheduleId_2>",
      "enabled": true,
      "createdDateTime": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
      "configuration": {
        "startDateTime": "YYYY-MM-DDTHH:mm:ss",
        "endDateTime": "YYYY-MM-DDTHH:mm:ss",
        "localTimeZoneId": "Central Standard Time",
        "type": "Daily",
        "times": [
          "HH:mm",
          "HH:mm"
        ]
      },
      "owner": {
        "id": "<ownerId>",
        "type": "User"
      }
    }
  ]
}

Opdater opdateringsplan for MLV

Opdater en eksisterende opdateringsplan. For mere information, se Opdater Opdatering af Materialiserede Søudsigter.

Eksempel på anmodning:

PATCH https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/RefreshMaterializedLakeViews/schedules/{scheduleId}

{
  "enabled": true,
  "configuration": {
    "startDateTime": "YYYY-MM-DDTHH:mm:ss",
    "endDateTime": "YYYY-MM-DDTHH:mm:ss",
    "localTimeZoneId": "Central Standard Time",
    "type": "Cron",
    "interval": 10
  },
  "executionData": {
    "mlvExecutionDefinitionId": "<mlvExecutionDefinitionId>"
  }
}

Eksempel på svar:

Statuskode: 200 OK

{
  "id": "<scheduleId>",
  "enabled": true,
  "createdDateTime": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
  "configuration": {
    "startDateTime": "YYYY-MM-DDTHH:mm:ss",
    "endDateTime": "YYYY-MM-DDTHH:mm:ss",
    "localTimeZoneId": "Central Standard Time",
    "type": "Cron",
    "interval": 10
  },
  "executionData": {
    "mlvExecutionDefinitionId": "<mlvExecutionDefinitionId>"
  },
  "owner": {
    "id": "<ownerId>",
    "type": "User"
  }
}

Slet opdateringsskema for MLV

Slet en opdateringsplan. For mere information, se Slet Opfrisk Materialiserede Søudsigter Skema.

Eksempel på anmodning:

DELETE https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/RefreshMaterializedLakeViews/schedules/{scheduleId}

Eksempel på svar:

Statuskode: 200 OK

Kør On Demand-opdatering for MLV'er

Kør en øjeblikkelig opdatering af slægten. For kun at opdatere et delmængde af linjen, angiv 'mlvExecutionDefinitionId' i executionData. For mere information, se Run On Demand Refresh Materialized Lake Views og få MLV Execution Definition.

Eksempelanmodning uden MLV Execution Definition:

POST https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/RefreshMaterializedLakeViews/instances

Eksempelforespørgsel med MLV Execution Definition:

POST https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/RefreshMaterializedLakeViews/instances

{
  "executionData": {
    "mlvExecutionDefinitionId": "<mlvExecutionDefinitionId>"
  }
}

Eksempel på svar:

Statuskode: 202 Accepteret

Location: https://api.fabric.microsoft.com/v1/workspaces/<WORKSPACE_ID>/lakehouses/<LAKEHOUSE_ID>/jobs/instances/<jobInstanceId>
Retry-After: 60

Med headeren Location kan du bruge Get Item Job Instance til at tjekke jobstatus eller Cancel Item Job Instance for at afbryde run'et.

List jobinstanser for MLV

List alle opdateringsjobinstanser. For mere information, se List item job-instanser med {item} som Lakehouse og {jobType}RefreshMaterializedLakeViews. Jobstatus afspejler status i Monitor-hubben.

Eksempel på anmodning:

GET https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/RefreshMaterializedLakeViews/instances

Eksempel på svar:

Statuskode: 200 OK

{
  "value": [
    {
      "id": "<jobInstanceId_1>",
      "itemId": "<LAKEHOUSE_ID>",
      "jobType": "RefreshMaterializedLakeViews",
      "invokeType": "Manual",
      "status": "<status>",
      "rootActivityId": "<rootActivityId_1>",
      "startTimeUtc": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
      "endTimeUtc": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
      "failureReason": null
    },
    {
      "id": "<jobInstanceId_2>",
      "itemId": "<LAKEHOUSE_ID>",
      "jobType": "RefreshMaterializedLakeViews",
      "invokeType": "Scheduled",
      "status": "<status>",
      "rootActivityId": "rootActivityId_2",
      "startTimeUtc": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
      "endTimeUtc": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
      "failureReason": null
    }
  ]
}

Få oplysninger om jobinstanser for MLV

Få status og detaljer for en specifik opdateringsjobinstans. For mere information, se Get Item Job Instance med {item} som Lakehouse. Jobstatus afspejler status i Monitor-hubben.

Eksempel på anmodning:

GET https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/instances/{jobInstanceId}

Eksempel på svar:

Statuskode: 200 OK

{
  "id": "<id>",
  "itemId": "<itemId>",
  "jobType": "RefreshMaterializedLakeViews",
  "invokeType": "<invokeType>",
  "status": "<status>",
  "rootActivityId": "<rootActivityId>",
  "startTimeUtc": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
  "endTimeUtc": "YYYY-MM-DDTHH:mm:ss.xxxxxxx",
  "failureReason": null
}

Annuller jobinstans for MLV

Annuller et igangværende opdateringsjob. For mere information, se Annuller Item Job Instance med {item} som Lakehouse.

Eksempel på anmodning:

POST https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/jobs/instances/{jobInstanceId}/cancel

Eksempel på svar:

Statuskode: 202 Accepteret

Location: https://api.fabric.microsoft.com/v1/workspaces/<WORKSPACE_ID>/lakehouses/<LAKEHOUSE_ID>/jobs/instances/<jobInstanceId>
Retry-After: 60

Eksempler på brug af MLV-eksekveringsdefinitions-API'er

I hvert eksempel vises HTTP-metoden, URL-adressen til slutpunktet og nyttedata for eksempelanmodninger/svar.

Opret MLV-eksekveringsdefinition

Skab en ny MLV-eksekveringsdefinition, der specificerer, hvilke MLV'er og upstream lakehouses der skal inkluderes, sammen med refresh mode og Spark-miljø. For mere information, se Opret Mlv Execution Definition.

Eksempel på anmodning:

POST https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/mlvexecutiondefinitions

{
  "displayName": "Gold Chain – Sales",
  "description": "Nightly refresh for the Sales gold-layer views",
  "settings": {
    "environment": {
      "referenceType": "ById",
      "itemId": "<ENVIRONMENT_ID>",
      "workspaceId": "<ENVIRONMENT_WORKSPACE_ID>"
    },
    "refreshMode": "Optimal"
  },
  "currentLakehouseExecutionContext": {
    "mode": "Selected",
    "selectedMlvs": [
      "dbo.gold_sales_summary",
      "dbo.gold_sales_daily"
    ]
  },
  "extendedLineageExecutionContext": {
    "mode": "All"
  }
}

Eksempel på svar:

Statuskode: 201 Oprettet

Location: https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/mlvexecutiondefinitions/<mlvExecutionDefinitionId>
{
  "id": "<mlvExecutionDefinitionId>",
  "displayName": "Gold Chain – Sales",
  "description": "Nightly refresh for the Sales gold-layer views",
  "settings": {
    "environment": {
      "referenceType": "ById",
      "itemId": "<ENVIRONMENT_ID>",
      "workspaceId": "<ENVIRONMENT_WORKSPACE_ID>"
    },
    "refreshMode": "Optimal"
  },
  "currentLakehouseExecutionContext": {
    "mode": "Selected",
    "selectedMlvs": [
      "dbo.gold_sales_summary",
      "dbo.gold_sales_daily"
    ]
  },
  "extendedLineageExecutionContext": {
    "mode": "All"
  }
}

Liste over MLV-eksekveringsdefinitioner

Lister alle MLV-eksekveringsdefinitioner. For mere information, se Liste Mlv Execution Definitions.

Eksempel på anmodning:

GET https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/mlvexecutiondefinitions

Eksempel på svar:

Statuskode: 200 OK

{
  "value": [
    {
      "id": "<mlvExecutionDefinitionId_1>",
      "displayName": "Gold Chain – Sales",
      "description": "Nightly refresh for the Sales gold-layer views",
      "settings": {
        "environment": {
          "referenceType": "ById",
          "itemId": "<ENVIRONMENT_ID>",
          "workspaceId": "<ENVIRONMENT_WORKSPACE_ID>"
        },
        "refreshMode": "Optimal"
      },
      "currentLakehouseExecutionContext": {
        "mode": "Selected",
        "selectedMlvs": [
          "dbo.gold_sales_summary",
          "dbo.gold_sales_daily"
        ]
      },
      "extendedLineageExecutionContext": {
        "mode": "All"
      }
    },
    {
      "id": "<mlvExecutionDefinitionId_2>",
      "displayName": "Silver Chain – Customers",
      "currentLakehouseExecutionContext": {
        "mode": "All"
      }
    }
  ]
}

Få MLV-eksekveringsdefinition

Få detaljer om en eksisterende MLV-eksekveringsdefinition, inklusive MLV'erne til opdatering, upstream lakehouses til at inkludere, opdateringstilstand og Spark-miljø. For mere information, se Get Mlv Execution Definition.

Eksempel på anmodning:

GET https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/mlvexecutiondefinitions/{mlvExecutionDefinitionId}

Eksempel på svar:

Statuskode: 200 OK

{
  "id": "<mlvExecutionDefinitionId>",
  "displayName": "Gold Chain – Sales",
  "description": "Nightly refresh for the Sales gold-layer views",
  "settings": {
    "environment": {
      "referenceType": "ById",
      "itemId": "<ENVIRONMENT_ID>",
      "workspaceId": "<ENVIRONMENT_WORKSPACE_ID>"
    },
    "refreshMode": "Optimal"
  },
  "currentLakehouseExecutionContext": {
    "mode": "Selected",
    "selectedMlvs": [
      "dbo.gold_sales_summary",
      "dbo.gold_sales_daily"
    ]
  },
  "extendedLineageExecutionContext": {
    "mode": "All"
  }
}

Opdater MLV-eksekveringsdefinitionen

Opdater en eksisterende MLV-eksekveringsdefinition. Kun de felter, der er angivet i anmodningens brødtekst, opdateres. udeladte felter bevarer deres eksisterende værdier. For mere information, se Opdater Mlv Execution Definition.

Eksempel på anmodning:

PATCH https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/mlvexecutiondefinitions/{mlvExecutionDefinitionId}

{
  "displayName": "Updated Gold Chain – Sales",
  "settings": {
    "refreshMode": "Full"
  },
  "currentLakehouseExecutionContext": {
    "mode": "All"
  },
  "extendedLineageExecutionContext": {
    "mode": "Selected",
    "selectedLakehouses": [
      {
        "referenceType": "ById",
        "itemId": "<UPSTREAM_LAKEHOUSE_ID>",
        "workspaceId": "<UPSTREAM_WORKSPACE_ID>"
      }
    ]
  }
}

Eksempel på svar:

Statuskode: 200 OK

{
  "id": "<mlvExecutionDefinitionId>",
  "displayName": "Updated Gold Chain – Sales",
  "description": "Nightly refresh for the Sales gold-layer views",
  "settings": {
    "environment": {
      "referenceType": "ById",
      "itemId": "<ENVIRONMENT_ID>",
      "workspaceId": "<ENVIRONMENT_WORKSPACE_ID>"
    },
    "refreshMode": "Full"
  },
  "currentLakehouseExecutionContext": {
    "mode": "All"
  },
  "extendedLineageExecutionContext": {
    "mode": "Selected",
    "selectedLakehouses": [
      {
        "referenceType": "ById",
        "itemId": "<UPSTREAM_LAKEHOUSE_ID>",
        "workspaceId": "<UPSTREAM_WORKSPACE_ID>"
      }
    ]
  }
}

Slet MLV-eksekveringsdefinition

Slet en MLV-eksekveringsdefinition. Alle tidsplaner, der er knyttet til den, fjernes også. For mere information, se Slet Mlv Execution Definition.

Eksempel på anmodning:

DELETE https://api.fabric.microsoft.com/v1/workspaces/{WORKSPACE_ID}/lakehouses/{LAKEHOUSE_ID}/mlvexecutiondefinitions/{mlvExecutionDefinitionId}

Eksempel på svar:

Statuskode: 200 OK

Kendte begrænsninger

Følgende begrænsninger gælder for rest-API'er for de materialiserede visninger af søen: