Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY:
Azure Data Factory
Azure Synapse Analytics
Wskazówka
Data Factory w usłudze Microsoft Fabric jest następną generacją Azure Data Factory z prostszą architekturą, wbudowaną sztuczną inteligencją i nowymi funkcjami. Jeśli dopiero zaczynasz integrować dane, zacznij od Fabric Data Factory. Istniejące obciążenia ADF można zaktualizować do Fabric, aby uzyskać dostęp do nowych możliwości w zakresie nauki o danych, analiz w czasie rzeczywistym oraz raportowania.
Ten artykuł opisuje, jak korzystać z Copy Activity w potokach Azure Data Factory i Synapse Analytics do kopiowania danych z i do bazy MongoDB. Opiera się na przeglądzie aktywności kopiowania, który przedstawia ogólny przegląd działania kopiowania.
Note
Ten łącznik jest również dostępny w usłudze Data Factory w Microsoft Fabric. Aby uzyskać informacje o konfiguracji i funkcjach specyficznych dla Fabric, zobacz dokumentację łącznika Fabric MongoDB.
Ważne
Nowy łącznik bazy danych MongoDB zapewnia ulepszoną natywną obsługę bazy danych MongoDB. Jeśli używasz starszego złącza MongoDB w swoim rozwiązaniu, obsługiwanego as-is tylko dla kompatybilności wstecznej, zobacz złącze MongoDB (legacy). Możesz użyć tego złącza do kopiowania danych z i do Azure DocumentDB (kompatybilnego z MongoDB).
Obsługiwane możliwości
To złącze MongoDB obsługuje następujące funkcje:
| Obsługiwane możliwości | środowisko IR |
|---|---|
| działanie Kopiuj (źródło/ujście) | (1) (2) |
(1) Środowisko uruchomieniowe Azure (2) Środowisko uruchomieniowe lokalnie hostowane
Listę magazynów danych obsługiwanych jako źródła i ujścia można znaleźć w tabeli Obsługiwane magazyny danych.
W szczególności ten łącznik bazy danych MongoDB obsługuje wersje do 4.2. Jeśli twoja praca wymaga nowszych wersji niż 4.2, rozważ użycie usługi MongoDB Atlas z łącznikiem Usługi MongoDB Atlas, który zapewnia bardziej kompleksową obsługę i funkcje.
Wymagania wstępne
Jeśli magazyn danych znajduje się wewnątrz sieci lokalnej, sieci wirtualnej Azure lub chmury prywatnej Amazon Virtual, musisz skonfigurować self-hosted Integration Runtime aby nawiązać z nim połączenie.
Jeśli magazyn danych jest zarządzaną usługą danych w chmurze, możesz użyć Azure Integration Runtime. Jeśli dostęp jest ograniczony do adresów IP zatwierdzonych w regułach zapory, możesz dodać adresy IP Azure Integration Runtime do listy dozwolonych.
Możesz również użyć funkcji zarządzanego środowiska wykonawczego zintegrowanej sieci wirtualnej w Azure Data Factory, aby uzyskać dostęp do sieci lokalnej bez instalowania i konfigurowania lokalnego środowiska Integration Runtime.
Aby uzyskać więcej informacji na temat mechanizmów zabezpieczeń sieci i opcji obsługiwanych przez usługę Data Factory, zobacz Strategie dostępu do danych.
Wprowadzenie
Aby wykonać działanie kopiowania za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:
- Narzędzie do kopiowania danych
- Portal Azure
- SDK platformy .NET
- SDK Python
- Azure PowerShell
- API REST
- Szablon menedżera zasobów Azure
Utworzenie usługi powiązanej do MongoDB, korzystając z interfejsu użytkownika
Wykonaj poniższe kroki, aby utworzyć połączoną usługę z bazą danych MongoDB w interfejsie użytkownika portalu Azure.
Przejdź do zakładki Zarządzanie w swoim obszarze roboczym Azure Data Factory lub Synapse i wybierz Usługi powiązane. Następnie wybierz Nowe:
Wyszukaj MongoDB i wybierz łącznik MongoDB.
Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.
Szczegóły konfiguracji łącznika
Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek usługi Data Factory specyficznych dla łącznika bazy danych MongoDB.
Właściwości połączonej usługi
Poniższa tabela przedstawia obsługiwane właściwości dla usługi powiązanej z MongoDB:
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Ustaw właściwość typu na: MongoDbV2 | Tak |
| Parametry połączenia | Określ parametry połączenia z MongoDB, na przykład mongodb://[username:password@]host[:port][/[database][?options]]. Więcej szczegółów można znaleźć w instrukcji MongoDB dotyczącej parametry połączenia.Można również umieścić ciąg połączenia w Azure Key Vault. Aby uzyskać więcej informacji, zobacz artykuł Przechowywanie poświadczeń w usłudze Azure Key Vault. |
Tak |
| baza danych | Nazwa bazy danych, do której chcesz uzyskać dostęp. | Tak |
| connectVia | Środowisko Integration Runtime używane do połączenia z magazynem danych. Aby dowiedzieć się więcej, zobacz sekcję Wymagania wstępne . Jeśli nie określisz tej właściwości, używa się domyślnej Azure Integration Runtime. | Nie. |
Przykład:
{
"name": "MongoDBLinkedService",
"properties": {
"type": "MongoDbV2",
"typeProperties": {
"connectionString": "mongodb://[username:password@]host[:port][/[database][?options]]",
"database": "myDatabase"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Właściwości zestawu danych
Pełną listę sekcji i właściwości, które możesz wykorzystać do definiowania zbiorów danych, znajdziesz w artykule Datasets and linked services. Poniższa tabela przedstawia obsługiwane właściwości dla zbioru danych MongoDB:
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Ustaw właściwość typu zbioru danych na: MongoDbV2Collection | Tak |
| collectionName | Nazwa kolekcji w bazie danych MongoDB. | Tak |
Przykład:
{
"name": "MongoDbDataset",
"properties": {
"type": "MongoDbV2Collection",
"typeProperties": {
"collectionName": "<Collection name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<MongoDB linked service name>",
"type": "LinkedServiceReference"
}
}
}
Właściwości aktywności kopiowania
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez źródło i ujście bazy danych MongoDB.
MongoDB jako źródło
Sekcja źródłowa aktywności kopiowania obsługuje następujące właściwości:
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Ustaw właściwość typu źródła aktywności kopiowania na: MongoDbV2Source | Tak |
| filtr | Określa filtr wyboru przy użyciu operatorów zapytań. Aby zwrócić wszystkie dokumenty w kolekcji, pomiń ten parametr lub przekaż pusty dokument ({}). | Nie. |
| cursorMethods.project | Określa pola, które mają być zwracane w dokumentach na potrzeby projekcji. Aby zwrócić wszystkie pola w pasujących dokumentach, pomiń ten parametr. | Nie. |
| cursorMethods.sort | Określa kolejność, w której zapytanie zwraca pasujące dokumenty. Odwołaj się do cursor.sort(). | Nie. |
| cursorMethods.limit | Określa maksymalną liczbę dokumentów zwracanych przez serwer. Odwołaj się do cursor.limit(). | Nie. |
| cursorMethods.skip | Określa liczbę dokumentów do pominięcia i od miejsca, w którym baza MongoDB zaczyna zwracać wyniki. Zapoznaj się z elementem cursor.skip(). | Nie. |
| batchSize | Określa ilość dokumentów, które mają być zwracane w każdej partii odpowiedzi z instancji MongoDB. W większości przypadków zmiana rozmiaru partii nie wpływa na użytkownika ani aplikację. Azure Cosmos DB ogranicza rozmiar każdej partii, nie przekraczając 40 MB, co jest sumą rozmiaru pliku batchSize dla liczby dokumentów, więc zmniejsz tę wartość, jeśli rozmiar dokumentu jest duży. | Nie. (wartość domyślna to 100) |
Wskazówka
Usługa obsługuje korzystanie z dokumentu BSON w trybie ścisłym. Upewnij się, że zapytanie filtracyjne jest w trybie Strict, a nie Shell. Więcej informacji można znaleźć w instrukcji MongoDB.
Przykład:
"activities":[
{
"name": "CopyFromMongoDB",
"type": "Copy",
"inputs": [
{
"referenceName": "<MongoDB input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "MongoDbV2Source",
"filter": "{datetimeData: {$gte: ISODate(\"2018-12-11T00:00:00.000Z\"),$lt: ISODate(\"2018-12-12T00:00:00.000Z\")}, _id: ObjectId(\"5acd7c3d0000000000000000\") }",
"cursorMethods": {
"project": "{ _id : 1, name : 1, age: 1, datetimeData: 1 }",
"sort": "{ age : 1 }",
"skip": 3,
"limit": 3
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
MongoDB jako ujście
Sekcja sink działania Copy Activity obsługuje następujące właściwości:
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Ustaw właściwość typu pochłaniacza aktywności kopiowania na MongoDbV2Sink. | Tak |
| writeBehavior | Opisuje sposób zapisywania danych w bazie danych MongoDB. Dozwolone wartości: Insert i Upsert. Zachowanie operacji upsert polega na zastąpieniu dokumentu, jeśli dokument o tym samym _id już istnieje; w przeciwnym razie wstaw dokument.Uwaga: usługa automatycznie generuje _id dla dokumentu, jeśli _id nie został określony ani w oryginalnym dokumencie, ani według mapowania kolumn. Oznacza to, że dokument musi mieć identyfikator, aby operacja upsert działała zgodnie z oczekiwaniami. |
Nie. (wartość domyślna to wstawka) |
| writeBatchSize | Właściwość writeBatchSize kontroluje liczbę dokumentów do zapisania w każdej partii. Aby poprawić wydajność, spróbuj zwiększyć wartość. Jeśli rozmiar dokumentu jest duży, spróbuj zmniejszyć jego wartość. | Nie. (wartość domyślna to 10 000) |
| writeBatchTimeout | Czas oczekiwania na zakończenie operacji wstawiania wsadowego przed upływem limitu czasu. Dozwolona wartość to przedział czasu. | Nie. (wartość domyślna to 00:30:00 –30 minut) |
Wskazówka
Aby zaimportować dokumenty JSON as-is, zobacz sekcję Import lub export dokumentów JSON . Aby kopiować z danych w formie tabelarycznej, zobacz Mapowanie schematu.
Przykład
"activities":[
{
"name": "CopyToMongoDB",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Document DB output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "MongoDbV2Sink",
"writeBehavior": "upsert"
}
}
}
]
Importowanie i eksportowanie dokumentów JSON
Użyj tego złącza MongoDB, aby z łatwością:
- Kopiowanie dokumentów między dwiema kolekcjami bazy danych MongoDB w następujący sposób.
- Zaimportuj dokumenty JSON z różnych źródeł do bazy danych MongoDB, w tym z Azure Cosmos DB, Azure Blob Storage, Azure Data Lake Store i innych obsługiwanych magazynów opartych na plikach.
- Eksportowanie dokumentów JSON z kolekcji MongoDB do różnych repozytoriów bazujących na plikach.
Aby uzyskać kopię niezależną od schematu, pomiń sekcję „struktura” (zwaną również schematem) w zestawieniu danych i mapowaniu schematów w aktywności kopiowania.
Mapowanie typów danych dla bazy danych MongoDB
Gdy kopiujesz dane z MongoDB, usługa wykorzystuje następujące mapowania z typów danych MongoDB do pośrednich typów danych. Więcej informacji o tym, jak działanie kopiowania mapuje schemat źródłowy i typy danych do ujścia, znajdziesz w sekcji Mapowania schematu i typów danych.
| Typ danych bazy danych MongoDB | Typ danych usługi tymczasowej |
|---|---|
| Date | Int64 |
| Identyfikator Obiektu | Sznurek |
| Liczba dziesiętna128 | Sznurek |
| Sygnatura czasowa | Najważniejsze 32 bity —> Int64 Najmniej znaczące 32 bity —> Int64 |
| Sznurek | Sznurek |
| Double | Sznurek |
| Int32 | Int64 |
| Int64 | Int64 |
| logiczny | logiczny |
| Null | Null |
| JavaScript | Sznurek |
| Wyrażenie regularne | Sznurek |
| Minimalny klucz | Int64 |
| Maksymalny klucz | Int64 |
| Binary | Sznurek |
Cykl życia i uaktualnianie łącznika bazy danych MongoDB
W poniższej tabeli przedstawiono etap wydania i dzienniki zmian dla różnych wersji łącznika bazy danych MongoDB:
| wersja | Etap wydania | Dziennik zmian |
|---|---|---|
| MongoDB (starsza wersja) | Removed | Nie dotyczy. |
| MongoDB | Wersja GA dostępna | • Obsługa tylko równoważnych zapytań bazy danych MongoDB. • Double jest odczytywane jako typ danych ciąg. |
Uaktualnianie połączonej usługi MongoDB
Utwórz nową połączoną usługę MongoDB i skonfiguruj ją, odwołując się do właściwości połączonej usługi.
Powiązana zawartość
Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz obsługiwane magazyny danych.