Accesso DynamoDB con Boto3

Accesso DynamoDB con Boto3
Amazon Web Services è attualmente il più grande fornitore mondiale di infrastrutture cloud. Una delle sue soluzioni popolari è DynamoDB. È un database gestito senza SQL che si distingue altamente scalabile, veloce, orientato alle prestazioni e flessibile. È interessante notare che DynamoDB supporta i linguaggi di programmazione selezionati tra cui Python usando Boto3 e AWS 'SDK per Python.

Questo articolo spiega come è possibile accedere a DynamoDB usando Boto3. Dopo aver configurato correttamente il sistema per accedere a DynamoDB con Boto3, è possibile eseguire tutte le funzioni amministrative. Queste funzioni includono la creazione, la lettura, l'aggiornamento e l'eliminazione (CRUD).

Guida passo-passo su come connettersi a AWS DynamoDB usando Boto3

I seguenti passaggi ti aiuteranno ad avviare una connessione a DynamoDB usando Boto3 che è AWS SDK per Python Language:

Passaggio 1: creare un account utente IAM su AWS

Prima di iniziare questo processo di configurazione, il nostro presupposto iniziale è che hai un account AWS. Poiché è una regola standard non accedere all'account utente root di Amazon Web Services, è necessario creare un account IAM o accedere utilizzando il tuo account se ne hai già uno. Esistono due metodi per creare un account IAM:

Metodo 1:
Puoi crearlo dalla pagina AWS ufficiale, come mostrato nella seguente screenshot. Si prega di non utilizzare le password per l'ID account poiché questo rimane sempre visibile. Invece, puoi usare un'identificazione univoca.

Metodo 2:
Se hai già effettuato l'accesso al tuo account AWS, puoi passare alla sezione tutti i servizi e fare clic sulla scheda IAM come mostrato nella seguente screenshot. Navigare come richiesto e creare un utente.

Qualunque metodo utilizzi, crea un utente e manovra per creare le proprietà di sicurezza pertinenti. Dai al tuo utente il Accesso pragmatico. Una volta che sei lì, vai sotto le politiche e fai clic sulla casella contrassegnata che contiene le politiche esistenti per questo utente, rendendo l'utente un amministratore. Segna sull'amministratore accesso sotto il nome della politica come evidenziato nella seguente screenshot:

Copia il tuo ID di accesso e la chiave segreta. Salvali altrove perché questa è l'unica volta che puoi vedere queste credenziali. Ma non hai bisogno di preoccuparti. AWS ti consente di creare più chiavi ogni volta che ne hai bisogno.

Passaggio 2: creare un ambiente virtuale Python

È interessante notare che DynamoDB è compatibile con Python 2.7 o qualsiasi versione successiva. In questo tutorial, useremo Python versione 3.11.0. Mentre puoi anche usare VENV per creare un ambiente virtuale, usiamo Anaconda per questo progetto.

Apri il prompt dei comandi della macchina ed esegui questo comando:

Conda Create --Name DynamoDB_ENV Python = 3.11

Tipo y dopo questo comando per procedere. Una volta fatto, è possibile attivare l'ambiente Python utilizzando la seguente utilità. Il nome dell'ambiente è quindi DynamoDB_ENV come illustrato nel seguente:

Conda Attiva DynamoDB_ENV

Passaggio 3: ottenere i dati dalla tua API

Il prossimo passo è ottenere i dati dall'API preferita. Useremo l'ISS per questa dimostrazione. Assicurati che il payload richiesto dati abbia tutti i componenti richiesti tra cui un timestamp e ISS_Position.


"Messaggio": "successo",
"timestamp": unix_time_stamp,
"ISS_Position":
"Latitudine": current_latitude,
"Longitudine": Current_Longitude

Passaggio 4: installa Boto3 e configuralo con DynamoDB

È tempo di installare la dipendenza Boto3 nel sistema eseguendo il comando seguente:

Python -M Pip Installa Boto3

Una volta fatto, usa Python per connettersi con l'istanza DynamoDB locale. La seguente linea di utilità dovrebbe aiutarti a raggiungere questo obiettivo:

DynamoDB = boto3.Resource ('DynamoDB', endpoint_url = "http: // localhost: 8000")

Ora, importa la dipendenza Boto3 insieme alle richieste pertinenti nei tuoi script. Il seguente comando ti aiuterà:

Importa Boto3
richieste di importazione

I comandi indicati riportano un errore come mostrato nella figura seguente. Il motivo per cui si verifica questo errore è che dobbiamo ancora installare Boto3 nei nostri sistemi.

Installa i moduli forniti restituendo sulla riga di comando ed eseguendo il comando seguente:

Uscita()

Tutti i moduli sono correlati solo all'ambiente virtuale che viene inizialmente attivato. Puoi usare quanto segue PIP I comandi per installare i moduli poiché solo un'installazione riuscita eviterà gli errori:

PIP Installa Boto3
Richieste di installazione di PIP

Se riesci a aprire di nuovo Python ed eseguire il importare comandi correttamente senza errori, significa che l'installazione ha esito positivo. Puoi eseguire il Uscita() comanda nuovamente per terminare questa procedura e tornare alla riga di comando.

Passaggio 5: crea un client DynamoDB

Questa istanza di connessione consente di connettersi con il servizio DynamoDB. Quando si crea un client, specificare gli elementi chiave tra cui region_name, secret_access_key e AWS_ACCESS_KEY_ID.

Il seguente comando dovrebbe aiutare:

Dynamo_Client = Boto3.Resource (Service_name = 'DynamoDB', region_name = 'US-EAST-1',
AWS_ACCESS_KEY_ID = 'XXXXXXXXXXXXXXX',
AWS_SECRET_ACCESS_KEY = 'ABCD53JUVGSU5WRCV5A7)

Passaggio 6: elenca i servizi per risorsa

Se si desidera elencare i servizi disponibili per risorsa, questa riga di comando aiuta:

Dynamo_Client.get_available_subresources ()
[3]: [Tabella]

Passaggio 7: connettiti con una tabella

Infine, puoi connetterti con una tabella utilizzando il comando seguente:

### Ottenere la tabella del prodotto
Product_Table = Dynamo_Client.Tabella ('Product_table1')
Product_table.Table_status

Conclusione

Questo è un tutorial dettagliato su come accedere a DynamoDB con Boto3 su Python. È possibile eseguire diverse azioni sulla piattaforma DynamoDB con l'installazione e la configurazione riuscite. Ad esempio, è possibile utilizzare il comando CD per creare una tabella DynamoDB e il modulo richieste per aggiornare una tabella DynamoDB o è possibile scansionare una tabella per convalidare qualsiasi aggiornamento.