Usa Autonomous AI Database API per DynamoDB

L'API di Autonomous AI Database per DynamoDB consente di memorizzare, gestire e recuperare i dati in un Autonomous AI Database utilizzando un formato chiave-valore.

Argomenti

Informazioni sull'uso di Autonomous AI Database API per DynamoDB

Oracle Autonomous AI Database offre l'API Autonomous AI Database per DynamoDB, con Autonomous AI Database di Oracle completamente gestito, che ti consente di utilizzare gli strumenti DynamoDB esistenti e gli SDK per lavorare senza problemi con Autonomous AI Database.

Utilizzando l'API di compatibilità Oracle Autonomous AI Database per DynamoDB, puoi continuare a utilizzare i tuoi client DynamoDB esistenti e apportare modifiche minime alle tue applicazioni per lavorare con Autonomous AI Database. Puoi utilizzare gli SDK DynamoDB standard per integrare le tue applicazioni DynamoDB esistenti con Autonomous AI Database. Le API offrono operazioni DynamoDB familiari come, ad esempio, GetItem, DeleteItem, CreateTable e DeleteTable, consentendo di eseguire la migrazione delle applicazioni DynamoDB in Autonomous AI Database.

Utilizzando l'API di Autonomous AI Database per DynamoDB, puoi sfruttare le funzioni di Autonomous AI Database mantenendo la compatibilità con DynamoDB.

Per ulteriori informazioni, consulta Amazon DynamoDB.

Requisiti indispensabili

Elenca i prerequisiti per utilizzare l'API di Autonomous AI Database per DynamoDB con Autonomous AI Database.

Prima di abilitare l'API di Autonomous AI Database per DynamoDB per il database, tenere presente quanto riportato di seguito.

  • Autonomous AI Database API for DynamoDB è supportato solo per Autonomous AI Database con il tipo di carico di lavoro Transaction Processing.

  • L'istanza di Autonomous AI Database non deve far parte di un pool elastico. Se si tenta di abilitare l'API di Autonomous AI Database per DynamoDB in un Autonomous AI Database che fa parte di un gruppo elastico o si tenta di aggiungere un database con queste API abilitate a un gruppo elastico, si riceve un errore. I database AI autonomi con l'API di Autonomous AI Database per DynamoDB abilitata non possono essere membri di alcun gruppo elastico.

Abilita l'API di Autonomous AI Database per DynamoDB su Autonomous AI Database

Descrive i passi per generare la chiave di accesso e la chiave segreta per richiamare l'API DynamoDB dall'istanza di Autonomous AI Database.

Eseguire i passi dei prerequisiti riportati di seguito, se necessario.

  • Apri la console di Oracle Cloud Infrastructure facendo clic su icona di navigazione accanto a Cloud.

  • Nel menu di navigazione a sinistra di Oracle Cloud Infrastructure fai clic su Oracle Database, quindi fai clic su Autonomous AI Database.

  • Nella pagina Autonomous AI Database, selezionare Autonomous AI Database dai collegamenti nella colonna Nome visualizzato.

Per abilitare le API DynamoDB in un'istanza di Autonomous AI Database, effettuare le operazioni riportate di seguito.

  1. Nell'elenco a discesa Altre azioni selezionare Gestisci tag.

    Viene visualizzata la pagina Aggiungi tag.

  2. Fornire i valori riportati di seguito per assegnare le tag ad Autonomous AI Database.
    • Spazio di nomi: per aggiungere un tag free-from, lasciare vuoto il valore.

    • Chiave adb$feature

    • Valore: {"name":"DYNAMODBAPI","enable":true}

    Fare clic su Aggiungi per aggiungere la tag.

    Dopo aver fatto clic su Aggiungi, nel campo Stato del ciclo di vita viene visualizzato Aggiornamento e Autonomous AI Database genera una richiesta di lavoro Aggiorna tag Autonomous Database. Per visualizzare la richiesta, nella pagina dei dettagli selezionare la scheda Richieste di lavoro.

    L'abilitazione di Autonomous AI Database API per DynamoDB potrebbe richiedere fino a dieci (10) minuti.

    Dopo aver abilitato Oracle Database API for DynamoDB nel database Autonomous AI, è possibile utilizzare l'endpoint REST https://dataaccess.adb.{oci-region_name}.oraclecloudapps.com/adb/keyvaluestore/v1/{database-ocid} per eseguire operazioni DynamoDB. Per accedere all'API DynamoDB Oracle Autonomous, sono necessari un ID chiave di accesso valido, una chiave di accesso segreta e i privilegi necessari per le operazioni in uso, ad esempio il privilegio CREATE_TABLE è necessario per creare una tabella DynamoDB.

    L'URI per le operazioni API DynamoDB Autonomous Oracle è:

    https://dataaccess.adb.{oci-region_name}.oraclecloudapps.com/adb/keyvaluestore/v1/{database-ocid}

    Ad esempio:

    https://dataaccess.adb.us-phoenix-1.oraclecloudapps.com/adb/keyvaluestore/v1/OCID1.AUTONOMOUSDATABASE.OC1.PHX.ANYHQLJRGDV...EXAMPLE

