Usar a API do Autonomous AI Database para DynamoDB

A API do Autonomous AI Database para DynamoDB permite armazenar, gerenciar e recuperar dados em um Autonomous AI Database usando um formato de valor-chave.

Tópicos

Sobre o uso da API do Autonomous AI Database para DynamoDB

O Oracle Autonomous AI Database oferece a API do Autonomous AI Database para DynamoDB, com o Autonomous AI Database totalmente gerenciado da Oracle, permitindo que você use ferramentas e SDKs DynamoDB existentes para trabalhar perfeitamente com o Autonomous AI Database.

Usando a API de compatibilidade do Oracle Autonomous AI Database para DynamoDB, você pode continuar usando seus clientes DynamoDB existentes e fazer alterações mínimas em seus aplicativos para trabalhar com o Autonomous AI Database. Você pode usar SDKs padrão do DynamoDB para integrar seus aplicativos DynamoDB existentes ao Autonomous AI Database. As APIs oferecem operações DynamoDB familiares, como GetItem, DeleteItem, CreateTable e DeleteTable, permitindo que você migre aplicações DynamoDB para o Autonomous AI Database.

Usando a API do Autonomous AI Database para DynamoDB, você pode aproveitar os recursos do Autonomous AI Database, mantendo a compatibilidade com DynamoDB.

Consulte Amazon DynamoDB para obter mais informações.

Pré-requisitos

Lista os pré-requisitos para usar a API do Autonomous AI Database para DynamoDB com seu Autonomous AI Database.

Antes de ativar a API do Autonomous AI Database para DynamoDB no seu banco de dados, observe o seguinte:

  • Só há suporte para a API do Autonomous AI Database para DynamoDB no Autonomous AI Database com o tipo de carga de trabalho Processamento de Transações.

  • Sua instância do Autonomous AI Database não deve fazer parte de um pool elástico. Se você tentar ativar a API do Autonomous AI Database para DynamoDB em um Autonomous AI Database que faça parte de um grupo elástico ou tentar adicionar um banco de dados com essas APIs ativadas a um grupo elástico, receberá um erro. Os Autonomous AI Databases com a API do Autonomous AI Database para DynamoDB ativada não podem ser membros de nenhum grupo elástico.

Ativar a API do Autonomous AI Database para DynamoDB no Autonomous AI Database

Descreve as etapas para gerar chave de acesso e chave secreta a fim de chamar a API DynamoDB da sua instância do Autonomous AI Database.

Execute as seguintes etapas de pré-requisito conforme necessário:

  • Abra a Console do Oracle Cloud Infrastructure clicando no ícone de navegação ao lado da Nuvem.

  • No menu de navegação esquerdo do Oracle Cloud Infrastructure, clique em Oracle Database e depois clique em Autonomous AI Database.

  • Na páginas do Autonomous AI Database, selecione seu Autonomous AI Database nos links na coluna Nome para exibição.

Siga estas etapas para ativar APIs DynamoDB em uma instância do Autonomous AI Database:

  1. Na lista drop-down Mais ações, selecione Gerenciar tags.

    Isso mostra a página Adicionar Tags.

  2. Forneça os valores a seguir para designar tags ao Autonomous AI Database.
    • Namespace: Para adicionar uma tag free-from, deixe o valor em branco.

    • Chave: adb$feature

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

    Clique em Adicionar para adicionar a tag.

    Depois que você clicar em Adicionar, o campo Estado do ciclo de vida mostrará Atualizando e o Autonomous AI Database gerará uma solicitação de serviço Atualizar Tags do Autonomous Database. Para exibir a solicitação, na página de detalhes, selecione a guia Solicitações de serviço.

    Pode levar até dez (10) minutos para que a API do Autonomous AI Database para DynamoDB seja ativada.

    Depois de ativar a API do Oracle Database para DynamoDB no seu banco de dados Autonomous AI, você usa o ponto final REST https://dataaccess.adb.{oci-region_name}.oraclecloudapps.com/adb/keyvaluestore/v1/{database-ocid} para executar operações DynamoDB. Para acessar a API do Oracle Autonomous DynamoDB, você precisa de um ID de chave de acesso válido, de uma chave de acesso secreto e dos privilégios necessários para suas operações. Por exemplo, o privilégio CREATE_TABLE é necessário para criar uma tabela DynamoDB.

    O URI das operações da API do Oracle Autonomous DynamoDB é:

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

    Por exemplo:

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

Configurar o Acesso para Chamar APIs DynamoDB

Esta seção fornece as etapas para criar e gerenciar chaves de acesso necessárias para autenticar e usar APIs compatíveis com DynamoDB após você ativar seu Autonomous AI Database.

Use o ponto final REST https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys para gerenciar o acesso às tabelas DynamoDB. Para fazer isso, forneça o nome de usuário e as credenciais do banco de dados; o usuário especificado deve ter a atribuição PDB_DBA concedida. Essas chaves de acesso são necessárias para autenticar chamadas de API para o Autonomous AI Database para DynamoDB.

Certifique-se de que a chave de acesso tenha as permissões necessárias para executar operações compatíveis com DynamoDB. Você pode especificar essas permissões ao criar a chave de acesso ou modificar uma chave existente para designar as permissões necessárias.

Veja a seguir uma lista de permissões para chaves de acesso:

Permissão Descrição

CREATE_TABLE

Acesso para executar a criação de tabelas

READ_ANY

Acesso para executar operações de leitura de tabela e itens em todas as tabelas de chaves compatíveis com o DynamoDB associadas ao Autonomous AI Database. Não inclui operações de backup, restauração, importação e exportação.

READ_WRITE_ANY

Acesso para executar operações de leitura e gravação de tabela e itens em todas as tabelas compatíveis com o DynamoDB associadas ao Autonomous AI Database. Não inclui operações de backup, restauração, importação e exportação.

ADMIN_ANY

Acesso para executar qualquer operação, incluindo criar tabela, fazer backup, restaurar, importar e exportar todas as tabelas compatíveis com o DynamoDB associadas ao Autonomous AI Database.

READ <Table(s)>

Acesso para executar operações de leitura de tabela e itens em uma tabela específica compatível com DynamoDB associada ao Autonomous AI Database. Não inclui operações de backup, restauração, importação e exportação.

READ_WRITE on <Table(s)>

Acesso para executar operações de leitura e gravação de tabela e itens em uma tabela específica compatível com DynamoDB associada ao Autonomous AI Database. Não inclui operações de backup, restauração, importação e exportação.

ADMIN on <Table(s)>

Acesso para executar qualquer operação, incluindo backup, restauração, importação e exportação em uma tabela específica compatível com DynamoDB associada ao Autonomous AI Database.

<operation name> on <Table(s)> Por exemplo, GetItem on <Table(s)>

Acesso para executar uma operação específica na tabela compatível com DynamoDB específica associada ao Autonomous AI Database.

Criar uma chave de acesso

Para criar uma Chave de Acesso e uma Chave Secreta no seu banco de dados, você deve estar conectado como o usuário ADMIN ou ter recebido a atribuição PDB_DBA.

Sintaxe e uma solicitação de amostra para criar uma chave de acesso no banco de dados:

Use a solicitação da API do ponto final REST POST https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys para gerar a Chave de Acesso e a Chave Secreta:

Sintaxe

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.
}
Parâmetros de Caminho (fornecem autenticação adequada e substituem placeholders pelo OCID real da região e do banco de dados do OCI):
  • name: String: Nome da chave de acesso

  • description: String: Descrição da chave de acesso

  • permissions: Array: (Opcional) Cada objeto desse array define quais operações (ações) são permitidas e (opcionalmente) quais tabelas (recursos) essas ações são limitadas.
    • actions: Array of Strings (Obrigatório: lista as operações específicas que a chave pode executar. Por exemplo, "CREATE_TABLE", "READ_WRITE", "ADMIN".)

    • resources: Array of Strings (Opcional: Especifica a quais tabelas as ações se aplicam. Se você listar nomes de tabela neste array, como "resources": ["customers", "orders"], as ações serão restritas apenas a essas tabelas. Se omitidas, as ações se aplicarão a todas as tabelas do banco de dados.)

  • expiration_minutes: Number: (Opcional) Duração da expiração em minutos

Formato de resposta de amostra

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

Exemplo: Este exemplo demonstra como enviar uma solicitação POST à API REST do Oracle Autonomous AI Database para criar uma nova chave de acesso com permissões administrativas. A solicitação especifica o nome da chave e as permissões necessárias, e a resposta inclui o ID da chave de acesso recém-gerado, o segredo, o tempo de expiração e as permissões.

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

Parâmetros de Solicitação:
  • database-ocid: O OCID do banco de dados para o qual a chave de acesso está sendo criada.

  • AdminUser: O nome de usuário do banco de dados usado para autenticação.

  • TestPass#: A senha do usuário do banco de dados.

  • Request-Id: Identificador exclusivo para a solicitação de API, útil para rastreamento ou solução de problemas.

  • Content-Type: Especifica o formato do payload da solicitação como JSON (application or json).

  • name: O nome a ser designado à nova chave de acesso.

  • permissions: Um array que especifica as permissões a serem atribuídas à nova chave.

    • actions: Um array de ações permitidas para a chave de acesso (por exemplo, "ADMIN_ANY" para privilégios administrativos)

  • expiration_minutes: Especifica a duração em minutos antes da expiração da chave de acesso.

Parâmetros de Resposta:
  • access_key_id: O identificador exclusivo da chave de acesso recém-criada.

  • secret_access_key: O valor do segredo associado à chave de acesso. Isso é necessário para autenticar futuras solicitações de API.

  • expiration_time: O timestamp que indica quando a chave de acesso expirará.

  • O array de objetos de permissão atribuídos à chave de acesso (conforme fornecido na solicitação).

    • actions: As ações permitidas para a chave de acesso (por exemplo, "ADMIN_ANY" para privilégios administrativos)

Recuperar Informações da Chave de Acesso

Depois de criar uma chave de acesso, use a solicitação da API REST GET /accesskeys para procurar seus detalhes, como nome, permissões associadas, tempo de expiração e outros metadados relevantes. Isso permite que você confirme programaticamente direitos de acesso, audite credenciais ou mostre informações de chave de acesso.

Sintaxe e exemplo para recuperar detalhes da chave de acesso:

Sintaxe:

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>

Exemplo: A chamada a seguir recupera informações detalhadas sobre a chave de acesso especificada. Isso permite confirmar os atributos e permissões associados à chave de acesso:

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

Parâmetros de Solicitação:

  • database-ocid: O OCID (Oracle Cloud Identifier) exclusivo do Autonomous Database que está sendo consultado.

  • access-key-id: O identificador exclusivo da chave de acesso específica cujos detalhes são solicitados.

  • AdminUser: O nome de usuário do banco de dados usado para autenticação.

  • TestPass#: A senha do usuário do banco de dados.

  • Request-Id: Identificador exclusivo para esta solicitação de API., útil para log ou solução de problemas.

  • Content-Type: Especifica o formato esperado da resposta (application ou json; definido no cabeçalho).

  • Accept: Especifica o formato de resposta.

Atualizar uma chave de acesso

Depois de criar e recuperar sua chave de acesso, use a API REST PUT /accesskeys para atualizar os atributos de uma chave de acesso existente.

Sintaxe e exemplo para atualizar uma chave de acesso:

Sintaxe

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

Exemplo: A solicitação a seguir atualiza a chave de acesso para estender o tempo de expiração em 120 minutos.

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

Parâmetros de solicitação:

  • database-ocid: O OCID (Oracle Cloud Identifier) exclusivo do Autonomous Database que está sendo consultado.

  • access-key-id: O identificador exclusivo da chave de acesso específica cujos detalhes são solicitados.

  • AdminUser: O nome de usuário do banco de dados usado para autenticação.

  • TestPass#: A senha do usuário do banco de dados.

  • Request-Id: Identificador exclusivo para esta solicitação de API., útil para log ou solução de problemas.

  • Content-Type: Especifica o formato esperado da resposta (application ou json; definido no cabeçalho).

  • Accept: Especifica o formato de resposta.

  • extend_expiration_minutes_by: (Corpo) Número de minutos para estender a expiração da chave de acesso.

Parâmetros da resposta:

  • access_key_id: O identificador exclusivo da chave de acesso atualizada.

  • expiration_timestamp: O novo timestamp de expiração para a chave de acesso.

  • permissions: Array descrevendo as permissões associadas à chave de acesso.

    • actions: Lista de ações permitidas (exemplo: "ADMIN_ANY").

  • message: Mensagem de confirmação indicando a ação executada.

Excluir uma chave de acesso

Você pode excluir uma chave de acesso existente quando ela não for mais necessária. Você usa a API REST DELETE /accesskeys para remover uma chave de acesso do seu banco de dados.

Sintaxe e exemplo para remover uma chave de acesso do seu banco de dados:

Sintaxe:

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>

Exemplo: A solicitação a seguir remove a chave de acesso especificada do Autonomous AI Database. Depois de excluída, a chave não poderá mais ser usada para autenticação ou acesso ao banco de dados. Uma exclusão bem-sucedida retorna um código de status HTTP 204 No Content ou 200 OK, sem corpo de resposta.

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

Parâmetros de solicitação:

  • database-ocid: O OCID (Oracle Cloud Identifier) exclusivo do Autonomous Database que está sendo consultado.

  • access-key-id: O identificador exclusivo da chave de acesso específica cujos detalhes são solicitados.

  • AdminUser: O nome de usuário do banco de dados usado para autenticação.

  • TestPass#: A senha do usuário do banco de dados.

  • Request-Id: Identificador exclusivo para esta solicitação de API., útil para log ou solução de problemas.

  • Content-Type: Especifica o formato esperado da resposta (application ou json; definido no cabeçalho).

Parâmetros da resposta:

  • message: Mensagem de confirmação indicando o resultado da operação de exclusão.

  • access_key_id: O identificador exclusivo da chave de acesso atualizada.

  • status: O status final da chave de acesso após a exclusão (por exemplo, "DELETED").

Etapas para Chamar a API Compatível com DynamoDB

Após ativar a API DynamoDB e criar uma chave de acesso, você poderá usar o SDK do Cliente DynamoDB para chamar a API do Oracle Database para DynamoDB.

Siga estas etapas para configurar seu cliente DynamoDB para chamar a API do Autonomous AI Database para DynamoDB.

Configure DynamoDbClient with Autonomous AI Database DynamoDB-Compatible Endpoint

Atualizar Arquivo de Credenciais da AWS

Navegue até o arquivo de credenciais da AWS em ~/.aws/credentials, se o arquivo não existir, crie-o. Atualize o arquivo de credenciais com o ID da Chave de Acesso e a Chave de Acesso Secreta gerada para APIs Compatíveis com o Autonomous AI Database DynamoDB. Por exemplo:
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>

Atualize o código do cliente DynamoDB para usar o ponto final do Autonomous AI Database.

Por exemplo, o código a seguir configura o cliente DynamoDB usando o Java SDK para apontar para o ponto final do 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();

Este exemplo substitui o ponto final padrão para que o cliente aponte para o ponto final REST Compatível com DynamoDB do Autonomous AI Database.

