機械翻訳について

Autonomous AI Database API for DynamoDBの使用

Autonomous AI Database API for DynamoDBを使用すると、キー/値形式を使用してAutonomous AI Databaseにデータを格納、管理および取得できます。

トピック

Autonomous AI Database API for DynamoDBの使用について

Oracle Autonomous AI Databaseでは、Autonomous AI Database API for DynamoDBとOracleのフルマネージドのAutonomous AI Databaseが提供され、既存のDynamoDBツールおよびSDKを使用してAutonomous AI Databaseとシームレスに連携できます。

Oracle Autonomous AI Database API for DynamoDB互換性APIを使用すると、既存のDynamoDBクライアントを引き続き使用し、アプリケーションを最小限の変更してAutonomous AI Databaseと連携できます。 標準のDynamoDB SDKを使用して、既存のDynamoDBアプリケーションをAutonomous AI Databaseと統合できます。 APIでは、GetItemDeleteItemCreateTableDeleteTableなど、使い慣れたDynamoDB操作が提供され、DynamoDBアプリケーションをAutonomous AI Databaseに移行できます。

Autonomous AI Database API for DynamoDBを使用すると、DynamoDB互換性を維持しながら、Autonomous AI Database機能を利用できます。

詳細は、Amazon DynamoDBを参照してください。

前提条件

Autonomous AI DatabaseAutonomous AI DatabaseとともにAutonomous AI Database API for DynamoDBを使用するための前提条件をリストします。

データベースに対してAutonomous AI Database API for DynamoDBを有効にする前に、次の点に注意してください:

  • Autonomous AI Database API for DynamoDBは、ワークロード・タイプがトランザクション処理であるAutonomous AI Databaseでのみサポートされています。

  • Autonomous AI Databaseインスタンスは、エラスティック・プールの一部であってはなりません。 エラスティック・グループの一部であるAutonomous AI DatabaseAutonomous AI Database API for DynamoDBを有効にしようとした場合、またはこれらのAPIが有効なデータベースをエラスティック・グループに追加しようとすると、エラーが表示されます。 Autonomous AI Database API for DynamoDBが有効になっているAutonomous AI Databaseは、エラスティック・グループのメンバーにはできません。

Autonomous AI DatabaseでのAutonomous AI Database API for DynamoDBの有効化

Autonomous AI DatabaseインスタンスからDynamoDB APIを呼び出すためのアクセス・キーおよび秘密キーを生成するステップについて説明します。

必要に応じて、次の前提条件ステップを実行します:

  • 「クラウド」の横にあるナビゲーション・アイコンをクリックして、Oracle Cloud Infrastructureコンソールを開きます。

  • Oracle Cloud Infrastructureの左側のナビゲーション・メニューから、「Oracle Database」をクリックし、「Autonomous AI Database」をクリックします。

  • 「Autonomous AI Database」ページで、「表示名」列の下のリンクから「Autonomous AI Database」を選択します。

Autonomous AI DatabaseインスタンスでDynamoDB APIを有効にするには、次のステップに従います:

  1. 「その他のアクション」ドロップダウン・リストで、「タグの管理」を選択します。

    これは、「タグの追加」ページを示しています。

  2. 次の値を指定して、タグをAutonomous AI Databaseに割り当てます。
    • ネームスペース:フリー・フロントのタグを追加するには、値を空白のままにします。

    • キー: adb$feature

    • 値: {"name":"DynamoDB_API","enable":true}

    「追加」をクリックしてタグを追加します。

    「追加」をクリックすると、「ライフサイクル状態」フィールドに「更新中」が表示され、「Autonomous AIデータベース」によって「Autonomous Databaseタグの更新」作業リクエストが生成されます。 リクエストを表示するには、詳細ページで「作業リクエスト」タブを選択します。

    Autonomous AI Database API for DynamoDBを有効にするまでに最大10分かかる場合があります。

    Autonomous AIデータベースでOracle Database API for DynamoDBを有効にした後、https://dataaccess.adb.{oci-region_name}.oraclecloudapps.com/adb/keyvaluestore/v1/{database-ocid} RESTエンドポイントを使用してDynamoDB操作を実行します。 Oracle Autonomous DynamoDB APIにアクセスするには、有効なアクセス・キーID、シークレット・アクセス・キー、および操作に必要な権限が必要です。たとえば、DynamoDB表を作成するにはCREATE_TABLE権限が必要です。

    Oracle Autonomous DynamoDB API操作のURIは、次のとおりです。

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

    たとえば:

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

DynamoDB APIを起動するためのアクセスの構成

この項では、Autonomous AI Databaseを有効にした後で、DynamoDB互換APIを認証して使用するために必要なアクセス・キーを作成および管理するステップを示します。

RESTエンドポイントhttps://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeysを使用して、DynamoDB表へのアクセスを管理します。 これを行うには、データベースのユーザー名および資格証明を指定します。指定したユーザーにはPDB_DBAロールが付与されている必要があります。 これらのアクセス・キーは、DynamoDBのAutonomous AI DatabaseへのAPIコールを認証するために必要です。

DynamoDB互換操作を実行するために必要な権限がアクセス・キーに割り当てられていることを確認する必要があります。 これらの権限は、アクセス・キーの作成時に指定するか、既存のキーを変更して必要な権限を割り当てることができます。

アクセス・キーの権限のリストを次に示します。

権限 説明

CREATE_TABLE

表の作成を実行するためのアクセス

READ_ANY

Autonomous AI Databaseに関連付けられたすべてのDynamoDB互換キー表に対して表およびアイテムの読取り操作を実行するためのアクセス権。 バックアップ、リストア、インポートおよびエクスポート操作は含まれません。

READ_WRITE_ANY

Autonomous AI Databaseに関連付けられたすべてのDynamoDB互換表で、表およびアイテムの読取りおよび書込み操作を実行するためのアクセス権。 バックアップ、リストア、インポートおよびエクスポート操作は含まれません。

ADMIN_ANY

Autonomous AI Databaseに関連付けられたすべてのDynamoDB互換表の作成、バックアップ、リストア、インポートおよびエクスポートなどの操作を実行するためのアクセス権。

READ <Table(s)>

Autonomous AI Databaseに関連付けられた特定のDynamoDB互換表で表およびアイテムの読取り操作を実行するためのアクセス権。 バックアップ、リストア、インポートおよびエクスポート操作は含まれません。

READ_WRITE on <Table(s)>

Autonomous AI Databaseに関連付けられた特定のDynamoDB互換表で表およびアイテムの読取りおよび書込み操作を実行するためのアクセス権。 バックアップ、リストア、インポートおよびエクスポート操作は含まれません。

ADMIN on <Table(s)>

Autonomous AI Databaseに関連付けられた特定のDynamoDB互換表で、バックアップ、リストア、インポートおよびエクスポートなどの操作を実行するためのアクセス権。

<operation name> on <Table(s)>。例: GetItem on <Table(s)>

Autonomous AI Databaseに関連付けられた特定のDynamoDB互換表で特定の操作を実行するためのアクセス権。

アクセス・キーの作成

アクセス・キーおよび秘密キーをデータベースに作成するには、ADMINユーザーとしてログインしているか、PDB_DBAロールが付与されている必要があります。

データベースでアクセス・キーを作成するための構文およびサンプル・リクエスト:

POST https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys RESTエンドポイントAPIリクエストを使用して、アクセス・キーおよび秘密キーを生成します:

構文

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.
}
パス・パラメータ(適切な認証を提供し、プレースホルダを実際のOCIリージョンおよびデータベースOCIDに置き換えます):
  • name: String: アクセス・キー名

  • description: String: アクセス・キーの説明

  • permissions: Array: (オプション)この配列の各オブジェクトは、許可される操作(アクション)および(オプションで)それらのアクションを制限する表(リソース)を定義します。
    • actions: Array of Strings (必須: キーが実行できる特定の操作をリストします)。 たとえば、"CREATE_TABLE"、"READ_WRITE"、"ADMIN"です。)

    • resources: Array of Strings (オプション: アクションを適用する表を指定します。 この配列にresources": ["customers", "orders\などの表名をリストする場合、アクションはそれらの表のみに制限されます。 省略すると、アクションはデータベース内のすべての表に適用されます。)

  • expiration_minutes: Number: (オプション)有効期限(分)

サンプル・レスポンス形式

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

例: この例では、Oracle <span>Autonomous AI Database</span> REST APIにPOSTリクエストを送信して、管理権限を持つ新しいアクセス・キーを作成する方法を示します。 リクエストはキー名と必要な権限を指定し、レスポンスには新しく生成されたアクセス・キーID、シークレット、有効期限および権限が含まれます。

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

リクエスト・パラメータ:
  • database-ocid: アクセス・キーが作成されるデータベースのOCID。

  • AdminUser: 認証に使用されるデータベース・ユーザー名。

  • TestPass#: データベース・ユーザーのパスワード。

  • Request-Id: APIリクエストの一意の識別子で、追跡またはトラブルシューティングに役立ちます。

  • Content-Type: リクエスト・ペイロードの形式をJSON (application or json)として指定します。

  • name: 新しいアクセス・キーに割り当てる名前。

  • permissions: 新しいキーに割り当てる権限を指定する配列。

    • actions: アクセス・キーに対して許可されるアクションの配列(管理権限の場合は「ADMIN_ANY」など)

  • expiration_minutes: アクセス・キーが期限切れになるまでの期間を分単位で指定します。

レスポンスのパラメータ:
  • access_key_id: 新しく作成されたアクセス・キーの一意の識別子。

  • secret_access_key: アクセス・キーに関連付けられたシークレット値。 これは、将来のAPIリクエストを認証するために必要です。

  • expiration_time: アクセス・キーが失効するタイミングを示すタイムスタンプ。

  • アクセス・キーに割り当てられた権限オブジェクトの配列(リクエストで指定)。

    • actions: アクセス・キーに対して許可されるアクション(管理権限の場合は「ADMIN_ANY」など)

アクセス・キー情報の取得

アクセス・キーを作成した後、GET /accesskeys REST APIリクエストを使用して、その名前、関連付けられた権限、有効期限およびその他の関連メタデータなどの詳細を検索します。 これにより、プログラムでアクセス権を確認したり、資格証明を監査したり、アクセス・キー情報を表示したりできます。

アクセス・キーの詳細を取得する構文および例:

構文:

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>

例: 次のコールは、指定されたアクセス・キーに関する詳細情報を取得します。 これにより、アクセス・キーに関連付けられている属性および権限を確認できます。

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

リクエスト・パラメータ:

  • database-ocid: 問合せ対象のAutonomous Databaseの一意のOracle Cloud Identifier (OCID)。

  • access-key-id: 詳細がリクエストされる特定のアクセス・キーの一意の識別子。

  • AdminUser: 認証に使用されるデータベース・ユーザー名。

  • TestPass#: データベース・ユーザーのパスワード。

  • Request-Id: このAPIリクエストの一意の識別子。ロギングまたはトラブルシューティングに役立ちます。

  • Content-Type: レスポンスの予期される形式(applicationまたはjson、ヘッダーで設定)を指定します。

  • Accept: レスポンス形式を指定します。

アクセス・キーの更新

アクセス・キーを作成および取得した後、PUT /accesskeys REST APIを使用して既存のアクセス・キーの属性を更新します。

アクセス・キーを更新する構文および例:

構文

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

例: 次のリクエストにより、アクセス・キーが更新され、有効期限が120分延長されます。

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

リクエスト・パラメータ:

  • database-ocid: 問合せ対象のAutonomous Databaseの一意のOracle Cloud Identifier (OCID)。

  • access-key-id: 詳細がリクエストされる特定のアクセス・キーの一意の識別子。

  • AdminUser: 認証に使用されるデータベース・ユーザー名。

  • TestPass#: データベース・ユーザーのパスワード。

  • Request-Id: このAPIリクエストの一意の識別子。ロギングまたはトラブルシューティングに役立ちます。

  • Content-Type: レスポンスの予期される形式(applicationまたはjson、ヘッダーで設定)を指定します。

  • Accept: レスポンス形式を指定します。

  • extend_expiration_minutes_by: (本文)アクセス・キーの有効期限を延長する分数。

レスポンス・パラメータ:

  • access_key_id: 更新されたアクセス・キーの一意の識別子。

  • expiration_timestamp: アクセス・キーの新しい有効期限タイムスタンプ。

  • permissions: アクセス・キーに関連付けられた権限を記述する配列。

    • actions: 許可されるアクションのリスト(例: "ADMIN_ANY")。

  • message: 実行されたアクションを示す確認メッセージ。

アクセス・キーの削除

既存のアクセス・キーが不要になった場合は削除できます。 DELETE /accesskeys REST APIを使用して、データベースからアクセス・キーを削除します。

データベースからアクセス・キーを削除する構文および例:

構文:

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>

例: 次のリクエストは、指定されたアクセス・キーをAutonomous AIデータベースから削除します。 削除されたキーは、認証またはデータベース・アクセスに使用できなくなります。 削除に成功すると、HTTPステータス・コード204 No Contentまたは200 OKが返され、レスポンス本文はありません。

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

リクエスト・パラメータ:

  • database-ocid: 問合せ対象のAutonomous Databaseの一意のOracle Cloud Identifier (OCID)。

  • access-key-id: 詳細がリクエストされる特定のアクセス・キーの一意の識別子。

  • AdminUser: 認証に使用されるデータベース・ユーザー名。

  • TestPass#: データベース・ユーザーのパスワード。

  • Request-Id: このAPIリクエストの一意の識別子。ロギングまたはトラブルシューティングに役立ちます。

  • Content-Type: レスポンスの予期される形式(applicationまたはjson、ヘッダーで設定)を指定します。

レスポンス・パラメータ:

  • message: 削除操作の結果を示す確認メッセージ。

  • access_key_id: 更新されたアクセス・キーの一意の識別子。

  • status: 削除後のアクセス・キーの最終ステータス(「DELETED」など)。

DynamoDB互換APIを起動するステップ

DynamoDB APIを有効にし、アクセス・キーを作成した後、DynamoDBクライアントSDKを使用して、DynamoDB用のOracle Database APIを起動できます。

Autonomous AI Database API for DynamoDBを起動するようにDynamoDBクライアントを構成するには、次のステップに従います。

Autonomous AI Database DynamoDB互換エンドポイントを使用したDynamoDbClientの構成

AWS資格証明ファイルの更新

~/.aws/credentialsにあるAWS資格証明ファイルにナビゲートし、ファイルが存在しない場合は作成します。 Autonomous AI Database DynamoDB互換APIに対して生成されたアクセス・キーIDおよびシークレット・アクセス・キーで資格証明ファイルを更新します。 たとえば:
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>

Autonomous AI Databaseエンドポイントを使用するようにDynamoDBクライアント・コードを更新します。

たとえば、次のコードは、Java SDKを使用して、Autonomous AI Databaseエンドポイントを指すようにDynamoDBクライアントを構成します:

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

この例では、クライアントがAutonomous AI DatabaseのDynamoDB互換RESTエンドポイントを指すように、デフォルト・エンドポイントをオーバーライドします。

コード要素:

  • DynamoDbClient.builder(): 新しいDynamoDbClient.Builderインスタンスを初期化します。 このビルダーは、AWS SDK for Javaの一部であり、DynamoDBクライアント・インスタンスの作成に使用されます。

  • region(Region region): クライアントが動作するAWSリージョンを指定します。 このリージョン名はオプションであり、REST APIエンドポイントで指定されたリージョン値によってオーバーライドされることに注意してください。

  • endpointOverride(URI endpoint): デフォルトのAWSサービス・エンドポイントではなく、指定されたDynamoDB互換HTTPエンドポイントと通信するようにクライアントを構成します。

  • build(): ビルダー構成をファイナライズし、指定された設定で新しいDynamoDbClientインスタンスを作成します。

Python (Boto3を使用)、C++など、他のプログラミング言語およびそれぞれのAWS SDKを使用して、DynamoDBクライアント・エンドポイントを構成またはオーバーライドすることもできます。

言語別のDynamoDB SDK参照を参照してください:

Autonomous AI DatabaseでのDynamoDB互換APIの起動

次のコードは、DynamoDB互換の表movieを作成し、カスタム・エンドポイントを含むJava AWS SDK v2を使用してアイテムを記述、リスト、挿入、更新および削除する基本的な操作を実行する方法を示しています。

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

使用上のノート

Autonomous AI DatabaseでのAutonomous AI Database API for DynamoDBの無効化

Autonomous AI DatabaseのDynamoDB APIを無効にするステップを示しています。

必要に応じて、次の前提条件ステップを実行します:

  • 「クラウド」の横にあるナビゲーション・アイコンをクリックして、Oracle Cloud Infrastructureコンソールを開きます。

  • Oracle Cloud Infrastructureの左側のナビゲーション・メニューから、「Oracle Database」をクリックし、「Autonomous AI Database」をクリックします。

  • 「Autonomous AI Database」ページで、「表示名」列の下のリンクから「Autonomous AI Database」を選択します。

Autonomous AI DatabaseインスタンスでDynamoDB APIを無効にするには、次のステップに従います:

  1. 「その他のアクション」ドロップダウン・リストで、「タグの管理」を選択します。

    これは、「タグの追加」ページを示しています。

  2. 次の値を指定して、タグをAutonomous AI Databaseに割り当てます。
    • ネームスペース:フリー・フロントのタグを追加するには、値を空白のままにします。

    • キー: adb$feature

    • 値: {"name":"DynamoDB_API","enable": false}

    「追加」をクリックしてタグを追加します。

    「追加」をクリックすると、「ライフサイクル状態」フィールドに「更新中」が表示され、「Autonomous AIデータベース」によって「Autonomous Databaseタグの更新」作業リクエストが生成されます。 リクエストを表示するには、詳細ページで「作業リクエスト」タブを選択します。

Autonomous AI DatabaseでOracle Database API for DynamoDBを使用するためのノートと制限事項

Autonomous AI DatabaseでOracle Database API for DynamoDBを使用するためのノートおよび制限を示します。

Autonomous AI DatabaseでOracle Database API for DynamoDBを使用する場合は、次の点に注意してください:

使用上のノート

  • Oracle Database API for DynamoDBが有効なAutonomous AIデータベースが削除されると、関連するすべてのDynamoDB互換表も削除され、請求が停止します。

  • DynamoDBのデータベースAPIが有効になっているAutonomous AI Databaseが停止した場合、関連するすべてのDynamoDB互換表は、停止期間中に請求から除外されます。

  • 前述のように、関連するすべてのDynamoDB互換表は、削除操作または停止操作の影響を受けます。

制限事項

  • 開発者向けの無料Autonomous AI DatabaseおよびAutonomous AI Databaseごとに、最大2つのDynamoDB互換表が許可されます。

  • DynamoDB互換の表当たり最大4つのECPUが、開発者向けの無料Autonomous AI DatabaseおよびAutonomous AI Databaseごとに許可されます。

  • 表名の長さは3文字から255文字にする必要があります。

  • グローバル表APIおよびPartiQL APIはサポートされていません。