Autonomous AI Database API für DynamoDB verwenden
Die autonome KI-Datenbank-API für DynamoDB ermöglicht das Speichern, Verwalten und Abrufen von Daten in einer autonomen KI-Datenbank mit einem Schlüssel/Wert-Format.
Themen
- Informationen zur Verwendung der autonomen KI-Datenbank-API für DynamoDB
Oracle Autonomous AI Database bietet die autonome KI-Datenbank-API für DynamoDB mit der vollständig verwalteten autonomen KI-Datenbank von Oracle, mit der Sie vorhandene DynamoDB-Tools und SDKs verwenden können, um nahtlos mit der autonomen KI-Datenbank zu arbeiten. - Voraussetzungen
Listet die Voraussetzungen für die Verwendung der autonomen KI-Datenbank-API für DynamoDB mit Ihrer autonomen KI-Datenbank auf. - Autonome KI-Datenbank-API für DynamoDB in autonomer KI-Datenbank aktivieren
Beschreibt, wie Sie Zugriffsschlüssel und Secret Key generieren, um die DynamoDB-API aus Ihrer autonomen KI-Datenbankinstanz aufzurufen. - Zugriff zum Aufrufen von DynamoDB-APIs konfigurieren
In diesem Abschnitt werden die Schritte zum Erstellen und Verwalten von Zugriffsschlüsseln beschrieben, die zur Authentifizierung und Verwendung von DynamoDB-kompatiblen APIs erforderlich sind, nachdem Sie die autonome KI-Datenbank aktiviert haben. - Schritte zum Aufrufen der DynamoDB-kompatiblen API
Nachdem Sie die DynamoDB-API aktiviert und einen Zugriffsschlüssel erstellt haben, können Sie das DynamoDB-Client-SDK verwenden, um die Oracle Database-API für DynamoDB aufzurufen. - Autonome KI-Datenbank-API für DynamoDB in autonomer KI-Datenbank deaktivieren
Zeigt die Schritte zum Deaktivieren der DynamoDB-API für Ihre autonome KI-Datenbank an. - Hinweise und Einschränkungen zur Verwendung der Oracle Database-API für DynamoDB in einer autonomen KI-Datenbank
Listet Hinweise und Einschränkungen zur Verwendung der Oracle Database-API für DynamoDB in einer autonomen KI-Datenbank auf.
Übergeordnetes Thema: Entwickeln
Informationen zur Verwendung der autonomen KI-Datenbank-API für DynamoDB
Oracle Autonomous AI Database bietet die autonome KI-Datenbank-API für DynamoDB mit der vollständig verwalteten autonomen KI-Datenbank von Oracle, mit der Sie vorhandene DynamoDB-Tools und SDKs verwenden können, um nahtlos mit der autonomen KI-Datenbank zu arbeiten.
Mit der Oracle Autonomous AI Database-API für die Kompatibilitäts-API DynamoDB können Sie weiterhin Ihre vorhandenen DynamoDB-Clients verwenden und minimale Änderungen an Ihren Anwendungen vornehmen, um mit Autonomous AI Database zu arbeiten. Sie können DynamoDB-Standard-SDKs verwenden, um Ihre vorhandenen DynamoDB-Anwendungen in eine autonome KI-Datenbank zu integrieren. Die APIs bieten vertraute DynamoDB-Vorgänge wie GetItem, DeleteItem, CreateTable und DeleteTable, mit denen Sie DynamoDB-Anwendungen in eine autonome KI-Datenbank migrieren können.
Durch die Verwendung der autonomen KI-Datenbank-API für DynamoDB können Sie die Features der autonomen KI-Datenbank nutzen und gleichzeitig die DynamoDB-Kompatibilität beibehalten.
Weitere Informationen finden Sie unter Amazon DynamoDB.
Übergeordnetes Thema: Autonome KI-Datenbank-API für DynamoDB verwenden
Voraussetzungen
Listet die Voraussetzungen für die Verwendung der autonomen KI-Datenbank-API für DynamoDB mit Ihrer autonomen KI-Datenbank auf.
Bevor Sie die autonome KI-Datenbank-API für DynamoDB für Ihre Datenbank aktivieren, beachten Sie Folgendes:
-
Die autonome KI-Datenbank-API für DynamoDB wird nur für autonome KI-Datenbanken mit dem Workload-Typ "Transaktionsverarbeitung" unterstützt.
-
Die Instanz der autonomen KI-Datenbank darf nicht Teil eines elastischen Pools sein. Wenn Sie versuchen, die autonome KI-Datenbank-API für DynamoDB in einer autonomen KI-Datenbank zu aktivieren, die Teil einer elastischen Gruppe ist, oder versuchen, eine Datenbank hinzuzufügen, bei der diese APIs für eine elastische Gruppe aktiviert sind, wird eine Fehlermeldung angezeigt. Autonome KI-Datenbanken mit aktivierter Autonomous AI Database API für DynamoDB dürfen keine Mitglieder einer elastischen Gruppe sein.
Übergeordnetes Thema: Autonome KI-Datenbank-API für DynamoDB verwenden
Autonome KI-Datenbank-API für DynamoDB in autonomer KI-Datenbank aktivieren
Beschreibt die Schritte zum Generieren von Zugriffsschlüssel und Secret Key zum Aufrufen der DynamoDB-API aus Ihrer autonomen KI-Datenbankinstanz.
Führen Sie bei Bedarf die folgenden vorbereitenden Schritte aus:
-
Öffnen Sie die Oracle Cloud Infrastructure-Konsole, indem Sie neben "Cloud" auf
klicken.
-
Klicken Sie im linken Navigationsmenü von Oracle Cloud Infrastructure auf Oracle Database und dann auf Autonome KI-Datenbank.
-
Wählen Sie die autonome KI-Datenbank auf der Seite "Autonome KI-Datenbank" aus den Links unter der Spalte Anzeigename aus.
Führen Sie die folgenden Schritte aus, um DynamoDB-APIs in einer autonomen KI-Datenbankinstanz zu aktivieren:
Übergeordnetes Thema: Autonome KI-Datenbank-API für DynamoDB verwenden
Zugriff zum Aufrufen von DynamoDB-APIs konfigurieren
In diesem Abschnitt werden die Schritte zum Erstellen und Verwalten von Zugriffsschlüsseln beschrieben, die zur Authentifizierung und Verwendung von DynamoDB-kompatiblen APIs erforderlich sind, nachdem Sie die autonome KI-Datenbank aktiviert haben.
https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys, um den Zugriff auf DynamoDB-Tabellen zu verwalten. Geben Sie dazu Ihren Datenbankbenutzernamen und Ihre Zugangsdaten an. Dem angegebenen Benutzer muss die Rolle PDB_DBA zugewiesen sein. Diese Zugriffsschlüssel sind für die Authentifizierung von API-Aufrufen in der autonomen KI-Datenbank für DynamoDB erforderlich.
Sie müssen sicherstellen, dass dem Zugriffsschlüssel die erforderlichen Berechtigungen zum Ausführen von DynamoDB-kompatiblen Vorgängen zugewiesen sind. Sie können diese Berechtigungen beim Erstellen des Zugriffsschlüssels angeben oder einen vorhandenen Schlüssel ändern, um die erforderlichen Berechtigungen zuzuweisen.
Im Folgenden finden Sie eine Liste der Berechtigungen für Zugriffsschlüssel:
| Berechtigung | Beschreibung |
|---|---|
|
|
Zugriff zum Erstellen von Tabellen |
|
|
Zugriff zum Ausführen von Tabellen- und Elementlesevorgängen für alle mit DynamoDB kompatiblen Schlüsseltabellen, die mit der autonomen KI-Datenbank verknüpft sind. Es umfasst keine Backup-, Restore-, Import- und Exportvorgänge. |
|
|
Zugriff zum Ausführen von Lese- und Schreibvorgängen für Tabellen und Elemente für alle mit DynamoDB kompatiblen Tabellen, die mit der autonomen KI-Datenbank verknüpft sind. Es umfasst keine Backup-, Restore-, Import- und Exportvorgänge. |
|
|
Zugriff zum Ausführen aller Vorgänge, einschließlich Erstellen von Tabellen, Backup, Wiederherstellen, Importieren und Exportieren aller mit der autonomen KI-Datenbank verknüpften DynamoDB-kompatiblen Tabellen. |
|
|
Zugriff zum Ausführen von Tabellen- und Artikel-Lesevorgängen für bestimmte mit der autonomen KI-Datenbank verknüpfte kompatible Tabelle DynamoDB. Es umfasst keine Backup-, Restore-, Import- und Exportvorgänge. |
|
|
Zugriff zum Ausführen von Lese- und Schreibvorgängen für Tabellen und Elemente in einer bestimmten DynamoDB-kompatiblen Tabelle, die mit der autonomen KI-Datenbank verknüpft ist. Es umfasst keine Backup-, Restore-, Import- und Exportvorgänge. |
|
|
Zugriff zum Ausführen von Vorgängen, einschließlich Backup, Restore, Import und Export in einer bestimmten DynamoDB-kompatiblen Tabelle, die mit der autonomen KI-Datenbank verknüpft ist. |
|
|
Zugriff zum Ausführen eines bestimmten Vorgangs für eine bestimmte DynamoDB-kompatible Tabelle, die mit der autonomen KI-Datenbank verknüpft ist. |
Zugriffsschlüssel erstellen
Um einen Zugriffsschlüssel und einen Secret Key in der Datenbank zu erstellen, müssen Sie als Benutzer ADMIN angemeldet sein oder die Rolle PDB_DBA erhalten haben.
Syntax und Beispielanforderung zum Erstellen eines Zugriffsschlüssels in der Datenbank:
Verwenden Sie die REST-Endpunkt-API-Anforderung POST https://dataaccess.adb.{oci-region-name}.oraclecloudapps.com/adb/auth/v1/databases/{database-ocid}/accesskeys, um den Zugriffsschlüssel und den Secret Key zu generieren:
Syntax
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.
}-
name:String: Zugriffsschlüsselname -
description:String: Beschreibung für den Zugriffsschlüssel -
permissions:Array: (Optional) Jedes Objekt in diesem Array definiert, welche Vorgänge (Aktionen) zulässig sind und (optional) auf welche Tabellen (Ressourcen) diese Aktionen beschränkt sind.-
actions:Array of Strings(Erforderlich: Listet die spezifischen Vorgänge auf, die der Schlüssel ausführen kann. Beispiel: "CREATE_TABLE", "READ_WRITE", "ADMIN".) -
resources:Array of Strings(Optional: Gibt an, für welche Tabellen die Aktionen gelten. Wenn Sie Tabellennamen in diesem Array auflisten, z.B. "resources": ["customers", "orders"]", sind die Aktionen nur auf diese Tabellen beschränkt. Wenn diese Option ausgelassen wird, gelten die Aktionen für alle Tabellen in der Datenbank.)
-
-
expiration_minutes:Number: (Optional) Ablaufdauer in Minuten
Beispiel für ein Antwortformat
{
"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
]
}
Beispiel: In diesem Beispiel wird gezeigt, wie Sie eine POST-Anforderung an die REST-API von Oracle Autonomous AI Database senden, um einen neuen Zugriffsschlüssel mit administrativen Berechtigungen zu erstellen. Die Anforderung gibt den Schlüsselnamen und die erforderlichen Berechtigungen an. Die Antwort enthält die neu generierte Zugriffsschlüssel-ID, das Secret, die Ablaufzeit und die Berechtigungen.
# 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: Die OCID der Datenbank, für die der Zugriffsschlüssel erstellt wird. -
AdminUser: Der für die Authentifizierung verwendete Datenbankbenutzername. -
TestPass#: Das Kennwort des Datenbankbenutzers. -
Request-Id: Eindeutige ID für die API-Anforderung, nützlich für das Tracking oder die Fehlerbehebung. -
Content-Type: Gibt das Format der Anforderungs-Payload als JSON an (application or json). -
name: Der Name, der dem neuen Zugriffsschlüssel zugewiesen werden soll. -
permissions: Ein Array, das die Berechtigungen für die Zuweisung zum neuen Schlüssel angibt.-
actions: Ein Array zulässiger Aktionen für den Zugriffsschlüssel (z.B. "ADMIN_ANY" für administrative Berechtigungen)
-
-
expiration_minutes: Gibt die Dauer in Minuten an, bevor der Zugriffsschlüssel abläuft.
-
access_key_id: Die eindeutige ID für den neu erstellten Zugriffsschlüssel. -
secret_access_key: Der Secret-Wert, der mit dem Zugriffsschlüssel verknüpft ist. Dies ist für die Authentifizierung zukünftiger API-Anforderungen erforderlich. -
expiration_time: Der Zeitstempel, der angibt, wann der Zugriffsschlüssel abläuft. -
Das Array der Berechtigungsobjekte, die dem Zugriffsschlüssel zugewiesen sind (wie in der Anforderung angegeben).
-
actions: Die zulässigen Aktionen für den Zugriffsschlüssel (z.B. "ADMIN_ANY" für administrative Berechtigungen)
-
Zugriffsschlüsselinformationen abrufen
Nachdem Sie einen Zugriffsschlüssel erstellt haben, können Sie mit der REST-API-Anforderung GET /accesskeys nach den zugehörigen Details suchen, wie Name, zugehörige Berechtigungen, Ablaufzeit und andere relevante Metadaten. Auf diese Weise können Sie Zugriffsrechte, Auditzugangsdaten oder Zugriffsschlüsselinformationen programmgesteuert bestätigen.
Syntax und Beispiel für das Abrufen von Zugriffsschlüsseldetails:
Syntax:
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>
Beispiel: Der folgende Aufruf ruft detaillierte Informationen über den angegebenen Zugriffsschlüssel ab. Dadurch können Sie die Attribute und Berechtigungen bestätigen, die mit dem Zugriffsschlüssel verknüpft sind:
# 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"
]
}
]
}
Request-Parameter:
-
database-ocid: Die eindeutige Oracle Cloud-ID (OCID) der abgefragten Autonomous Database. -
access-key-id: Die eindeutige ID des spezifischen Zugriffsschlüssels, dessen Details angefordert werden. -
AdminUser: Der für die Authentifizierung verwendete Datenbankbenutzername. -
TestPass#: Das Kennwort des Datenbankbenutzers. -
Request-Id: Eindeutige ID für diese API-Anforderung. Nützlich für Logging oder Fehlerbehebung. -
Content-Type: Gibt das erwartete Format der Antwort an (applicationoderjson; im Header festgelegt). -
Accept: Gibt das Antwortformat an.
Zugriffsschlüssel aktualisieren
Nachdem Sie Ihren Zugriffsschlüssel erstellt und abgerufen haben, aktualisieren Sie die Attribute eines vorhandenen Zugriffsschlüssels mit der REST-API PUT /accesskeys.
Syntax und Beispiel für die Aktualisierung eines Zugriffsschlüssels:
Syntax
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>
}
Beispiel: Die folgende Anforderung aktualisiert den Zugriffsschlüssel, um die Ablaufzeit um 120 Minuten zu verlängern.
# 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"
}
Anforderungsparameter:
-
database-ocid: Die eindeutige Oracle Cloud-ID (OCID) der abgefragten Autonomous Database. -
access-key-id: Die eindeutige ID des spezifischen Zugriffsschlüssels, dessen Details angefordert werden. -
AdminUser: Der für die Authentifizierung verwendete Datenbankbenutzername. -
TestPass#: Das Kennwort des Datenbankbenutzers. -
Request-Id: Eindeutige ID für diese API-Anforderung. Nützlich für Logging oder Fehlerbehebung. -
Content-Type: Gibt das erwartete Format der Antwort an (applicationoderjson; im Header festgelegt). -
Accept: Gibt das Antwortformat an. -
extend_expiration_minutes_by: (Körper) Anzahl der Minuten zur Verlängerung des Ablaufs des Zugriffsschlüssels.
Antwortparameter:
-
access_key_id: Die eindeutige ID für den aktualisierten Zugriffsschlüssel. -
expiration_timestamp: Der neue Ablaufzeitstempel für den Zugriffsschlüssel. -
permissions: Array, das die Berechtigungen beschreibt, die mit dem Zugriffsschlüssel verknüpft sind.-
actions: Liste der zulässigen Aktionen (Beispiel: "ADMIN_ANY").
-
-
message: Bestätigungsmeldung, die angibt, welche Aktion ausgeführt wurde.
Zugriffsschlüssel löschen
Sie können einen vorhandenen Zugriffsschlüssel löschen, wenn er nicht mehr benötigt wird. Mit der REST-API DELETE /accesskeys können Sie einen Zugriffsschlüssel aus der Datenbank entfernen.
Syntax und Beispiel zum Entfernen eines Zugriffsschlüssels aus der Datenbank:
Syntax:
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>
Beispiel: Mit der folgenden Anforderung wird der angegebene Zugriffsschlüssel aus der autonomen KI-Datenbank entfernt. Nach dem Löschen kann der Schlüssel nicht mehr für die Authentifizierung oder den Datenbankzugriff verwendet werden. Beim erfolgreichen Löschen wird der HTTP-Statuscode 204 No Content oder 200 OK ohne Antwortbody zurückgegeben.
# 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"
}
Anforderungsparameter:
-
database-ocid: Die eindeutige Oracle Cloud-ID (OCID) der abgefragten Autonomous Database. -
access-key-id: Die eindeutige ID des spezifischen Zugriffsschlüssels, dessen Details angefordert werden. -
AdminUser: Der für die Authentifizierung verwendete Datenbankbenutzername. -
TestPass#: Das Kennwort des Datenbankbenutzers. -
Request-Id: Eindeutige ID für diese API-Anforderung. Nützlich für Logging oder Fehlerbehebung. -
Content-Type: Gibt das erwartete Format der Antwort an (applicationoderjson; im Header festgelegt).
Antwortparameter:
-
message: Bestätigungsmeldung, die das Ergebnis des Löschvorgangs angibt. -
access_key_id: Die eindeutige ID für den aktualisierten Zugriffsschlüssel. -
status: Der endgültige Status des Zugriffsschlüssels nach dem Löschen (z. B. "DELETED").
Übergeordnetes Thema: Autonome KI-Datenbank-API für DynamoDB verwenden
Schritte zum Aufrufen der DynamoDB-kompatiblen API
Nachdem Sie die DynamoDB-API aktiviert und einen Zugriffsschlüssel erstellt haben, können Sie das DynamoDB-Client-SDK verwenden, um die Oracle Database-API für DynamoDB aufzurufen.
Führen Sie diese Schritte aus, um den DynamoDB-Client so zu konfigurieren, dass die autonome KI-Datenbank-API für DynamoDB aufgerufen wird.
DynamoDbClient mit DynamoDB-kompatiblem Endpunkt der autonomen KI-Datenbank konfigurieren
AWS-Zugangsdatendatei aktualisieren
~/.aws/credentials, wenn die Datei nicht vorhanden ist, erstellen Sie sie. Aktualisieren Sie die Zugangsdatendatei mit der Zugriffsschlüssel-ID und dem Secret Access Key, die für DynamoDB-kompatible APIs der autonomen KI-Datenbank generiert wurden. Beispiel: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>Aktualisieren Sie den DynamoDB-Clientcode, um den Endpunkt der autonomen KI-Datenbank zu verwenden.
Beispiel: Der folgende Code konfiguriert den DynamoDB-Client mit dem Java-SDK, um auf den Endpunkt der autonomen KI-Datenbank zu verweisen:
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();In diesem Beispiel wird der Standardendpunkt außer Kraft gesetzt, sodass der Client auf den kompatiblen REST-Endpunkt der autonomen KI-Datenbank DynamoDB verweist.
Schlüsselelemente:
-
DynamoDbClient.builder(): Initialisiert eine neueDynamoDbClient.Builder-Instanz. Dieser Builder ist Teil des AWS-SDK für Java und wird zum Erstellen von DynamoDB-Clientinstanzen verwendet. -
region(Region region): Gibt die AWS-Region an, in der der Client arbeitet. Beachten Sie, dass dieser Regionsname optional ist und durch den Regionswert überschrieben wird, der im REST-API-Endpunkt angegeben ist. -
endpointOverride(URI endpoint): Konfiguriert den Client für die Kommunikation mit einem angegebenen DynamoDB-kompatiblen HTTP-Endpunkt anstelle des standardmäßigen AWS-Serviceendpunkts. -
build(): Finalisiert die Builder-Konfiguration und erstellt eine neueDynamoDbClient-Instanz mit den angegebenen Einstellungen.
Sie können den DynamoDB-Clientendpunkt auch mit anderen Programmiersprachen und den zugehörigen AWS-SDKs konfigurieren oder außer Kraft setzen, wie Python (mit Boto3), C++.
-
Python: DynamoDB
-
Java: AWS SDK für Java
-
C++: AWS SDK für C++
DynamoDB-kompatible API in Ihrer autonomen KI-Datenbank aufrufen
Der folgende Code zeigt, wie Sie eine DynamoDB-kompatible Tabelle movie erstellen und grundlegende Vorgänge ausführen: Elemente mit dem Java AWS SDK v2 mit einem benutzerdefinierten Endpunkt beschreiben, auflisten, einfügen, aktualisieren und löschen.
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()
);
}
}
-
Eine vollständige Liste der verfügbaren DynamoDB-Vorgänge finden Sie in der DynamoDB API-Referenz: Liste der Vorgänge.
-
Um
ImportTable- undExportTable-Vorgänge mit Object Store auszuführen, müssen Sie sicherstellen, dass ein Resource Principal auf Oracle Cloud Infrastructure-Ressourcen zugreifen kann, und die erforderlichen OCI-Policys festlegen. Weitere Informationen finden Sie unter Resource Principal für den Zugriff auf Oracle Cloud Infrastructure-Ressourcen nutzen. -
Das Festlegen der Lesekapazitätseinheiten (RCU) und Schreibkapazitätseinheiten (WCU) für die DynamoDB-kompatible Tabelle kann sich auf Ihre Abrechnung auswirken, da Ihnen der bereitgestellte Durchsatz in Rechnung gestellt wird. Detaillierte Informationen dazu, wie sich diese Einstellungen auf die Abrechnung auswirken. Weitere Informationen finden Sie unter Oracle Autonomous Database Serverless - Features - Abrechnung.
Übergeordnetes Thema: Autonome KI-Datenbank-API für DynamoDB verwenden
Autonome KI-Datenbank-API für DynamoDB in autonomer KI-Datenbank deaktivieren
Zeigt die Schritte zum Deaktivieren der DynamoDB-API für Ihre autonome KI-Datenbank an.
Führen Sie bei Bedarf die folgenden vorbereitenden Schritte aus:
-
Öffnen Sie die Oracle Cloud Infrastructure-Konsole, indem Sie neben "Cloud" auf
klicken.
-
Klicken Sie im linken Navigationsmenü von Oracle Cloud Infrastructure auf Oracle Database und dann auf Autonome KI-Datenbank.
-
Wählen Sie die autonome KI-Datenbank auf der Seite "Autonome KI-Datenbank" aus den Links unter der Spalte Anzeigename aus.
Führen Sie die folgenden Schritte aus, um DynamoDB-APIs in einer autonomen KI-Datenbankinstanz zu deaktivieren:
Übergeordnetes Thema: Autonome KI-Datenbank-API für DynamoDB verwenden
Hinweise und Einschränkungen für die Verwendung der Oracle Database-API für DynamoDB in einer autonomen KI-Datenbank
Listet Notizen und Einschränkungen für die Verwendung der Oracle Database-API für DynamoDB in einer autonomen KI-Datenbank auf.
Beachten Sie Folgendes, wenn Sie die Oracle Database-API für DynamoDB in einer autonomen KI-Datenbank verwenden:
Hinweise zur Verwendung
-
Wenn eine autonome KI-Datenbank mit aktivierter Oracle Database-API für DynamoDB gelöscht wird, werden alle zugehörigen DynamoDB-kompatiblen Tabellen ebenfalls gelöscht, und die Abrechnung wird gestoppt.
-
Wenn die autonome KI-Datenbank mit aktivierter Datenbank-API für DynamoDB gestoppt wird, werden alle zugehörigen DynamoDB-kompatiblen Tabellen während des gestoppten Zeitraums von der Abrechnung ausgeschlossen.
-
Alle verknüpften DynamoDB-kompatiblen Tabellen sind von den Lösch- oder Stoppvorgängen wie oben beschrieben betroffen.
Einschränkungen
-
Für jede freie autonome KI-Datenbank und autonome KI-Datenbank für Entwickler sind maximal 2 DynamoDB-kompatible Tabellen zulässig.
-
Für jede freie autonome KI-Datenbank und autonome KI-Datenbank für Entwickler sind maximal 4 ECPUs pro DynamoDB-kompatibler Tabelle zulässig.
-
Tabellennamen müssen eine Länge zwischen 3 und 255 Zeichen haben.
-
APIs für globale Tabellen und PartiQL-APIs werden nicht unterstützt.
Übergeordnetes Thema: Autonome KI-Datenbank-API für DynamoDB verwenden