Elementos do código:

  • DynamoDbClient.builder(): Inicializa uma nova instância do DynamoDbClient.Builder. Esse construtor faz parte do AWS SDK for Java e é usado para construir instâncias de cliente DynamoDB.

  • region(Region region): Especifica a região da AWS na qual o cliente opera. Observe que esse nome de região é opcional e será substituído pelo valor de região especificado no ponto final da API REST.

  • endpointOverride(URI endpoint): Configura o cliente para se comunicar com um ponto final HTTP compatível com DynamoDB especificado, em vez do ponto final do serviço AWS padrão.

  • build(): Finaliza a configuração do construtor e cria uma nova instância do DynamoDbClient com as definições especificadas.

Você também pode configurar ou substituir o ponto final do cliente DynamoDB usando outras linguagens de programação e seus respectivos SDKs da AWS, como Python (com Boto3) e C++.

Consulte as referências do SDK DynamoDB por idioma:

Chamar a API Compatível com DynamoDB no seu Autonomous AI Database

O código a seguir demonstra como criar uma tabela movie compatível com DynamoDB e executar operações básicas: descreva, liste, insira, atualize e exclua itens usando o Java AWS SDK v2 com um ponto final personalizado.

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

Observações de uso

Desativar a API do Autonomous AI Database para DynamoDB no Autonomous AI Database

Mostra as etapas para desativar a API DynamoDB para seu Autonomous AI Database.

Execute as seguintes etapas de pré-requisito conforme necessário:

  • Abra a Console do Oracle Cloud Infrastructure clicando no ícone de navegação ao lado da Nuvem.

  • No menu de navegação esquerdo do Oracle Cloud Infrastructure, clique em Oracle Database e depois clique em Autonomous AI Database.

  • Na páginas do Autonomous AI Database, selecione seu Autonomous AI Database nos links na coluna Nome para exibição.

Siga estas etapas para desativar APIs DynamoDB em uma instância do Autonomous AI Database:

  1. Na lista drop-down Mais ações, selecione Gerenciar tags.

    Isso mostra a página Adicionar Tags.

  2. Forneça os valores a seguir para designar tags ao Autonomous AI Database.
    • Namespace: Para adicionar uma tag free-from, deixe o valor em branco.

    • Chave: adb$feature

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

    Clique em Adicionar para adicionar a tag.

    Depois que você clicar em Adicionar, o campo Estado do ciclo de vida mostrará Atualizando e o Autonomous AI Database gerará uma solicitação de serviço Atualizar Tags do Autonomous Database. Para exibir a solicitação, na página de detalhes, selecione a guia Solicitações de serviço.

Observações e Limitações para usar a API do Oracle Database para DynamoDB no Autonomous AI Database

Lista observações e limitações para usar a API do Oracle Database para DynamoDB no Autonomous AI Database.

Observe o seguinte ao usar a API do Oracle Database para DynamoDB no Autonomous AI Database:

Observações de uso

  • Se um Autonomous AI Database com a API do Oracle Database para DynamoDB ativada for excluída, todas as tabelas compatíveis com DynamoDB associadas também serão eliminadas e o faturamento será interrompido.

  • Se o Autonomous AI Database com a API de Banco de Dados para DynamoDB ativada for interrompido, todas as tabelas compatíveis com DynamoDB associadas serão excluídas do faturamento durante o período interrompido.

  • Todas as tabelas compatíveis com DynamoDB associadas são afetadas pelas operações de exclusão ou interrupção, conforme descrito acima.

Limitações

  • São permitidas no máximo 2 tabelas compatíveis com o DynamoDB para cada Autonomous AI Database Gratuito e Autonomous AI Database para Desenvolvedores.

  • São permitidas no máximo 4 ECPUs por tabela compatível com DynamoDB para cada Autonomous AI Database Gratuito e Autonomous AI Database para Desenvolvedores.

  • Os nomes de tabela devem ter entre 3 e 255 caracteres de comprimento.

  • Não há suporte para APIs de Tabela Global e APIs PartiQL.