Poza tym importowanie danych z konkretnej tabeli do wiadra S3 umożliwia przetwarzanie złożonych zapytań i wykonywanie analizy danych za pomocą kleju AWS, formacji jeziora i Atheny. Funkcja eksportu tabeli DynamoDB to w pełni zarządzane, niezawodne i szybkie rozwiązanie. Co więcej, eksportowanie tabeli nie zużywa pojemności odczytu tabeli, ani nie wpływa na jego wydajność i dostępność.
W tym artykule omówiono wszystko, co powinieneś wiedzieć o eksportowaniu tabel DynamoDB do Amazon S3. Dowiesz się, jak eksportować tabele DynamoDB do S3 za pomocą Boto3.
Jak eksportować dane z DynamODB do Amazon S3
Aby wyeksportować dane z Amazon DynamoDB do Amazon S3, możesz użyć usługi AWS Data Pipeline i skonfigurować je do okresowego eksportu danych z tabeli DynamoDB do wiadra S3. Możliwe jest również użycie usługi kleju AWS do eksportowania danych z DynamODB do S3, tworząc klej, który wskazuje na tabelę DynamoDB i zadanie kleju, które eksportuje dane do S3.
Innym podejściem byłoby użycie SDK AWS do napisania skryptu, który eksportuje dane z tabeli DynamODB do S3. Skrypt użyłby interfejsu API DynamoDB do skanowania lub zapytania tabeli, a następnie S3 API do zapisania danych do wiadra.
Poniżej znajdują się kroki związane z eksportowaniem tabeli DynamoDB do Amazon S3:
Krok 1: Zainstaluj bibliotekę Boto3
Możesz użyć PIP Instaluj boto3 polecenie instalacji biblioteki Boto3, która jest SDK Amazon Web Services (AWS) dla Pythona. W szczególności biblioteka pozwala programistom Python pisać oprogramowanie, które korzysta z usług takich jak Amazon S3 i Amazon EC2.
Kod instalacyjny jest jak pokazano poniżej:
PIP Instaluj boto3
Krok 2: Zaimportuj wymagane biblioteki
Import Boto3 I Importuj JSON Narzędzia importuj niezbędne biblioteki dla twojego skryptu. Boto3 przydaje się do interakcji z usługami AWS, a JSON jest używany do czytania i pisania danych JSON.
Twoja linia poleceń powinna wyglądać tak:
Import Boto3
Importuj JSON
Krok 3: Utwórz klientów dla DynamODB i S3
Będziesz używał klientów do przesłania z S3 i DynamoDB. Aby to osiągnąć, musisz użyć DynamODB = Boto3.Klient („DynamODB”) I S3 = Boto3.Klient („S3”) Polecenia do tworzenia klientów odpowiednio dla DynamoDB i Amazon S3.
Możesz użyć wiersza poleceń poniżej:
DynamODB = Boto3.Klient („DynamODB”)
S3 = Boto3.Klient („S3”)
Krok 4: Podaj nazwę tabeli i nazwę S3 Bucket
Zdefiniuj swoje nazwy stołu i s3 za pomocą poniższych kodów:
TABLE_NAME = „MyTableName”
Bucket_name = „MYBUCKETName”
Krok 5: Użyj operacji skanowania, aby pobierać elementy
Możesz użyć operacji skanowania lub zapytań, aby pobrać wszystkie elementy z tabeli. W tej ilustracji użyjemy operacji skanowania do pobierania przedmiotów, jak pokazano:
wynik = DynamODB.Scan (TableName = Table_name)
Krok 6: Napisz elementy do pliku
Użyj lokalnego systemu plików, aby zapisać elementy do pliku. Plik automatycznie przyjmie nazwę „Dane.JSON 'w lokalnym systemie plików. To narzędzie powinno pomóc:
z otwartym („Dane.JSON ', „W”) jako dane danych:
plik danych.Napisz (JSON.zrzuty (wynik ['i elementy])))
Krok 7: Prześlij nowy plik do Amazon S3
Możesz teraz przesłać swój plik do określonego wiadra S3 za pomocą wiersza polecenia poniżej:
S3.upload_file („Dane.JSON ', nazwa_ketka, „Dane.JSON ')
Krok 8: Sprawdź dane danych
Ten krok jest opcjonalny, ale idealny, jeśli chcesz zweryfikować swoje dane. Możesz wykonać procedurę sprawdzania poprawności, pobierając plik z Amazon S3 przed przeczytaniem.
Wniosek
Należy zauważyć, że skrypt jest podstawowym przykładem i może być odpowiedni tylko dla niektórych zestawów danych. W przypadku dużych zestawów danych rozważ użycie Boto3.Dynamodb.typy.TypeSerializer do serializacji lub sformatowania elementów i paginianu przez wyniki za pomocą Dynamodb.skanowanie() metoda. Limit I ExclusiveStartkey Parametry przydadzą się podczas paginacji.