Rozwiązywanie problemów z łącznikami usługi Azure Data Lake Storage w usługach Azure Data Factory i Azure Synapse
DOTYCZY: Azure Data Factory Azure Synapse Analytics
Napiwek
Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !
Ten artykuł zawiera sugestie dotyczące rozwiązywania typowych problemów z łącznikami usługi Azure Data Lake Storage Gen1 i Gen2 w usługach Azure Data Factory i Azure Synapse.
Usługa Azure Data Lake Storage 1. generacji
Komunikat o błędzie: Połączenie bazowe zostało zamknięte: nie można ustanowić relacji zaufania dla bezpiecznego kanału SSL/TLS.
Objawy: działanie Kopiuj kończy się niepowodzeniem z powodu następującego błędu:
Message: ErrorCode = UserErrorFailedFileOperation, Error Message = The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Przyczyna: Walidacja certyfikatu nie powiodła się podczas uzgadniania protokołu TLS.
Rozwiązanie: Aby obejść ten problem, użyj przygotowanej kopii, aby pominąć walidację protokołu Transport Layer Security (TLS) dla usługi Azure Data Lake Storage Gen1. Należy odtworzyć ten problem i zebrać ślad monitora sieciowego (netmon), a następnie zaangażować zespół ds. sieci, aby sprawdzić konfigurację sieci lokalnej.
Komunikat o błędzie: Serwer zdalny zwrócił błąd: (403) Zabronione
Objawy: działanie Kopiuj niepowodzenie z powodu następującego błędu:
Message: The remote server returned an error: (403) Forbidden. Response details: {"RemoteException":{"exception":"AccessControlException""message":"CREATE failed with error 0x83090aa2 (Forbidden. ACL verification failed. Either the resource does not exist or the user is not authorized to perform the requested operation.)....
Przyczyna: Jedną z możliwych przyczyn jest to, że używana jednostka usługi lub tożsamość zarządzana nie ma uprawnień dostępu do niektórych folderów lub plików.
Rozwiązanie: Przyznaj odpowiednie uprawnienia do wszystkich folderów i podfolderów, które należy skopiować. Aby uzyskać więcej informacji, zobacz Kopiowanie danych do lub z usługi Azure Data Lake Storage Gen1.
Komunikat o błędzie: Nie można uzyskać tokenu dostępu przy użyciu jednostki usługi. Błąd biblioteki ADAL: service_unavailable
Objawy: działanie Kopiuj kończy się niepowodzeniem z powodu następującego błędu:
Failed to get access token by using service principal. ADAL Error: service_unavailable, The remote server returned an error: (503) Server Unavailable.
Przyczyna: Jeśli serwer tokenów usługi (STS) należący do identyfikatora Microsoft Entra jest niedostępny, oznacza to, że jest zbyt zajęty do obsługi żądań i zwraca błąd HTTP 503.
Rozwiązanie: Uruchom ponownie działanie kopiowania po kilku minutach.
Azure Data Lake Storage Gen2
Kod błędu: ADLSGen2OperationFailed
Komunikat:
ADLS Gen2 operation failed for: %adlsGen2Message;.%exceptionData;.
Przyczyny i zalecenia: Różne przyczyny mogą prowadzić do tego błędu. Zapoznaj się z poniższą listą, aby zapoznać się z możliwymi analizami przyczyn i powiązanymi zaleceniami.
Analiza przyczyny Zalecenie Jeśli usługa Azure Data Lake Storage Gen2 zgłasza błąd wskazujący, że operacja nie powiodła się. Sprawdź szczegółowy komunikat o błędzie zgłoszony przez usługę Azure Data Lake Storage Gen2. Jeśli błąd jest błędem przejściowym, spróbuj ponownie wykonać operację. Aby uzyskać dalszą pomoc, skontaktuj się z pomocą techniczną usługi Azure Storage i podaj identyfikator żądania w komunikacie o błędzie. Jeśli komunikat o błędzie zawiera ciąg "Zabronione", używana jednostka usługi lub tożsamość zarządzana może nie mieć wystarczających uprawnień dostępu do usługi Azure Data Lake Storage Gen2. Aby rozwiązać ten problem, zobacz Kopiowanie i przekształcanie danych w usłudze Azure Data Lake Storage Gen2. Jeśli komunikat o błędzie zawiera ciąg "InternalServerError", błąd jest zwracany przez usługę Azure Data Lake Storage Gen2. Błąd może być spowodowany przez błąd przejściowy. Jeśli jest, spróbuj ponownie wykonać operację. Jeśli problem będzie się powtarzać, skontaktuj się z pomocą techniczną usługi Azure Storage i podaj identyfikator żądania z komunikatu o błędzie. Jeśli komunikat o błędzie to Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host
, środowisko Integration Runtime ma problem z siecią podczas nawiązywania połączenia z usługą Azure Data Lake Storage Gen2.W ustawieniu reguły zapory usługi Azure Data Lake Storage Gen2 upewnij się, że adresy IP usługi Azure Data Factory znajdują się na liście dozwolonych. Aby uzyskać więcej informacji, zobacz Konfigurowanie zapór i sieci wirtualnych usługi Azure Storage. Jeśli komunikat o błędzie to This endpoint does not support BlobStorageEvents or SoftDelete
, używasz połączonej usługi Azure Data Lake Storage Gen2 w celu nawiązania połączenia z kontem usługi Azure Blob Storage, które włącza zdarzenia usługi Blob Storage lub usuwanie nietrwałe.Wypróbuj następujące opcje:
1. Jeśli nadal chcesz użyć połączonej usługi Azure Data Lake Storage Gen2, uaktualnij usługę Azure Blob Storage do usługi Azure Data Lake Storage Gen2. Aby uzyskać więcej informacji, zobacz Uaktualnianie usługi Azure Blob Storage przy użyciu funkcji usługi Azure Data Lake Storage Gen2.
2. Przełącz połączoną usługę do usługi Azure Blob Storage.
3. Wyłącz zdarzenia usługi Blob Storage lub usuwanie nietrwałe na koncie usługi Azure Blob Storage.
Żądanie do konta usługi Azure Data Lake Storage Gen2 spowodowało błąd przekroczenia limitu czasu
Komunikat:
- Kod błędu =
UserErrorFailedBlobFSOperation
- Komunikat o błędzie =
BlobFS operation failed for: A task was canceled.
- Kod błędu =
Przyczyna: Problem jest spowodowany błędem przekroczenia limitu czasu ujścia usługi Azure Data Lake Storage Gen2, który zwykle występuje na maszynie własnego środowiska Integration Runtime (IR).
Zalecenie:
Umieść maszynę własnego środowiska IR i docelowe konto usługi Azure Data Lake Storage Gen2 w tym samym regionie, jeśli to możliwe. Może to pomóc uniknąć losowego błędu przekroczenia limitu czasu i zwiększyć wydajność.
Sprawdź, czy istnieje specjalne ustawienie sieci, takie jak ExpressRoute, i upewnij się, że sieć ma wystarczającą przepustowość. Zalecamy obniżenie ustawienia Współbieżnych zadań środowiska IR hostowanych samodzielnie, gdy ogólna przepustowość jest niska. Może to pomóc uniknąć konkurencji zasobów sieciowych w wielu współbieżnych zadaniach.
Jeśli rozmiar pliku jest umiarkowany lub mały, użyj mniejszego rozmiaru bloku dla kopii niebinarnej, aby wyeliminować taki błąd przekroczenia limitu czasu. Aby uzyskać więcej informacji, zobacz Blob Storage Put Block (Umieszczanie bloku w usłudze Blob Storage).
Aby określić niestandardowy rozmiar bloku, zmodyfikuj właściwość w edytorze plików JSON, jak pokazano poniżej:
"sink": { "type": "DelimitedTextSink", "storeSettings": { "type": "AzureBlobFSWriteSettings", "blockSizeInMB": 8 } }
Działanie kopiowania nie może wybrać plików z usługi Azure Data Lake Storage Gen2
Objawy: Działanie kopiowania nie może wybrać plików z usługi Azure Data Lake Storage Gen2, gdy nazwa pliku to "Asset_Metadata". Problem występuje tylko w zestawie danych typu Parquet. Inne typy zestawów danych o tej samej nazwie pliku działają poprawnie.
Przyczyna: Zgodność z poprzednimi
_metadata
wersjami jest traktowana jako zastrzeżony podciąg w nazwie pliku.Zalecenie: Zmień nazwę pliku, aby uniknąć listy zarezerwowanej dla parquet poniżej:
- Nazwa pliku zawiera
_metadata
. - Nazwa pliku zaczyna się od
.
(kropka).
- Nazwa pliku zawiera
Kod błędu: ADLSGen2ForbiddenError
Komunikat:
ADLS Gen2 failed for forbidden: Storage operation % on % get failed with 'Operation returned an invalid status code 'Forbidden'.
Przyczyna: Istnieją dwie możliwe przyczyny:
- Środowisko Integration Runtime jest blokowane przez dostęp sieciowy w ustawieniach zapory konta usługi Azure Storage.
- Jednostka usługi lub tożsamość zarządzana nie ma wystarczających uprawnień dostępu do danych.
Zalecenie:
Sprawdź ustawienia sieciowe konta usługi Azure Storage, aby sprawdzić, czy dostęp do sieci publicznej jest wyłączony. Jeśli to ustawienie jest wyłączone, użyj zarządzanego środowiska Integration Runtime sieci wirtualnej i utwórz prywatny punkt końcowy w celu uzyskania dostępu. Aby uzyskać więcej informacji, zobacz Zarządzana sieć wirtualna i Tworzenie potoku kopiowania przy użyciu zarządzanej sieci wirtualnej i prywatnych punktów końcowych.
Jeśli włączono wybrane sieci wirtualne i adresy IP w ustawieniu sieci konta magazynu platformy Azure:
Jest to możliwe, ponieważ niektóre zakresy adresów IP środowiska Integration Runtime nie są dozwolone przez ustawienia zapory konta magazynu. Dodaj adresy IP środowiska Azure Integration Runtime lub adres IP własnego środowiska Integration Runtime do zapory konta magazynu. Aby uzyskać informacje o adresach IP środowiska Azure Integration Runtime, zobacz Adresy IP środowiska Azure Integration Runtime i dowiedz się, jak dodawać zakresy adresów IP w zaporze konta magazynu, zobacz Zarządzanie regułami sieci ip.
Jeśli zezwolisz zaufanym usługom platformy Azure na dostęp do tego konta magazynu w zaporze, musisz użyć uwierzytelniania tożsamości zarządzanej w działaniu kopiowania.
Aby uzyskać więcej informacji na temat ustawień zapór konta usługi Azure Storage, zobacz Konfigurowanie zapór i sieci wirtualnych usługi Azure Storage.
Jeśli używasz uwierzytelniania jednostki usługi lub tożsamości zarządzanej, przyznaj jednostce usługi lub tożsamości zarządzanej odpowiednie uprawnienia do kopiowania. W przypadku źródła co najmniej rola Czytelnik danych obiektu blob usługi Storage. W przypadku ujścia co najmniej rola Współautor danych obiektu blob usługi Storage. Aby uzyskać więcej informacji, zobacz Kopiowanie i przekształcanie danych w usłudze Azure Data Lake Storage Gen2.
Powiązana zawartość
Aby uzyskać pomoc dotyczącą rozwiązywania problemów, wypróbuj następujące zasoby: