Utiliser l'API Autonomous AI Database pour DynamoDB

L'API Autonomous AI Database pour DynamoDB permet de stocker, de gérer et d'extraire des données dans une base de données Autonomous AI à l'aide d'un format clé-valeur.

Sujets

A propos de l'utilisation de l'API Autonomous AI Database pour DynamoDB

Oracle Autonomous AI Database offre l'API de base de données d'IA autonome pour DynamoDB, avec la base de données d'IA autonome entièrement gérée d'Oracle, vous permettant d'utiliser les outils et les kits SDK DynamoDB existants pour travailler en toute transparence avec Autonomous AI Database.

A l'aide de l'API de compatibilité Oracle Autonomous AI Database pour DynamoDB, vous pouvez continuer à utiliser vos clients DynamoDB existants et apporter des modifications minimales à vos applications pour utiliser Autonomous AI Database. Vous pouvez utiliser des kits SDK DynamoDB standard pour intégrer vos applications DynamoDB existantes à Autonomous AI Database. Les API offrent des opérations DynamoDB courantes telles que GetItem, DeleteItem, CreateTable et DeleteTable, ce qui vous permet de migrer des applications DynamoDB vers Autonomous AI Database.

En utilisant l'API Autonomous AI Database pour DynamoDB, vous pouvez tirer parti des fonctionnalités Autonomous AI Database tout en maintenant la compatibilité avec DynamoDB.

Pour plus d'informations, reportez-vous à Amazon DynamoDB.

Prérequis

Répertorie les prérequis pour l'utilisation de l'API Autonomous AI Database pour DynamoDB avec votre base de données Autonomous AI.

Avant d'activer l'API de base de données Autonomous AI pour DynamoDB pour votre base de données, notez les points suivants :

  • L'API Autonomous AI Database pour DynamoDB est uniquement prise en charge pour les bases de données Autonomous AI avec le type de charge globale Traitement des transactions.

  • Votre instance de base de données Autonomous AI ne doit pas faire partie d'un pool élastique. Si vous tentez d'activer l'API Autonomous AI Database pour DynamoDB sur une base de données Autonomous AI qui fait partie d'un groupe élastique, ou si vous essayez d'ajouter une base de données avec ces API activées à un groupe élastique, vous recevez une erreur. Les bases de données d'IA autonomes avec API de base de données d'IA autonome pour DynamoDB activée ne sont pas autorisées à être membres d'un groupe élastique.

Activer l'API Autonomous AI Database pour DynamoDB sur Autonomous AI Database

Décrit les étapes permettant de générer une clé d'accès et une clé secrète pour appeler l'API DynamoDB à partir de votre instance de base de données Autonomous AI.

Effectuez les étapes prérequises suivantes, le cas échéant :

  • Ouvrez la console d'Oracle Cloud Infrastructure en cliquant sur icône de navigation en regard du nom cloud.

  • Dans le menu de navigation de gauche d'Oracle Cloud Infrastructure, cliquez sur Oracle Database, puis sur Base de données AI autonome.

  • Sur la page Base de données d'IA autonome, sélectionnez votre base de données d'IA autonome dans les liens sous la colonne Nom d'affichage.

Pour activer les API DynamoDB sur une instance de base de données Autonomous AI, procédez comme suit :

  1. Dans la liste déroulante Actions supplémentaires, sélectionnez Gérer les balises.

    Affiche la page Ajouter des balises.

  2. Fournissez les valeurs suivantes pour affecter des balises à la base de données Autonomous AI.
    • Espace de noms : pour ajouter une balise d'expéditeur, laissez la valeur vide.

    • Clé : adb$feature

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

    Pour ajouter la balise, cliquez sur Ajouter.

    Une fois que vous avez cliqué sur Ajouter, le champ Etat de cycle de vie affiche Mise à jour et Autonomous AI Database génère une demande de travail Mettre à jour les balises Autonomous Database. Pour visualiser la demande, sur la page de détails, sélectionnez l'onglet Demandes de travail.

    L'activation de l'API de base de données Autonomous AI pour DynamoDB peut prendre jusqu'à dix (10) minutes.

    Une fois l'API Oracle Database pour DynamoDB activée sur votre base de données Autonomous AI, vous utilisez l'adresse REST https://dataaccess.adb.{oci-region_name}.oraclecloudapps.com/adb/keyvaluestore/v1/{database-ocid} pour effectuer des opérations DynamoDB. Pour accéder à l'API Oracle Autonomous DynamoDB, vous avez besoin d'un ID de clé d'accès valide, d'une clé d'accès secrète et des privilèges nécessaires pour vos opérations. Par exemple, le privilège CREATE_TABLE est requis pour créer une table DynamoDB.

    URI des opérations d'API Oracle Autonomous DynamoDB :

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

    Par exemple :

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

Configurer l'accès pour appeler les API DynamoDB

Cette section présente les étapes de création et de gestion des clés d'accès requises pour authentifier et utiliser les API compatibles avec DynamoDB une fois la base de données Autonomous AI activée.

Utilisez l'adresse REST https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys pour gérer l'accès aux tables DynamoDB. Pour ce faire, indiquez le nom utilisateur et les informations d'identification de la base de données. L'utilisateur indiqué doit disposer du rôle PDB_DBA. Ces clés d'accès sont requises pour authentifier les appels d'API vers la base de données Autonomous AI pour DynamoDB.

Vous devez vous assurer que les droits d'accès nécessaires pour effectuer des opérations compatibles avec DynamoDB sont affectés à la clé d'accès. Vous pouvez spécifier ces autorisations lors de la création de la clé d'accès ou modifier une clé existante pour affecter les autorisations requises.

Voici la liste des autorisations pour les clés d'accès :

Autorisation Description

CREATE_TABLE

Accès pour la création de tables

READ_ANY

Accès permettant d'effectuer des opérations de lecture de table et d'éléments sur toutes les tables de clés compatibles DynamoDB associées à la base de données Autonomous AI. Elle n'inclut pas les opérations de sauvegarde, de restauration, d'import et d'export.

READ_WRITE_ANY

Accès permettant d'effectuer des opérations de lecture et d'écriture de table et d'éléments sur toutes les tables compatibles DynamoDB associées à la base de données Autonomous AI. Elle n'inclut pas les opérations de sauvegarde, de restauration, d'import et d'export.

ADMIN_ANY

Accédez à toutes les opérations, y compris la création de table, la sauvegarde, la restauration, l'import et l'export de toutes les tables compatibles DynamoDB associées à la base de données Autonomous AI.

READ <Table(s)>

Accès permettant d'effectuer des opérations de lecture de table et d'éléments sur une table compatible DynamoDB spécifique associée à la base de données Autonomous AI. Elle n'inclut pas les opérations de sauvegarde, de restauration, d'import et d'export.

READ_WRITE on <Table(s)>

Accès permettant d'effectuer des opérations de lecture et d'écriture de table et d'éléments sur une table compatible DynamoDB spécifique associée à la base de données Autonomous AI. Elle n'inclut pas les opérations de sauvegarde, de restauration, d'import et d'export.

ADMIN on <Table(s)>

Accès permettant d'effectuer toutes les opérations, y compris la sauvegarde, la restauration, l'import et l'export sur une table compatible DynamoDB spécifique associée à la base de données Autonomous AI.

<operation name> on <Table(s)> Par exemple, GetItem on <Table(s)>

Accès permettant d'effectuer une opération spécifique sur une table compatible DynamoDB spécifique associée à la base de données Autonomous AI.

Créer une clé d'accès

Pour créer une clé d'accès et une clé secrète dans votre base de données, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du rôle PDB_DBA.

Syntaxe et exemple de demande de création d'une clé d'accès dans la base de données :

Utilisez la demande d'API d'adresse REST POST https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys pour générer la clé d'accès et la clé secrète :