Configurare l'accesso per richiamare le API DynamoDB

In questa sezione vengono descritti i passi per creare e gestire le chiavi di accesso necessarie per autenticare e utilizzare le API compatibili con DynamoDB dopo aver abilitato Autonomous AI Database.

Utilizzare l'endpoint REST https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys per gestire l'accesso alle tabelle DynamoDB. A tale scopo, fornire il nome utente e le credenziali del database. L'utente specificato deve disporre del ruolo PDB_DBA concesso. Queste chiavi di accesso sono necessarie per autenticare le chiamate API ad Autonomous AI Database per DynamoDB.

È necessario assicurarsi che alla chiave di accesso siano assegnate le autorizzazioni necessarie per eseguire operazioni compatibili con DynamoDB. È possibile specificare queste autorizzazioni quando si crea la chiave di accesso o si modifica una chiave esistente per assegnare le autorizzazioni necessarie.

Di seguito è riportato un elenco di autorizzazioni per le chiavi di accesso.

Autorizzazione Descrizione

CREATE_TABLE

Accesso per eseguire la creazione della tabella

READ_ANY

Accesso per eseguire operazioni di lettura di tabelle ed elementi in tutte le tabelle di chiavi compatibili con DynamoDB associate ad Autonomous AI Database. Non include operazioni di backup, ripristino, importazione ed esportazione.

READ_WRITE_ANY

Accesso per eseguire operazioni di lettura e scrittura su tabelle e elementi in tutte le tabelle compatibili con DynamoDB associate ad Autonomous AI Database. Non include operazioni di backup, ripristino, importazione ed esportazione.

ADMIN_ANY

Accesso per eseguire qualsiasi operazione, tra cui creazione di tabelle, backup, ripristino, importazione ed esportazione di tutte le tabelle compatibili con DynamoDB associate ad Autonomous AI Database.

READ <Table(s)>

Accesso per eseguire operazioni di lettura di tabelle ed elementi su una tabella compatibile con DynamoDB specifica associata ad Autonomous AI Database. Non include operazioni di backup, ripristino, importazione ed esportazione.

READ_WRITE on <Table(s)>

Accesso per eseguire operazioni di lettura e scrittura su tabelle e elementi in una tabella compatibile con DynamoDB specifica associata ad Autonomous AI Database. Non include operazioni di backup, ripristino, importazione ed esportazione.

ADMIN on <Table(s)>

Accesso per eseguire qualsiasi operazione, inclusi backup, ripristino, importazione ed esportazione su una tabella compatibile con DynamoDB specifica associata ad Autonomous AI Database.

<operation name> on <Table(s)> Ad esempio, GetItem on <Table(s)>

Accesso per eseguire operazioni specifiche su una tabella compatibile con DynamoDB specifica associata a Autonomous AI Database.

Crea una chiave di accesso

Per creare una chiave di accesso e una chiave segreta nel database, è necessario aver eseguito il login come utente ADMIN o aver ottenuto il ruolo PDB_DBA.

Sintassi e richiesta di esempio per la creazione di una chiave di accesso nel database:

Utilizzare la richiesta API dell'endpoint REST POST https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys per generare la chiave di accesso e la chiave segreta:

Sintassi

