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.
W tym artykule opisano sposób używania Akcji Kopiowania w potokach usługi Azure Data Factory Synapse Analytics do kopiowania danych do i z bazy danych 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 korzystasz ze starszego łącznika MongoDB w swoim rozwiązaniu, który obsługiwany jest "jak jest" wyłącznie ze względu na zgodność wsteczną, zapoznaj się z artykułem MongoDB connector (legacy).
Obsługiwane możliwości
Ten konektor MongoDB jest obsługiwany dla następujących funkcji:
| 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
Aby uzyskać listę magazynów danych obsługiwanych jako źródła/ujścia, zobacz tabelę 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
Tworzenie połączonej usługi z bazą danych MongoDB przy użyciu 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 karty Zarządzanie w obszarze roboczym Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:
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
Następujące właściwości są obsługiwane w przypadku połączonej usługi MongoDB:
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Właściwość type musi być ustawiona na: MongoDbV2 | Tak |
| Parametry połączenia | Określ ciąg połączeniowy MongoDB, np. mongodb://[username:password@]host[:port][/[database][?options]]. Aby uzyskać więcej informacji, zapoznaj się z podręcznikiem MongoDB dotyczącym parametry połączenia. Można również umieścić ciąg połączenia w Azure Key Vault. Aby uzyskać więcej informacji, odnieś się do Store credentials in Azure Key Vault. |
Tak |
| baza danych | Nazwa bazy danych, do której chcesz uzyskać dostęp. | Tak |
| connectVia | Integration Runtime używany do nawiązania połączenia z magazynem danych. Dowiedz się więcej w sekcji Wymagania wstępne . Jeśli nie zostanie to określone, zostanie użyta Azure Integration Runtime domyślna. | 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
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz Zestawy danych i połączone usługi. Następujące właściwości są obsługiwane w przypadku zestawu danych MongoDB:
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Właściwość type zestawu danych musi być ustawiona 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
Następujące właściwości są obsługiwane w sekcji źródło działania kopiowania:
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Właściwość type źródła działania kopiowania musi być ustawiona 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 modyfikowanie rozmiaru partii nie wpłynie na użytkownika ani aplikację. Azure Cosmos DB ogranicza każdą partię do 40 MB, co oznacza, że łączny rozmiar dokumentów w partii nie może przekraczać tego limitu. Zmniejsz tę wartość, jeśli rozmiary Twoich dokumentów są duże. | 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 Ścisłym, a nie w trybie Powłoki. Więcej informacji można znaleźć w podręczniku bazy danych 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
Następujące właściwości są obsługiwane w sekcji działania kopiowania odbiornika:
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Właściwość type ujścia działania kopiowania musi być ustawiona 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 rozmiar dokumentów do zapisu w każdej partii. Możesz spróbować zwiększyć wartość parametru writeBatchSize , aby zwiększyć wydajność i zmniejszyć wartość, jeśli rozmiar dokumentu jest duży. | 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 w ich oryginalnej postaci, zapoznaj się z sekcją Importowanie lub eksportowanie dokumentów JSON. Aby skopiować z danych o strukturze tabelarycznej, zapoznaj się z mapowaniem 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
Możesz użyć tego łącznika bazy danych MongoDB, aby łatwo:
- 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
Podczas kopiowania danych z bazy danych MongoDB następujące mapowania są używane z typów danych Bazy danych MongoDB do tymczasowych typów danych używanych przez usługę wewnętrznie. Zobacz Mapowania schematu i typu danych, aby dowiedzieć się, jak działanie kopiowania mapuje schemat źródłowy i typ danych na miejsce docelowe.
| 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.