Syntaxe

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.
}
Paramètres de chemin (fournissez une authentification correcte et remplacez les espaces réservés par la région OCI et l'OCID de base de données réels) :
  • name : String : nom de la clé d'accès

  • description : String : description de la clé d'accès

  • permissions : Array (facultatif) chaque objet de ce tableau définit les opérations (actions) autorisées et (facultatif) les tables (ressources) auxquelles ces actions sont limitées.
    • actions : Array of Strings (requis : répertorie les opérations spécifiques que la clé peut effectuer). Par exemple, "CREATE_TABLE", "READ_WRITE", "ADMIN".)

    • resources : Array of Strings (facultatif) indique les tables auxquelles les actions s'appliquent. Si vous répertoriez les noms de table dans ce tableau, tels que "resources": ["customers", "orders"]", les actions seront limitées à ces tables uniquement. Si cette option est omise, les actions s'appliquent à toutes les tables de la base de données.)

  • expiration_minutes : Number (facultatif) durée d'expiration en minutes

Exemple de format de réponse

{  
  "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  
  ]  
}

Exemple : cet exemple montre comment envoyer une demande POST à l'API REST Oracle Autonomous AI Database pour créer une clé d'accès avec des droits d'administration. La demande indique le nom de la clé et les droits d'accès requis, et la réponse inclut l'ID de clé d'accès, la clé secrète, le délai d'expiration et les droits d'accès nouvellement générés.

# 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"
            ]
        }
    ]
}

Paramètres de la demande :
  • database-ocid : OCID de la base de données pour laquelle la clé d'accès est créée.

  • AdminUser : nom utilisateur de base de données utilisé pour l'authentification.

  • TestPass# : mot de passe de l'utilisateur de base de données.

  • Request-Id : identificateur unique de la demande d'API, utile pour le suivi ou le dépannage.

  • Content-Type : indique le format de la charge utile de demande en tant que JSON (application or json).

  • name : nom à affecter à la nouvelle clé d'accès.

  • permissions : tableau indiquant les droits d'accès à affecter à la nouvelle clé.

    • actions : tableau d'actions autorisées pour la clé d'accès (par exemple, "ADMIN_ANY" pour les privilèges d'administration)

  • expiration_minutes : indique la durée en minutes avant l'expiration de la clé d'accès.

Paramètres de réponse :
  • access_key_id : identificateur unique de la clé d'accès nouvellement créée.

  • secret_access_key : valeur de clé secrète associée à la clé d'accès. Ceci est requis pour l'authentification des demandes d'API futures.

  • expiration_time : horodatage indiquant l'expiration de la clé d'accès.

  • Tableau d'objets d'autorisation affectés à la clé d'accès (comme indiqué dans la demande).

    • actions : actions autorisées pour la clé d'accès (par exemple, "ADMIN_ANY" pour les privilèges d'administration)

Extraire les informations de clé d'accès

Une fois que vous avez créé une clé d'accès, utilisez la demande d'API REST GET /accesskeys pour rechercher ses détails, tels que son nom, les droits d'accès associés, le délai d'expiration et d'autres métadonnées pertinentes. Vous pouvez ainsi confirmer par programmation les droits d'accès, les informations d'identification d'audit ou les informations de clé d'accès.

Syntaxe et exemple pour extraire les détails de la clé d'accès :

Syntaxe :

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>

Exemple : l'appel suivant extrait des informations détaillées sur la clé d'accès spécifiée. Cela vous permet de confirmer les attributs et les autorisations associés à la clé d'accès :

# 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"
            ]
        }
    ]
}

Paramètres de la demande :

  • database-ocid : identificateur Oracle Cloud (OCID) unique de l'instance Autonomous Database en cours d'interrogation.

  • access-key-id : identificateur unique de la clé d'accès spécifique dont les détails sont demandés.

  • AdminUser : nom utilisateur de base de données utilisé pour l'authentification.

  • TestPass# : mot de passe de l'utilisateur de base de données.

  • Request-Id : identificateur unique de cette demande d'API, utile pour la journalisation ou le dépannage.

  • Content-Type : indique le format attendu de la réponse (application ou json ; défini dans l'en-tête).

  • Accept : indique le format de réponse.

Mettre à jour une clé d'accès

Une fois la clé d'accès créée et extraite, vous utilisez l'API REST PUT /accesskeys pour mettre à jour les attributs d'une clé d'accès existante.

Syntaxe et exemple pour mettre à jour une clé d'accès :

Syntaxe

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>
}

Exemple : la demande suivante met à jour la clé d'accès pour prolonger le délai d'expiration de 120 minutes.

# 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"
}

Paramètres de demande:

  • database-ocid : identificateur Oracle Cloud (OCID) unique de l'instance Autonomous Database en cours d'interrogation.

  • access-key-id : identificateur unique de la clé d'accès spécifique dont les détails sont demandés.

  • AdminUser : nom utilisateur de base de données utilisé pour l'authentification.

  • TestPass# : mot de passe de l'utilisateur de base de données.

  • Request-Id : identificateur unique de cette demande d'API, utile pour la journalisation ou le dépannage.

  • Content-Type : indique le format attendu de la réponse (application ou json ; défini dans l'en-tête).

  • Accept : indique le format de réponse.

  • extend_expiration_minutes_by : (corps) nombre de minutes pour prolonger l'expiration de la clé d'accès.

Paramètres de la réponse :

  • access_key_id : identificateur unique de la clé d'accès mise à jour.

  • expiration_timestamp : nouvel horodatage d'expiration de la clé d'accès.

  • permissions : tableau décrivant les droits d'accès associés à la clé d'accès.

    • actions : liste des actions autorisées (par exemple, "ADMIN_ANY").

  • message : message de confirmation indiquant l'action effectuée.

Supprimer une clé d'accès

Vous pouvez supprimer une clé d'accès existante lorsqu'elle n'est plus requise. Vous utilisez l'API REST DELETE /accesskeys pour enlever une clé d'accès de la base de données.

Syntaxe et exemple pour supprimer une clé d'accès de la base de données :

Syntaxe :

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>

Exemple : la demande suivante enlève la clé d'accès indiquée de votre base de données Autonomous AI. Une fois supprimée, la clé ne peut plus être utilisée pour l'authentification ou l'accès à la base de données. Une suppression réussie renvoie le code de statut HTTP 204 No Content ou 200 OK, sans corps de réponse.

# 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"
}

Paramètres de demande:

  • database-ocid : identificateur Oracle Cloud (OCID) unique de l'instance Autonomous Database en cours d'interrogation.

  • access-key-id : identificateur unique de la clé d'accès spécifique dont les détails sont demandés.

  • AdminUser : nom utilisateur de base de données utilisé pour l'authentification.

  • TestPass# : mot de passe de l'utilisateur de base de données.

  • Request-Id : identificateur unique de cette demande d'API, utile pour la journalisation ou le dépannage.

  • Content-Type : indique le format attendu de la réponse (application ou json ; défini dans l'en-tête).

Paramètres de la réponse :

  • message : message de confirmation indiquant le résultat de l'opération de suppression.

  • access_key_id : identificateur unique de la clé d'accès mise à jour.

  • status : Le statut final de la clé d'accès après suppression (par exemple, "DELETED").

Etapes d'appel de l'API compatible DynamoDB

Après avoir activé l'API DynamoDB et créé une clé d'accès, vous pouvez utiliser le kit SDK client DynamoDB pour appeler l'API Oracle Database pour DynamoDB.

Suivez ces étapes pour configurer le client DynamoDB afin d'appeler l'API Autonomous AI Database pour DynamoDB.

Configuration de DynamoDbClient avec une adresse compatible Autonomous AI Database DynamoDB

Mettre à jour le fichier d'informations d'identification AWS

Accédez à votre fichier d'informations d'identification AWS à l'adresse ~/.aws/credentials. Si le fichier n'existe pas, créez-le. Mettez à jour le fichier d'informations d'identification avec l'ID de clé d'accès et la clé d'accès secrète générés pour les API compatibles Autonomous AI Database DynamoDB. Par exemple :
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>

Mettez à jour le code client DynamoDB pour utiliser l'adresse de base de données Autonomous AI.

Par exemple, le code suivant configure le client DynamoDB à l'aide du kit SDK Java pour qu'il pointe vers votre adresse de base de données Autonomous AI :

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();

Cet exemple remplace l'adresse par défaut de sorte que le client pointe vers l'adresse REST compatible de la base de données Autonomous AI DynamoDB.

Eléments de code :

  • DynamoDbClient.builder() : initialise une nouvelle instance DynamoDbClient.Builder. Ce générateur fait partie du kit SDK AWS pour Java et est utilisé pour créer des instances client DynamoDB.

  • region(Region region) : indique la région AWS dans laquelle le client opère. Ce nom de région est facultatif et sera remplacé par la valeur de région indiquée dans l'adresse d'API REST.

  • endpointOverride(URI endpoint) : configure le client pour qu'il communique avec une adresse HTTP compatible DynamoDB indiquée, au lieu de l'adresse de service AWS par défaut.

  • build() : finalise la configuration du générateur et crée une instance DynamoDbClient avec les paramètres indiqués.

Vous pouvez également configurer ou remplacer l'adresse client DynamoDB à l'aide d'autres langages de programmation et de leurs kits SDK AWS respectifs, tels que Python (avec Boto3), C++.

Reportez-vous aux références de kit SDK DynamoDB par langue :

Appeler l'API compatible DynamoDB sur votre base de données d'IA autonome

Le code suivant explique comment créer une table compatible avec DynamoDB movie et effectuer des opérations de base : décrire, répertorier, insérer, mettre à jour et supprimer des éléments à l'aide du kit SDK Java AWS v2 avec une adresse personnalisée.

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()
        );
    }
}

