Synchronizace úložiště GitHub ve Správci orchestrace pracovního postupu
PLATÍ PRO: Azure Data Factory Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Poznámka:
Tato funkce je ve verzi Public Preview. Správce orchestrace pracovních postupů využívá Apache Airflow.
V tomto článku se dozvíte, jak synchronizovat úložiště GitHub ve Správci orchestrace pracovních postupů služby Azure Data Factory dvěma různými způsoby:
- Pomocí možnosti Povolit synchronizaci Gitu v uživatelském rozhraní Správce orchestrace pracovního postupu.
- Pomocí rozhraní REST API.
Požadavky
- Předplatné Azure: Pokud nemáte předplatné Azure, vytvořte si před zahájením bezplatný účet Azure. Vytvořte nebo vyberte existující instanci služby Data Factory v oblasti, ve které je podporována verze Preview Správce orchestrace pracovního postupu.
- Úložiště GitHub: Potřebujete přístup k úložišti GitHub.
Použití uživatelského rozhraní Správce orchestrace pracovního postupu
K synchronizaci úložiště GitHub pomocí uživatelského rozhraní Správce orchestrace pracovního postupu:
Ujistěte se, že úložiště obsahuje potřebné složky a soubory:
dags/: Pro Apache Airflow směrované acyklické grafy (dags) (povinné).
Moduly plug-in/: Integrace externích funkcí do Airflow
Když vytvoříte prostředí Integration Runtime Orchestration Manageru pracovního postupu, v dialogovém okně nastavení prostředí Airflow vyberte Povolit synchronizaci Gitu.
Vyberte jeden z následujících podporovaných typů služeb Git:
- GitHub
- BEZODKLADNĚ
- GitLab
- BitBucket
Vyberte typ přihlašovacích údajů:
Žádné (pro veřejné úložiště): Když vyberete tuto možnost, ujistěte se, že viditelnost úložiště je veřejná. Pak vyplňte podrobnosti:
- Adresa URL úložiště Git (povinné): Adresa URL klonování požadovaného úložiště GitHub.
- Větev Git (povinné): Aktuální větev , ve které se nachází požadované úložiště Git.
Osobní přístupový token Gitu: Po výběru této možnosti osobního přístupového tokenu (PAT) vyplňte zbývající pole na základě vybraného typu služby Git:
- Osobní přístupový token GitHubu
- Osobní přístupový token ADO
- Osobní přístupový token GitLabu
- Osobní přístupový token BitBucket
Hlavní název služby (SPN): Tento typ přihlašovacích údajů podporuje pouze služba ADO. Po výběru této možnosti vyplňte zbývající pole na základě vybraného typu služby Git:
- Adresa URL úložiště Git (povinné): Adresa URL klonování do úložiště Git, které se má synchronizovat.
- Git branch (povinné): Větev v úložišti, která se má synchronizovat.
- ID aplikace instančního objektu (povinné): ID aplikace instančního objektu s přístupem k úložišti ADO, které se má synchronizovat.
- Tajný klíč instančního objektu (povinné): Ručně vygenerovaný tajný kód v instančním objektu, jehož hodnota se používá k ověření a přístupu k úložišti ADO.
- ID tenanta instančního objektu (povinné): ID tenanta instančního objektu
Vyplňte zbývající pole požadovanými informacemi.
Vyberte Vytvořit.
Použití rozhraní REST API
K synchronizaci úložiště GitHub pomocí rozhraní REST API:
Metoda: PUT
Adresa URL:
https://management.azure.com/subscriptions/<subscriptionid>/resourcegroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<datafactoryName>/integrationruntimes/<airflowEnvName>?api-version=2018-06-01
Parametry identifikátoru URI:
Název V Požaduje se Type Popis ID předplatného path True string Identifikátor předplatného Název skupiny prostředků path True string Název skupiny prostředků (vzor Regex: ^[-\w\._\(\)]+$
)dataFactoryName path True string Název služby Azure Data Factory (vzor Regex: ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$
airflowEnvName path True string Název prostředí Správce orchestrace pracovního postupu Verze rozhraní API query True string Verze rozhraní API Tělo požadavku (konfigurace Airflow)::
Name Typ Popis name string Název prostředí Airflow vlastnosti propertyType Vlastnosti konfigurace pro prostředí Typ vlastnosti:
Name Typ Popis Typ string Typ prostředku (Airflow v tomto scénáři) typeProperties typeProperty Airflow Vlastnost typu:
Name Typ Popis computeProperties computeProperty Konfigurace výpočetního typu používaného pro prostředí airflowProperties airflowProperty Konfigurace vlastností Airflow pro prostředí Výpočetní vlastnost:
Name Typ Popis location string Výchozí umístění prostředí Runtime integrace Airflow je v oblasti datové továrny. Pokud chcete vytvořit prostředí Integration Runtime v jiné oblasti, vytvořte novou datovou továrnu v požadované oblasti. computeSize string Velikost výpočetního uzlu, na který má prostředí Airflow běžet. Příklady jsou Velké nebo Malé. Zpočátku jsou přiděleny tři uzly. extraNodes integer Každý další uzel přidá tři další pracovní procesy. Vlastnost Airflow:
Name Typ Popis airflowVersion string Podporovaná verze Apache Airflow. Například 2.4.3. airflowRequirements Řetězec pole<> Knihovny Pythonu, které chcete použít. Například ["flask-bcrypy=0.7.1"]. Může to být čárkami oddělený seznam. airflowEnvironmentVariables Objekt (pár klíč/hodnota) Proměnné prostředí, které chcete použít. Například { "SAMPLE_ENV_NAME": "test" }. gitSyncProperties gitSyncProperty Vlastnosti konfigurace Gitu enableAADIntegration boolean Umožňuje Microsoft Entra ID přihlásit se ke Správci orchestrace pracovního postupu. userName řetězec nebo null Uživatelské jméno pro základní ověřování. Heslo řetězec nebo null Heslo pro základní ověřování. Vlastnost synchronizace Gitu:
Name Typ Popis gitServiceType string Služba Git, ve které se nachází požadované úložiště. Hodnoty jsou GitHub, ADO, GitLab nebo BitBucket. gitCredentialType string Typ přihlašovacích údajů Gitu Hodnoty jsou PAT (pro osobní přístupový token), hlavní název služby (podporované pouze službou ADO) a Žádné. úložiště string Odkaz na úložiště. větev string Větev, která se má použít v úložišti. username string Uživatelské jméno GitHubu Reference string Hodnota pat. tenantId string ID tenanta instančního objektu (podporované pouze službou ADO). Odpovědi:
Název Stavový kód Typ Popis Přijato 200 Továrna OK Neautorizováno 401 Chyba cloudu Pole s dalšími podrobnostmi o chybě
Příklady
Projděte si následující příklady.
Sample request:
HTTP
PUT https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/abnarain-rg/providers/Microsoft.DataFactory/factories/ambika-df/integrationruntimes/sample-2?api-version=2018-06-01
Ukázkový text:
{
"name": "sample-2",
"properties": {
"type": "Airflow",
"typeProperties": {
"computeProperties": {
"location": "East US",
"computeSize": "Large",
"extraNodes": 0
},
"airflowProperties": {
"airflowVersion": "2.4.3",
"airflowEnvironmentVariables": {
"AIRFLOW__TEST__TEST": "test"
},
"airflowRequirements": [
"apache-airflow-providers-microsoft-azure"
],
"enableAADIntegration": true,
"userName": null,
"password": null,
"airflowEntityReferences": []
}
}
}
}
Ukázková odpověď:
Status code: 200 OK
Text odpovědi:
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/your-rg/providers/Microsoft.DataFactory/factories/your-df/integrationruntimes/sample-2",
"name": "sample-2",
"type": "Microsoft.DataFactory/factories/integrationruntimes",
"properties": {
"type": "Airflow",
"typeProperties": {
"computeProperties": {
"location": "East US",
"computeSize": "Large",
"extraNodes": 0
},
"airflowProperties": {
"airflowVersion": "2.4.3",
"pythonVersion": "3.8",
"airflowEnvironmentVariables": {
"AIRFLOW__TEST__TEST": "test"
},
"airflowWebUrl": "https://e57f7409041692.eastus.airflow.svc.datafactory.azure.com/login/",
"airflowRequirements": [
"apache-airflow-providers-microsoft-azure"
],
"airflowEntityReferences": [],
"packageProviderPath": "plugins",
"enableAADIntegration": true,
"enableTriggerers": false
}
},
"state": "Initial"
},
"etag": "3402279e-0000-0100-0000-64ecb1cb0000"
}
Tady je několik příkladů datové části rozhraní API:
Vlastnosti synchronizace Gitu pro GitHub s patem:
"gitSyncProperties": { "gitServiceType": "Github", "gitCredentialType": "PAT", "repo": <repo url>, "branch": <repo branch to sync>, "username": <username>, "credential": <personal access token> }
Vlastnosti synchronizace Gitu pro ADO s patem:
"gitSyncProperties": { "gitServiceType": "ADO", "gitCredentialType": "PAT", "repo": <repo url>, "branch": <repo branch to sync>, "username": <username>, "credential": <personal access token> }
Vlastnosti synchronizace Gitu pro ADO s instančním objektem:
"gitSyncProperties": { "gitServiceType": "ADO", "gitCredentialType": "SPN", "repo": <repo url>, "branch": <repo branch to sync>, "username": < service principal app id >, "credential": <service principal secret value> "tenantId": <service principal tenant id> }
Vlastnosti synchronizace Gitu pro veřejné úložiště GitHubu:
"gitSyncProperties": { "gitServiceType": "Github", "gitCredentialType": "None", "repo": <repo url>, "branch": <repo branch to sync> }
Import privátního balíčku se synchronizací Gitu
Tento volitelný proces platí jenom v případě, že používáte privátní balíčky.
Tento proces předpokládá, že se váš privátní balíček automaticky synchronizoval prostřednictvím synchronizace Gitu. Balíček přidáte jako požadavek v uživatelském rozhraní Správce orchestrace pracovního postupu spolu s předponou /opt/airflow/git/\<repoName\>/
cesty , pokud se připojujete k úložišti ADO. Použijte /opt/airflow/git/\<repoName\>.git/
pro všechny ostatní služby Gitu.
Pokud je například privátní balíček v /dags/test/private.whl
úložišti GitHubu, měli byste přidat požadavek /opt/airflow/git/\<repoName\>.git/dags/test/private.whl
v prostředí Správce orchestrace pracovního postupu.