Utrwalanie danych wyjściowych zadań i zadań podrzędnych
Zadanie uruchomione w Azure Batch może generować dane wyjściowe po uruchomieniu. Dane wyjściowe zadania często muszą być przechowywane do pobierania przez inne zadania podrzędne w zadaniu, aplikację kliencą, która wykonała zadanie lub oba te zadania. Zadania zapisują dane wyjściowe w systemie plików węzła obliczeniowego usługi Batch, ale wszystkie dane w węźle są tracone, gdy jest odtwarzany z obrazu lub gdy węzeł opuszcza pulę. Zadania mogą również mieć okres przechowywania plików, po którym pliki utworzone przez zadanie są usuwane. Z tych powodów ważne jest utrwalanie danych wyjściowych zadania, które będą potrzebne później w magazynie danych, takim jak Usługa Azure Storage.
Aby uzyskać informacje o opcjach konta magazynu w usłudze Batch, zobacz Konta usługi Batch i konta usługi Azure Storage.
Oto kilka typowych przykładów danych wyjściowych zadania:
- Pliki utworzone podczas przetwarzania danych wejściowych przez zadanie.
- Pliki dziennika skojarzone z wykonywaniem zadań.
W tym artykule opisano różne opcje utrwalania danych wyjściowych. Możesz utrwalać dane wyjściowe z zadań i zadań usługi Batch do usługi Azure Storage lub innych magazynów.
Opcje utrwalania danych wyjściowych
Istnieje wiele sposobów utrwalania danych wyjściowych. Wybierz najlepszą metodę dla danego scenariusza:
- Użyj interfejsu API usługi Batch.
- Użyj biblioteki Konwencji plików usługi Batch dla platformy .NET.
- Użyj biblioteki Konwencji plików usługi Batch dla aplikacji C# i .NET.
- Użyj standardu Konwencje plików wsadowych dla języków innych niż .NET.
- Użyj niestandardowego rozwiązania do przenoszenia plików.
Interfejs API usługi Batch
Interfejs API usługi Batch umożliwia utrwalanie danych wyjściowych. Określ pliki wyjściowe w usłudze Azure Storage dla danych zadań podczas dodawania zadania do zadania lub dodawania kolekcji zadań do zadania.
Aby uzyskać więcej informacji, zobacz Utrwalanie danych zadań w usłudze Azure Storage przy użyciu interfejsu API usługi Batch.
Biblioteka konwencji plików usługi Batch
Standard Konwencji plików usługi Batch to opcjonalny zestaw konwencji nazewnictwa plików wyjściowych zadań w usłudze Azure Storage. Standard zawiera konwencje nazewnictwa dla docelowego kontenera i ścieżki obiektu blob pliku na podstawie nazw zadania i zadania.
Opcjonalnie można użyć standardu Konwencje plików na potrzeby nazewnictwa wyjściowych plików danych. Zamiast tego możesz nazwać kontener docelowy i ścieżkę obiektu blob. Jeśli używasz standardu Konwencje plików, możesz wyświetlić pliki wyjściowe w Azure Portal.
Jeśli tworzysz rozwiązanie usługi Batch za pomocą języka C# i platformy .NET, możesz użyć biblioteki Konwencji plików usługi Batch dla platformy .NET. Biblioteka przenosi pliki wyjściowe do usługi Azure Storage oraz nazwy kontenerów docelowych i obiektów blob zgodnie ze standardem Konwencje plików usługi Batch.
Aby uzyskać więcej informacji, zobacz Utrwalanie danych zadań i zadań w usłudze Azure Storage przy użyciu biblioteki Konwencji plików usługi Batch dla platformy .NET.
Konwencje plików wsadowych w warstwie Standardowa
Jeśli używasz języka innego niż .NET, możesz zaimplementować standard Konwencji plików usługi Batch we własnej aplikacji. Użyj tej metody, gdy:
- Chcesz użyć wspólnego schematu nazewnictwa.
- Chcesz wyświetlić dane wyjściowe zadania w Azure Portal.
Niestandardowe rozwiązanie do przenoszenia plików
Możesz również zaimplementować własne kompletne rozwiązanie do przenoszenia plików. Użyj tej metody, gdy:
- Chcesz utrwalać dane zadań w magazynie danych innym niż usługa Azure Storage. Na przykład chcesz przekazać pliki do magazynu danych, takiego jak Azure SQL lub Azure DataLake. Utwórz niestandardowy skrypt lub plik wykonywalny, aby przekazać go do tej lokalizacji. Następnie wywołaj skrypt niestandardowy lub plik wykonywalny w wierszu polecenia po uruchomieniu podstawowego pliku wykonywalnego. Na przykład w węźle systemu Windows wywołaj metodę
doMyWork.exe && uploadMyFilesToSql.exe
. - Chcesz utworzyć punkty kontrolne lub wczesne przekazywanie początkowych wyników.
- Chcesz zachować szczegółową kontrolę nad obsługą błędów. Na przykład chcesz użyć akcji zależności zadań , aby wykonać określone akcje przekazywania na podstawie określonych kodów zakończenia zadania.
Zagadnienia dotyczące projektowania
Podczas projektowania rozwiązania usługi Batch należy wziąć pod uwagę następujące czynniki.
Węzły obliczeniowe są często przejściowe, szczególnie w pulach usługi Batch z włączonym skalowaniem automatycznym. Dane wyjściowe można wyświetlić tylko z zadania:
- Węzeł, w którym jest uruchomione zadanie, istnieje.
- W okresie przechowywania plików ustawionym dla zadania.
Po wyświetleniu zadania usługi Batch w Azure Portal i wybraniu pozycji Pliki w węźle zostaną wyświetlone wszystkie pliki dla tego zadania, a nie tylko pliki wyjściowe. Aby pobrać dane wyjściowe zadania bezpośrednio z węzłów obliczeniowych w puli, potrzebna jest nazwa pliku i jego lokalizacja wyjściowa w węźle.
Jeśli chcesz przechowywać dane wyjściowe zadania dłużej, skonfiguruj zadanie, aby przekazywać pliki wyjściowe do magazynu danych. Zaleca się używanie usługi Azure Storage jako magazynu danych. Istnieje integracja do zapisywania danych wyjściowych zadań w usłudze Azure Storage w interfejsie API usługi Batch. Możesz użyć innych opcji trwałego magazynu, aby zachować dane. Należy jednak samodzielnie napisać logikę aplikacji dla innych opcji magazynu.
Aby wyświetlić dane wyjściowe w usłudze Azure Storage, użyj Azure Portal lub aplikacji klienckiej usługi Azure Storage, takiej jak Eksplorator usługi Azure Storage. Zanotuj lokalizację pliku wyjściowego i przejdź bezpośrednio do tej lokalizacji.