Notes d'utilisation

Désactivation de l'API de base de données Autonomous AI pour DynamoDB sur la base de données Autonomous AI

Présente les étapes de désactivation de l'API DynamoDB pour votre base de données Autonomous AI.

Effectuez les étapes prérequises suivantes, le cas échéant :

  • Ouvrez la console d'Oracle Cloud Infrastructure en cliquant sur icône de navigation en regard du nom cloud.

  • Dans le menu de navigation de gauche d'Oracle Cloud Infrastructure, cliquez sur Oracle Database, puis sur Base de données AI autonome.

  • Sur la page Base de données d'IA autonome, sélectionnez votre base de données d'IA autonome dans les liens sous la colonne Nom d'affichage.

Pour désactiver les API DynamoDB sur une instance de base de données Autonomous AI, procédez comme suit :

  1. Dans la liste déroulante Actions supplémentaires, sélectionnez Gérer les balises.

    Affiche la page Ajouter des balises.

  2. Fournissez les valeurs suivantes pour affecter des balises à la base de données Autonomous AI.
    • Espace de noms : pour ajouter une balise d'expéditeur, laissez la valeur vide.

    • Clé : adb$feature

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

    Pour ajouter la balise, cliquez sur Ajouter.

    Une fois que vous avez cliqué sur Ajouter, le champ Etat de cycle de vie affiche Mise à jour et Autonomous AI Database génère une demande de travail Mettre à jour les balises Autonomous Database. Pour visualiser la demande, sur la page de détails, sélectionnez l'onglet Demandes de travail.

Remarques et limites relatives à l'utilisation de l'API Oracle Database pour DynamoDB sur Autonomous AI Database

Répertorie les notes et les limites relatives à l'utilisation de l'API Oracle Database pour DynamoDB sur Autonomous AI Database.

Lors de l'utilisation de l'API Oracle Database pour DynamoDB sur Autonomous AI Database, tenez compte des points suivants :

Notes d'utilisation

  • Si une base de données Autonomous AI avec l'API Oracle Database pour DynamoDB activée est supprimée, toutes les tables compatibles avec DynamoDB associées sont également supprimées et la facturation s'arrête.

  • Si la base de données Autonomous AI avec l'API de base de données pour DynamoDB activée est arrêtée, toutes les tables compatibles avec DynamoDB associées sont exclues de la facturation pendant la période d'arrêt.

  • Toutes les tables compatibles avec DynamoDB associées sont affectées par les opérations de suppression ou d'arrêt décrites ci-dessus.

Limites

  • Un maximum de 2 tables compatibles DynamoDB est autorisé pour chaque base de données d'IA autonome gratuite et base de données d'IA autonome pour les développeurs.

  • Un maximum de 4 ECPU par table compatible DynamoDB est autorisé pour chaque base de données d'IA autonome gratuite et base de données d'IA autonome pour les développeurs.

  • Les noms de table doivent comporter entre 3 et 255 caractères.

  • Les API de table globale et les API PartiQL ne sont pas prises en charge.