POST "https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys"
{
  "name"          : "{<access_key_name>}",         // Required. The name you assign to the access key.
  "description"   : "{<access_key_description>}",  // Optional. A description for the access key.
  "permissions"   : [                             // Optional. Array of permission objects.
    {
      "actions"   : [<List of permissions>],      // Required. List of permitted actions (e.g., "read", "write").
      "resources" : [<List of Tables>]            // Optional. Only applicable for permissions that get applied on Table.
    }
    // ... additional permission objects as needed
  ],
  "expiration_minutes": 120                       // Optional. The key's expiration time in minutes.
}
Parametri di percorso (forniscono l'autenticazione appropriata e sostituiscono i segnaposto con l'OCID effettivo dell'area OCI e del database):
  • name: String: nome chiave di accesso

  • description: String: descrizione della chiave di accesso

  • permissions: Array: (facoltativo) ogni oggetto di questo array definisce quali operazioni (azioni) sono consentite e (facoltativamente) quali tabelle (risorse) sono limitate a tali azioni.
    • actions: Array of Strings (obbligatorio: elenca le operazioni specifiche che la chiave può eseguire. Ad esempio, "CREATE_TABLE", "READ_WRITE", "ADMIN".)

    • resources: Array of Strings (facoltativo: specifica a quali tabelle si applicano le azioni. Se si elencano i nomi delle tabelle in questo array, ad esempio "resources": ["customers", "orders"], le azioni verranno limitate solo a tali tabelle. Se omesso, le azioni verranno applicate a tutte le tabelle del database.)

  • expiration_minutes: Number: (facoltativo) durata della scadenza in minuti

Formato risposta di esempio

{  
  "name": "<access_key_name>",  
  "description": "<access_key_description>",  
  "access_key_id": "<access_key_id>",  
  "secret_access_key": "<generated secret>",  
  "expiration_timestamp": "<access_key_expiration_timestamp>",  
  "permissions": [  
    {  
      "actions"  : [<permissions list>],  
      "resources": [<optional DynamoDb table list>]  
    }  
    // ...more permission objects  
  ]  
}

Esempio: questo esempio mostra come inviare una richiesta POST all'API REST di Oracle Autonomous AI Database per creare una nuova chiave di accesso con autorizzazioni amministrative. La richiesta specifica il nome della chiave e le autorizzazioni necessarie e la risposta include l'ID chiave di accesso, il segreto, l'ora di scadenza e le autorizzazioni appena generate.

# Request
curl -X POST 'https://dataaccess.adb.us-phoenix-1.oraclecloudapps.com/adb/auth/v1/databases/OCID1.AUTONOMOUSDATABASE.OC1.PHX.ANYHQLJRGDV...EXAMPLE/accesskeys'\
--user "AdminUser:TestPass#" \
--header 'Request-Id: 8g89mz8qnet9ufxg4dwrus8m' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "adminkey",
    "permissions": [
        {
            "actions": [
                "ADMIN_ANY"
            ]
        }
    ],
    "expiration_minutes": 120
}'

# Sample Response
{
    "access_key_id": "ak_og67ZI8bdS.....BiHCda7l",
    "secret_access_key": "NzYwZDE5M2E4NDVjZ.....FmMzBiNQ>>",
    "expiration_time": "2025-12-07T03:35:12Z",
    "permissions": [
        {
            "actions": [
                "ADMIN_ANY"
            ]
        }
    ]
}

Parametri di richiesta:
  • database-ocid: OCID del database per il quale viene creata la chiave di accesso.

  • AdminUser: il nome utente del database utilizzato per l'autenticazione.

  • TestPass#: la password dell'utente del database.

  • Request-Id: identificativo univoco per la richiesta API, utile per il tracciamento o la risoluzione dei problemi.

  • Content-Type: specifica il formato del payload della richiesta come JSON (application or json).

  • name: il nome da assegnare alla nuova chiave di accesso.

  • permissions: array che specifica le autorizzazioni da assegnare alla nuova chiave.

    • actions: array di azioni consentite per la chiave di accesso (ad esempio, "ADMIN_ANY" per i privilegi amministrativi)

  • expiration_minutes: specifica la durata in minuti prima della scadenza della chiave di accesso.

Parametri risposta:
  • access_key_id: l'identificativo univoco della chiave di accesso appena creata.

  • secret_access_key: il valore segreto associato alla chiave di accesso. Questa operazione è necessaria per l'autenticazione di richieste API future.

  • expiration_time: l'indicatore orario che indica quando la chiave di accesso scadrà.

  • Array di oggetti autorizzazione assegnati alla chiave di accesso (come indicato nella richiesta).

    • actions: le azioni consentite per la chiave di accesso (ad esempio, "ADMIN_ANY" per i privilegi amministrativi)

Recupera informazioni chiave di accesso

