Begränsningar för GitHub-anslutningsprogrammet

Important

Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.

Den här sidan innehåller information om kända begränsningar för den hanterade GitHub-anslutningsappen i Lakeflow Connect.

Allmänna begränsningar

  • När du kör en schemalagd pipeline utlöses inte aviseringar omedelbart. I stället utlöses de när nästa uppdatering körs.
  • När en källtabell tas bort tas inte måltabellen bort automatiskt. Du måste ta bort destinationstabellen manuellt. Det här beteendet är inte förenligt med hur Spark Declarative Pipelines fungerar i Lakeflow.
  • Under källunderhållsperioder kanske Databricks inte kan komma åt dina data.
  • Om ett källtabellnamn står i konflikt med ett befintligt måltabellnamn misslyckas pipelineuppdateringen.
  • Stöd för pipeline med flera destinationer är endast tillgängligt via API.
  • Du kan välja att byta namn på en tabell som du importerar. Om du byter namn på en tabell i din pipeline, blir det en API-endast pipeline, och du kan inte längre redigera pipelinen i UI:t.
  • Om du väljer en kolumn efter att en pipeline redan har startat, fyller inte kontakten automatiskt i data för den nya kolumnen. För att hämta historiska data, kör manuellt en fullständig uppdatering av tabellen.
  • Databricks kan inte mata in två eller flera tabeller med samma namn i samma pipeline, även om de kommer från olika källscheman.
  • Källsystemet förutsätter att markörkolumnerna ökar monotont.
  • Anslutningsappen matar in rådata utan transformeringar. Använd nedströms Spark Deklarativa pipelines på Lakeflow-pipelines för transformeringar.

Borttagningar stöds inte

GitHub-anslutningen stöder inte att hämta borttagningar, med undantag för repo_contents. Det här är en GitHub API-begränsning.

Tabellen repo_contents samlar in borttagningar av filer. När en fil tas bort från källlagringsplatsen tar anslutningsappen bort motsvarande rad från tabellen (hård borttagning). Se Innehållet i lagringsplatsen.

Begränsat inkrementellt stöd

De flesta tabeller stöder inte inkrementella uppdateringar eftersom GitHub-API:et inte ger ett sätt att filtrera poster baserat på en markör. Dessa tabeller uppdateras helt vid varje uppdatering av pipelinen. En lista över tabeller och deras uppdateringsmönster finns i Data som stöds.

Prestandavägledning för stora organisationer

Tabeller som commits, pull_requests och issues kan innehålla miljoner poster i stora organisationer. Eftersom dessa tabeller uppdateras fullständigt på varje pipelinekörning skalas inmatningskostnaden med organisationens storlek och pipelinefrekvens.

Så här minskar du volymen per körning:

  • Använd kolumnmarkering för att begränsa de kolumner som matas in för dessa tabeller.
  • Använd en lägre pipelinefrekvens för pipelines som innehåller tabeller med stora datamängder.

Lagringsplatsinnehåll

Tabellen repo_contents matar in alla poster i varje lagringsplatss träd, inklusive filer, kataloger, undermoduler och symboliska länkar. Endast filposter (blob) fyller i content kolumnen. Kataloger (tree) och undermoduler (commit) matas in som endast metadatarader med en null-kolumn content . Följande begränsningar gäller:

  • Endast standardgren: Anslutningsappen matar in varje lagringsplatss standardgren, som registreras i branch_name kolumnen. Det går inte att välja eller mata in flera grenar per lagringsplats.
  • Filstorleksgräns: Filer som är större än 100 MB hämtas inte. Anslutningsappen matar fortfarande in filens metadatarad (path, , shasize_bytes), men content kolumnen är null.
  • Binära filer: För binära filer är kolumnen contentnull och is_binary är true. Endast textfilinnehåll fylls i i content.

Mer information finns i Lagringsplatsinnehåll (repo_contents tabell).

Data som stöds

Tabeller med inkrementella uppdateringar

Följande tabeller stöder inkrementella uppdateringar:

  • repositories
  • audit_logs: Endast organisationskonton. I github.com den kostnadsfria planen är granskningslogghistoriken begränsad till 90 dagar.
  • repo_contents: Matar in lagringsplatsens trädposter och filinnehåll. Inkrementella uppdateringar och borttagningar stöds. Se Innehållet i lagringsplatsen.

Endast tabeller med batchuppdateringar

Följande tabeller uppdateras fullständigt för varje pipelineuppdatering (icke-inkrementell):

  • branches
  • collaborators
  • commits
  • deployments
  • deployment_statuses
  • discussions
  • issues
  • labels
  • milestones
  • org_members
  • pull_request_commits
  • pull_request_review_comments
  • pull_request_reviews
  • pull_requests
  • releases
  • tags
  • team_members
  • teams
  • workflows