Amazon DynamoDB Eksport do S3

Amazon DynamoDB Eksport do S3
Możesz wygodnie eksportować dane z tabeli DynamODB AWS do wiadra Amazon S3. Może się to zdarzyć w dowolnym momencie, o ile jest to w oknie odzyskiwania punktu. Ta funkcja umożliwia kopię zapasową danych.

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.