Dopo aver creato una chiave di accesso, utilizzare la richiesta API REST GET /accesskeys per cercare i relativi dettagli, ad esempio il nome, le autorizzazioni associate, l'ora di scadenza e altri metadati pertinenti. Ciò consente di confermare a livello di programmazione i diritti di accesso, di controllare le credenziali o di mostrare le informazioni sulle chiavi di accesso.

Sintassi ed esempio per recuperare i dettagli della chiave di accesso:

Sintassi:

GET https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys/{access_key_id}
    Authorization: Basic <Base64-encoded
    database username and password>request-id: <optional request-id>

Esempio: la chiamata seguente recupera informazioni dettagliate sulla chiave di accesso specificata. In questo modo è possibile confermare gli attributi e le autorizzazioni associati alla chiave di accesso:

# Request
curl -X GET 'https://dataaccess.adb.us-phoenix-1.oraclecloudapps.com/adb/auth/v1/databases/OCID1.AUTONOMOUSDATABASE.OC1.PHX.ANYHQLJRGDV...EXAMPLE/accesskeys/ak_og67ZI8bdS.....BiHCda7l' \
--user "AdminUser:TestPass#" \
--header 'Request-Id: xcz5efdb7rfrbsfkkwwl7d38' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json'

# Sample Response
{
    "access_key_id": "ak_og67ZI8bdS.....BiHCda7l",
    "expiration_timestamp": "2025-12-07T03:35:12.751Z",
    "permissions": [
        {
            "actions": [
                "ADMIN_ANY"
            ]
        }
    ]
}

Parametri di richiesta:

  • database-ocid: l'OCID (Oracle Cloud Identifier) univoco dell'Autonomous Database su cui viene eseguita una query.

  • access-key-id: l'identificativo univoco della chiave di accesso specifica i cui dettagli sono richiesti.

  • AdminUser: il nome utente del database utilizzato per l'autenticazione.

  • TestPass#: la password dell'utente del database.

  • Request-Id: identificativo univoco per questa richiesta API, utile per la registrazione o la risoluzione dei problemi.

  • Content-Type: specifica il formato previsto della risposta (application o json; impostato nell'intestazione).

  • Accept: specifica il formato della risposta.

Aggiornare una chiave di accesso

Dopo aver creato e recuperato la chiave di accesso, utilizzare l'API REST PUT /accesskeys per aggiornare gli attributi di una chiave di accesso esistente.

Sintassi ed esempio per aggiornare una chiave di accesso:

Sintassi

PUT https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys/{access_key_id}
    Authorization: Basic <Base64-encoded database username and password>
    request-id: <optional request-id>
    Content-Type: application/json

{
  "permissions": [<permissions array>],
  "extend_expiration_minutes_by": <integer>
}

Esempio: la richiesta seguente aggiorna la chiave di accesso per estendere il tempo di scadenza di 120 minuti.

# Request
curl -X PUT 'https://dataaccess.adb.us-phoenix-1.oraclecloudapps.com/adb/auth/v1/databases/OCID1.AUTONOMOUSDATABASE.OC1.PHX.ANYHQLJRGDV...EXAMPLE/accesskeys/ak_og67ZI8bdS.....BiHCda7l' \
--user "AdminUser:TestPass#" \
--header 'Request-Id: xzpqvei6e7x52ri94odpv0a4' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data-raw '{
    "extend_expiration_minutes_by" : 120
}'

# Sample Response

{
    "access_key_id": "ak_og67ZI8bdS.....BiHCda7l",
    "expiration_timestamp": "2025-12-07T05:35:12.751Z",
    "permissions": [
        {
            "actions": [
                "ADMIN_ANY"
            ]
        }
    ],
    "message": "Expiration extended by 120 min"
}

Parametri richiesta:

  • database-ocid: l'OCID (Oracle Cloud Identifier) univoco dell'Autonomous Database su cui viene eseguita una query.

  • access-key-id: l'identificativo univoco della chiave di accesso specifica i cui dettagli sono richiesti.

  • AdminUser: il nome utente del database utilizzato per l'autenticazione.

  • TestPass#: la password dell'utente del database.

  • Request-Id: identificativo univoco per questa richiesta API, utile per la registrazione o la risoluzione dei problemi.

  • Content-Type: specifica il formato previsto della risposta (application o json; impostato nell'intestazione).

  • Accept: specifica il formato della risposta.

  • extend_expiration_minutes_by: (Corpo) Numero di minuti per estendere la scadenza della chiave di accesso.

Parametri risposta:

  • access_key_id: l'identificativo univoco della chiave di accesso aggiornata.

  • expiration_timestamp: il nuovo indicatore orario di scadenza per la chiave di accesso.

  • permissions: array che descrive le autorizzazioni associate alla chiave di accesso.

    • actions: elenco delle azioni consentite (ad esempio, "ADMIN_ANY").

  • message: messaggio di conferma che indica l'azione eseguita.

Elimina una chiave di accesso

È possibile eliminare una chiave di accesso esistente quando non è più necessaria. Per rimuovere una chiave di accesso dal database, utilizzare l'API REST DELETE /accesskeys.

Sintassi ed esempio per rimuovere una chiave di accesso dal database:

Sintassi:

DELETE https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys/{access_key_id}
    Authorization: Basic <Base64-encoded database username and password>
    request-id: <optional request-id>

Esempio: la richiesta seguente rimuove la chiave di accesso specificata da Autonomous AI Database. Una volta eliminata, la chiave non può più essere utilizzata per l'autenticazione o l'accesso al database. Un'eliminazione riuscita restituisce un codice di stato HTTP 204 No Content o 200 OK, senza corpo della risposta.

# Request
curl -X DELETE 'https://dataaccess.adb.us-phoenix-1.oraclecloudapps.com/adb/auth/v1/databases/OCID1.AUTONOMOUSDATABASE.OC1.PHX.ANYHQLJRGDV...EXAMPLE/accesskeys/ak_og67ZI8bdS.....BiHCda7l' \
--user "AdminUser:TestPass#" \
--header 'Request-Id: xzpqvei6e7x52ri94odpv0a4' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
# Sample Response

{
    "message": "Access key deleted successfully.",
    "access_key_id": "ak_og67ZI8bdS.....BiHCda7l",
    "status": "DELETED"
}

Parametri richiesta:

  • database-ocid: l'OCID (Oracle Cloud Identifier) univoco dell'Autonomous Database su cui viene eseguita una query.

  • access-key-id: l'identificativo univoco della chiave di accesso specifica i cui dettagli sono richiesti.

  • AdminUser: il nome utente del database utilizzato per l'autenticazione.

  • TestPass#: la password dell'utente del database.

  • Request-Id: identificativo univoco per questa richiesta API, utile per la registrazione o la risoluzione dei problemi.

  • Content-Type: specifica il formato previsto della risposta (application o json; impostato nell'intestazione).

Parametri risposta:

  • message: messaggio di conferma che indica il risultato dell'operazione di eliminazione.

  • access_key_id: l'identificativo univoco della chiave di accesso aggiornata.

  • status: lo stato finale della chiave di accesso dopo la cancellazione (ad esempio, "DELETED").

Passi per richiamare l'API compatibile con DynamoDB

Dopo aver abilitato l'API DynamoDB e aver creato una chiave di accesso, è possibile utilizzare l'SDK client DynamoDB per richiamare l'API Oracle Database per DynamoDB.

Per configurare il client DynamoDB per richiamare l'API di Autonomous AI Database per DynamoDB, effettuare le operazioni riportate di seguito.

Configurare DynamoDbClient con Autonomous AI Database DynamoDB - Endpoint compatibile

Aggiorna file credenziali AWS

Passare al file delle credenziali AWS all'indirizzo ~/.aws/credentials, se il file non esiste, crearlo. Aggiornare il file delle credenziali con l'ID chiave di accesso e la chiave di accesso segreta generati per le API compatibili con Autonomous AI Database DynamoDB. Ad esempio:
aws_access_key_id=<Your ADB-S DynamoDB Compatible APIs Access Key ID>
aws_secret_access_key=<Your ADB-S DynamoDB Compatible APIs Secret Access Key>

Aggiornare il codice client DynamoDB per utilizzare l'endpoint di Autonomous AI Database.

Ad esempio, il codice seguente configura il client DynamoDB utilizzando l'SDK Java per puntare all'endpoint di Autonomous AI Database:

import java.net.URI;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;

// Set the appropriate region and endpoint. 
//Region name is optional and will be overridden by the region value specified in the REST API endpoint.
Region region = Region.US_EAST_1;
String endpoint = "https://dataaccess.adb.us-phoenix-1.oraclecloudapps.com/adb/keyvaluestore/v1/OCID1.AUTONOMOUSDATABASE.OC1.PHX.ANYHQLJRGDV...EXAMPLE";

// Build the DynamoDB client using a custom endpoint
DynamoDbClient ddb = DynamoDbClient.builder()
    .region(region)
    .endpointOverride(URI.create(endpoint))
    .build();

Questo esempio sostituisce l'endpoint predefinito in modo che il client punti all'endpoint REST compatibile con Autonomous AI Database DynamoDB.

Elementi codice:

  • DynamoDbClient.builder(): inizializza una nuova istanza DynamoDbClient.Builder. Questo builder fa parte dell'SDK AWS per Java e viene utilizzato per la creazione di istanze client DynamoDB.

  • region(Region region): specifica l'area AWS in cui opera il client. Tenere presente che questo nome di area è facoltativo e verrà sostituito dal valore di area specificato nell'endpoint API REST.

  • endpointOverride(URI endpoint): configura il client per comunicare con un endpoint HTTP compatibile con DynamoDB specificato, anziché con l'endpoint del servizio AWS predefinito.

  • build(): finalizza la configurazione della Costruzione guidata e crea una nuova istanza DynamoDbClient con le impostazioni specificate.

Puoi anche configurare o sostituire l'endpoint client DynamoDB utilizzando altri linguaggi di programmazione e i rispettivi SDK AWS, come Python (con Boto3), C++.

Vedere i riferimenti all'SDK DynamoDB per lingua:

Richiama l'API compatibile con DynamoDB su Autonomous AI Database

Il codice seguente mostra come creare una tabella movie compatibile con DynamoDB ed eseguire operazioni di base: descrivere, elencare, inserire, aggiornare ed eliminare elementi utilizzando l'SDK v2 di Java AWS con un endpoint personalizzato.

import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
import software.amazon.awssdk.services.dynamodb.model.*;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
import java.net.URI;
import java.util.Map;

public class DynamoDBMovieExample {
    public static void main(String[] args) {
        // Set the region and endpoint
        //Region name is optional and will be overridden by the region value specified in the REST API endpoint.
        Region region = Region.US_WEST_1;
        String endpoint = "https://region.us-phoenix-1.adb.oraclecloud.com";

        // Build the DynamoDB client using a custom endpoint
        DynamoDbClient ddb = DynamoDbClient.builder()
            .region(region)
            .endpointOverride(URI.create(endpoint))
            .build();

        // Create table
        CreateTableRequest createTableRequest = CreateTableRequest.builder()
            .tableName("movie")
            .keySchema(
                KeySchemaElement.builder().attributeName("PK").keyType(KeyType.HASH).build(),
                KeySchemaElement.builder().attributeName("SK").keyType(KeyType.RANGE).build()
            )
            .attributeDefinitions(
                AttributeDefinition.builder().attributeName("PK").attributeType(ScalarAttributeType.S).build(),
                AttributeDefinition.builder().attributeName("SK").attributeType(ScalarAttributeType.S).build()
            )
            .provisionedThroughput(
                ProvisionedThroughput.builder().readCapacityUnits(5L).writeCapacityUnits(5L).build()
            )
            .build();
        ddb.createTable(createTableRequest);

        // Describe the table
        DescribeTableRequest descRequest = DescribeTableRequest.builder().tableName("movie").build();
        DescribeTableResponse descResponse = ddb.describeTable(descRequest);

        // List all tables
        ListTablesRequest listRequest = ListTablesRequest.builder().build();
        ListTablesResponse listResponse = ddb.listTables(listRequest);

        // Insert (PutItem)
        ddb.putItem(PutItemRequest.builder()
            .tableName("movie")
            .item(Map.of(
                "PK", AttributeValue.builder().s("001").build(),
                "SK", AttributeValue.builder().s("MOVIE").build(),
                "Title", AttributeValue.builder().s("Inception").build()))
            .build()
        );

        // Update (UpdateItem)
        ddb.updateItem(UpdateItemRequest.builder()
            .tableName("movie")
            .key(Map.of(
                "PK", AttributeValue.builder().s("001").build(),
                "SK", AttributeValue.builder().s("MOVIE").build()))
            .updateExpression("SET #T = :t")
            .expressionAttributeNames(Map.of("#T", "Title"))
            .expressionAttributeValues(Map.of(":t", AttributeValue.builder().s("Inception (2010)").build()))
            .build()
        );

        // Delete (DeleteItem)
        ddb.deleteItem(DeleteItemRequest.builder()
            .tableName("movie")
            .key(Map.of(
                "PK", AttributeValue.builder().s("001").build(),
                "SK", AttributeValue.builder().s("MOVIE").build()))
            .build()
        );
    }
}

Note sull'uso
  • Per un elenco completo delle operazioni DynamoDB disponibili, consultare il documento DynamoDB API Reference: List of Operations.

  • Per eseguire le operazioni ImportTable e ExportTable con l'area di memorizzazione degli oggetti, assicurarsi di abilitare un principal risorsa per accedere alle risorse Oracle Cloud Infrastructure e impostare i criteri OCI necessari. Per ulteriori informazioni, consulta la sezione Usa principal risorsa per accedere alle risorse di Oracle Cloud Infrastructure.

  • L'impostazione delle unità di capacità di lettura (RCU) e di scrittura (WCU) per la tabella compatibile con DynamoDB potrebbe influire sulla fatturazione, in quanto l'addebito viene eseguito in base al throughput di cui è stato eseguito il provisioning. Per informazioni dettagliate su come queste impostazioni influiscono sulla fatturazione. Per ulteriori informazioni, consulta Oracle Autonomous Database Serverless Features Billing.

Disabilitare l'API di Autonomous AI Database per DynamoDB su Autonomous AI Database

Mostra i passi per disabilitare l'API DynamoDB per Autonomous AI Database.

Eseguire i passi dei prerequisiti riportati di seguito, se necessario.

  • Apri la console di Oracle Cloud Infrastructure facendo clic su icona di navigazione accanto a Cloud.

  • Nel menu di navigazione a sinistra di Oracle Cloud Infrastructure fai clic su Oracle Database, quindi fai clic su Autonomous AI Database.

  • Nella pagina Autonomous AI Database, selezionare Autonomous AI Database dai collegamenti nella colonna Nome visualizzato.

Per disabilitare le API DynamoDB in un'istanza di Autonomous AI Database, effettuare le operazioni riportate di seguito.

  1. Nell'elenco a discesa Altre azioni selezionare Gestisci tag.

    Viene visualizzata la pagina Aggiungi tag.

  2. Fornire i valori riportati di seguito per assegnare le tag ad Autonomous AI Database.
    • Spazio di nomi: per aggiungere un tag free-from, lasciare vuoto il valore.

    • Chiave adb$feature

    • Valore: {"name":"DYNAMODBAPI","enable": false}

    Fare clic su Aggiungi per aggiungere la tag.

    Dopo aver fatto clic su Aggiungi, nel campo Stato del ciclo di vita viene visualizzato Aggiornamento e Autonomous AI Database genera una richiesta di lavoro Aggiorna tag Autonomous Database. Per visualizzare la richiesta, nella pagina dei dettagli selezionare la scheda Richieste di lavoro.

Note e limitazioni per l'utilizzo di Oracle Database API per DynamoDB su Autonomous AI Database

Elenca note e limitazioni per l'uso di Oracle Database API for DynamoDB su Autonomous AI Database.

Quando si utilizza Oracle Database API for DynamoDB su Autonomous AI Database, tenere presente quanto riportato di seguito.

Note sull'uso

  • Se viene eliminato un Autonomous AI Database con l'API di Oracle Database per DynamoDB abilitata, vengono eliminate anche tutte le tabelle compatibili con DynamoDB associate e la fatturazione viene interrotta.

  • Se Autonomous AI Database con API di database per DynamoDB abilitata viene arrestato, tutte le tabelle compatibili con DynamoDB associate vengono escluse dalla fatturazione durante il periodo di interruzione.

  • Tutte le tabelle associate compatibili con DynamoDB sono interessate dalle operazioni di eliminazione o interruzione descritte in precedenza.

Limiti

  • Sono consentite al massimo 2 tabelle compatibili con DynamoDB per ogni Autonomous AI Database gratuito e Autonomous AI Database per sviluppatori.

  • Sono consentite al massimo 4 ECPU per ogni tabella compatibile con DynamoDB per ogni Autonomous AI Database gratuito e Autonomous AI Database per sviluppatori.

  • I nomi delle tabelle devono avere una lunghezza compresa tra 3 e 255 caratteri.

  • Le API della tabella globale e le API PartiQL non sono supportate.