Oracle AI Database API für MongoDB verwenden

Mit der Oracle AI Database API für MongoDB können Sie mithilfe von MongoDB-Sprachtreibern und -Tools eine Verbindung zu Oracle Autonomous AI Database herstellen.

Die Oracle AI Database API for MongoDB nutzt die konvergierten Datenbankfunktionen einer autonomen KI-Datenbank, um mehrere Datentypen, einschließlich JSON-Daten, innerhalb einer einzigen Datenbank zu verwalten. Mit diesen konvergierten Datenbankfunktionen können Sie beispielsweise SQL verwenden, um JSON-Daten abzufragen oder zu aktualisieren.

Hinweis

Hinweis: Für MongoDB müssen Sie den Netzwerkzugriff für die Verwendung von ACLs konfigurieren oder einen privaten Endpunkt für die Instanz der autonomen KI-Datenbank definieren.

Weitere Informationen finden Sie unter Oracle AI Database API for MongoDB.

Weitere Informationen finden Sie unter Autonomous JSON Database.

Weitere Informationen finden Sie unter Workload-Typen für autonome KI-Datenbanken.

Zugriff für MongoDB konfigurieren und MongoDB aktivieren

Mit der Oracle AI Database API für MongoDB können Sie eine Oracle Autonomous AI Database als Datenspeicher verwenden.

Um die MongoDB-API zu verwenden, können Sie eine neue autonome KI-Datenbank erstellen und konfigurieren oder die Konfiguration einer vorhandenen autonomen KI-Datenbank ändern.

Hinweis

Hinweis: Für MongoDB müssen Sie den Netzwerkzugriff für die Verwendung von ACLs konfigurieren oder einen privaten Endpunkt für die Instanz der autonomen KI-Datenbank definieren. Sie müssen nicht nur den Netzwerkzugriff konfigurieren, sondern auch die MongoDB-API in der autonomen KI-Datenbankinstanz aktivieren.

Zugriff für MongoDB konfigurieren

Um die MongoDB-API zu verwenden, können Sie eine neue autonome KI-Datenbank erstellen und konfigurieren oder die Konfiguration einer vorhandenen autonomen KI-Datenbank ändern, indem Sie ACLs konfigurieren oder einen privaten Endpunkt definieren.

Neue autonome KI-Datenbank für MongoDB konfigurieren

Befolgen Sie die Schritte unter Autonome KI-Datenbank bereitstellen oder klonen bis zu dem Punkt, an dem Sie den Netzwerkzugriffstyp auswählen.

Beschreibung von adb_network_access_acl_provision.png folgt

Beschreibung der Abbildung adb_network_access_acl_provision.png

Um jetzt die Oracle AI Database API for MongoDB zu verwenden, konfigurieren Sie den sicheren Zugriff, indem Sie einen der folgenden Netzwerkzugriffstypen auswählen und konfigurieren:

Vorhandene autonome KI-Datenbank für MongoDB konfigurieren

Öffnen Sie die Oracle Cloud Infrastructure-Konsole für Ihre autonome KI-Datenbankinstanz.

Beschreibung von adb_ajd_console_details.png folgt

Beschreibung der Abbildung adb_ajd_console_details.png

Hinweis

Hinweis: Um die Oracle AI Database-API für MongoDB zu verwenden, muss das Netzwerk konfiguriert sein, und der Zugriffstyp muss entweder Sicherer Zugriff nur von zulässigen IPs und VCNs oder Nur privater Endpunktzugriff lauten.

Access-Control-Liste (ACL) einrichten

Weitere Informationen finden Sie unter Access Control-Listen für eine vorhandene autonome KI-Datenbankinstanz konfigurieren.

Um Ihre ACL für eine IP-Adresse zu konfigurieren, müssen Sie die öffentliche IP-Adresse beziehen. Es gibt mehrere Möglichkeiten, Ihre öffentliche IP-Adresse anzuzeigen:

  • Klicken Sie im Bereich "Netzwerkzugriff auswählen" auf Meine IP-Adresse hinzufügen. Dadurch wird Ihre IP-Adresse in das Feld Werte kopiert.

  • Nachdem Sie ein VPN deaktiviert haben, verwenden Sie die WhatIsMyIP-Website.

  • Nachdem Sie ein VPN deaktiviert haben, verwenden Sie den curl-Befehl: curl -s https://ifconfig.me.

Hinweis

Hinweis: Öffentliche IP-Adressen können sich ändern. Jede Änderung Ihrer öffentlichen IP-Adresse erfordert eine Änderung der ACL. Wenn Sie nicht auf Ihre Datenbank zugreifen können, sollten Sie Ihre ACL überprüfen.

ACLs - Typen und Anwendungsfälle

ACL-Typ Anwendungsfall Kommentar
IP-Adresse Lokale Entwicklungs-Laptops mit derselben öffentlichen IP-Adresse Der einfachste Weg, um loszulegen. Jeder Laptop, der mit diesem LAN verbunden ist, hat Zugriff auf die Datenbank mit den Datenbankzugangsdaten.
CIDR-Block Lokaler Entwicklungs-Laptop Verwenden der Notation IPv4/32
Durch Komma getrennte IP-Adressen Kleine Anzahl von lokalen Entwicklungs-Laptops, die über verschiedene LANs verbunden sind (mit unterschiedlichen öffentlichen IP-Adressen) Kann mit mehr als 10 Laptops mühsam zu verwalten sein.
CIDR-Block Lokale Entwicklungs-Laptops, die auf demselben Subnetz verbunden sind, das dem Internet ausgesetzt ist (jeder Laptop hat seine eigene öffentliche IP-Adresse) Verlassen Sie sich auf CIDR-Blocknotation. Weitere Informationen finden Sie unter Rechner hier. Beispiel: 89.84.109.0/24 gibt 256 mögliche IP-Adressen von 89.84.109.0 bis 89.84.109.255 an
VCN mit CIDR-Block Für auf OCI gehostete Test-, Produktions- oder CI/CD-Pipeline mit eigenen VCN- und Compute-Instanzen Weisen Sie ein OCI-Compartment pro Umgebungstyp zu.
IP-Adresse und VCN mit CIDR-Block mischen Lokaler Entwicklungs-Laptop, der auf eine autonome KI-Testdatenbank mit Verbindungen aus der Testumgebung oder CI/CD-Pipeline zugreift Eine allgemeine Konfigurationsoption für laufende Entwicklungsarbeiten.

API MongoDB in autonomer KI-Datenbank aktivieren

Nachdem Sie den Netzwerkzugriff für die Instanz der autonomen KI-Datenbank konfiguriert haben, aktivieren Sie die API MongDB.

So aktivieren Sie die MongoDB-API für eine vorhandene Instanz:

  1. Wählen Sie auf der Detailseite der autonomen KI-Datenbank die Registerkarte Toolkonfiguration aus.

  2. Klicken Sie auf Toolkonfiguration bearbeiten.

  3. Wählen Sie in der MongoDB-API-Zeile in der Spalte Tool aktivieren die Option Aktiviert aus.

  4. Klicken Sie auf Anwenden.

Der Lebenszyklusstatus wird so lange aktualisiert, bis MongoDB aktiviert ist.

Sie können die MongoDB-API auch beim Provisioning oder Klonen einer Instanz aktivieren, indem Sie Erweiterte Optionen anzeigen auswählen und die Registerkarte Extras auswählen.

Weitere Informationen finden Sie unter Integrierte Tools für autonome KI-Datenbanken verwalten.

Benutzerverwaltung für MongoDB

Mit der Oracle AI Database API für MongoDB können Sie eine Oracle Autonomous AI Database als Datenspeicher verwenden. Wenn Sie zu diesem Zweck eine vorhandene autonome KI-Datenbank verwenden möchten, finden Sie hier den Workflow.

Oracle AI Database API for MongoDB ermöglicht die Zuordnung von autonomen KI-Datenbankobjekten zu MongoDB-Objekten wie folgt:

Objekt MongoDB Oracle Autonomous AI Database-Objekt
Datenbank Schema
Sammlung Tabelle
Dokument Dokument (in einer Spalte)

Beispiel: Sie können eine Collection mit der Oracle AI Database API for MongoDB wie folgt erstellen:

use scott;
db.createCollection('fruit');

Eine Tabelle mit dem Namen FRUIT wird im Schema SCOTT erstellt.

Wenn Sie eine Verbindung zur Oracle AI Database API für MongoDB herstellen, authentifizieren Sie sich mit einem Benutzernamen und Kennwort für die autonome KI-Datenbank. Diese authentifizierte Verbindung greift dann auf Collections innerhalb des entsprechenden Schemas zu. Dieser Benutzer muss die folgenden Anforderungen erfüllen:

Hinweis

Hinweis: Die Rolle DWROLE in der autonomen KI-Datenbank enthält unter anderem diese Rollen.

Der Zugriff auf Schemas, die dem Benutzer nicht erteilt wurden, ist verboten. Beispiel: Der Benutzer SCOTT kann nur auf Collections im Schema SCOTT zugreifen. Es gibt eine Ausnahme. Wenn der authentifizierte Benutzer die Berechtigungen CREATE USER, ALTER USER und DROP USER für die autonome KI-Datenbank hat, kann dieser Benutzer auf jedes ORDS-fähige Schema zugreifen.

Darüber hinaus kann ein Benutzer mit diesen Berechtigungen implizit Schemas erstellen. Das heißt, wenn der Benutzer eine Collection in einer Datenbank erstellt, die nicht vorhanden ist, wird das Schema automatisch erstellt. Weitere Informationen finden Sie unter Oracle AI Database API for MongoDB.

Autonome KI-Testdatenbankbenutzer für MongoDB erstellen

Mit den folgenden Schritten erstellen Sie einen Testbenutzer mit den richtigen Rollen. Sie können auch Database Actions SQL oder andere SQL-Befehlszeilen-Utilitys verwenden, um die SQL-Anweisungen direkt auszuführen. Weitere Informationen finden Sie unter Benutzer in einer autonomen KI-Datenbank erstellen - Verbindung mit einem Clienttool herstellen.

  1. Öffnen Sie die Oracle Cloud Infrastructure-Konsole für Ihre autonome KI-Datenbank.

  2. Wählen Sie Database Actions aus.

  3. Wählen Sie im Database Actions-Launchpad Administration > Database Users aus.

  4. Wählen Sie auf der Seite "Datenbankbenutzer" die Option + Create User aus.

  5. Geben Sie einen Benutzernamen und ein Kennwort für Ihren Testbenutzer ein. Wählen Sie Web Access, und legen Sie Quota on Tablespace DATA fest.

    Beschreibung von database_actions_create_user_for_mongodb_use.png folgt

    Beschreibung der Abbildung database_actions_create_user_for_mongodb_use.png

  6. Wählen Sie die Registerkarte Erteilte Rollen.

  7. Wählen Sie zusätzlich zu den Standardrollen die Rolle SODA_APP für den Benutzer aus, und fügen Sie sie hinzu.

    Beschreibung von database_actions_grant_roles_for_mongodb_use.png folgt

    Beschreibung der Abbildung database_actions_grant_roles_for_mongodb_use.png

  8. Klicken Sie auf die Schaltfläche Benutzer erstellen.

Sie können diesen Benutzer oder einen ähnlich authentifizierten Benutzer zu Testzwecken verwenden. Weitere Informationen finden Sie unter Verbindung mit der Befehlszeile testen.

MongoDB-Anwendungen mit autonomer KI-Datenbank verbinden

Die Verbindung Ihrer MongoDB-Anwendung mit der autonomen KI-Datenbank umfasst mehrere Schritte, je nach Ihren Anforderungen.

Verbindungszeichenfolge für autonome AI-Datenbank MongoDB abrufen

Sie können die API-Verbindungszeichenfolge MongoDB aus der Oracle Cloud Infrastructure-Konsole abrufen.

Nachdem Sie die MongoDB-API-Verbindungszeichenfolge abgerufen haben, können Sie mit der MongoDB-Shell, einem Befehlszeilenutility, eine Verbindung herstellen und Ihre Daten abfragen.

Zuerst müssen Sie den Netzwerkzugriff konfigurieren und die MongoDB-API aktivieren. Weitere Informationen finden Sie unter Zugriff für MongoDB konfigurieren.

So rufen Sie die API-Verbindungszeichenfolge MongoDB ab:

  1. Wählen Sie auf der Detailseite der autonomen KI-Datenbank die Registerkarte Toolkonfiguration aus.

  2. Klicken Sie in der MongoDB-API-Zeile unter "Zugriff-URL" auf Kopieren.

    Beschreibung von adb_tools_mongo_connect_string.png folgt

    Beschreibung der Abbildung adb_tools_mongo_connect_string.png

Verbindungszeichenfolge für autonome KI-Datenbank aus Datenbankaktionen abrufen

Verwenden Sie die MongoDB-Shell, ein Befehlszeilenutility, mit dem Sie Ihre Daten verbinden und abfragen können.

  1. Sie können die Verbindungszeichenfolge für die Instanz der autonomen KI-Datenbank mit Database Actions abrufen.

    Weitere Informationen finden Sie unter Auf Database Actions als ADMIN zugreifen.

  2. Klicken Sie im Database Actions-Launchpad unter Zugehörige Services auf Oracle AI Database API for MongoDB.

  3. Klicken Sie auf der Seite Oracle AI Database API for MongoDB auf Kopieren.

Verbindung mit der Befehlszeile testen

  1. Melden Sie sich als Testbenutzer an. Weitere Informationen finden Sie unter Autonomen KI-Testdatenbankbenutzer für MongoDB erstellen.

    $ mongosh --tls --tlsAllowInvalidCertificates 'mongodb://TESTUSER:<PASSWORD>@<database URL>.
    <OCI region>.oraclecloudapps.com:27017/admin?authMechanism=PLAIN&authSource=$external&ssl=true&loadBalanced=false'
    Current Mongosh Log ID: 614c9e2a01e3575c8c0b2ec7
    Connecting to:         mongodb://TESTUSER:<PASSWORD>@<database URL>.<OCIregion>.oraclecloudapps.com:27017/admin?
    authMechanism=PLAIN&authSource=$external&tls=true&loadBalanced=false
    Using MongoDB:                   3.6.2
    Using Mongosh:                   1.0.7
    For mongosh info see: https://docs.mongodb.com/mongodb-shell/admin
    > show dbs
    
    **testuser    0 B**
    >

    Verwenden Sie URI-Prozentcodierung, um reservierte Zeichen in Ihrer Verbindungszeichenfolge-URI zu ersetzen - insbesondere Zeichen in Ihrem Benutzernamen und Kennwort. Dies sind die reservierten Zeichen und ihre Prozentcodierungen:

    Zeichen Prozentcodierung
    ! %21
    # %23
    $ %24
    % %25
    & %26
    ' %27
    ( %28
    ) %29
    * %2A
    + %2B
    , %2C
    / %2F
    : %3A
    ; %3B
    = %3D
    ? %3F
    @ %40
    [ %5B
    ] %5D

    Beispiel: Wenn Ihr Benutzername RUTH lautet und Ihr Kennwort @least1/2#? lautet, könnte die MongoDB-Verbindungszeichenfolge für Server <server> wie folgt aussehen:

    'mongodb://RUTH:**%40**least1**%2F**2**%23****%3F**@*<server>*:27017/ruth/ ...'

    Abhängig von den Tools oder Treibern, die Sie verwenden, können Sie einen Benutzernamen und ein Passwort als separate Parameter anstelle einer URI-Verbindungszeichenfolge angeben. In diesem Fall müssen Sie wahrscheinlich keine reservierten Zeichen codieren, die sie enthalten.

    Weitere Informationen finden Sie unter Percent Encoding - Reserved Characters und Uniform Resource Identifier (URI): Generic Syntax.

  2. Erstellen Sie eine Sammlung, und fügen Sie Dokumente in Ihre Sammlung ein.
    testuser> show collections
    
    testuser> db.createCollection( 'fruit' )
    { ok: 1 }
    testuser> show collections
    fruit
    testuser> db.fruit.insertOne( {name:"orange", count:42} )
    {
      acknowledged: true,
      insertedId: ObjectId("614ca31fdab254f63e4c6b47")
    }
    testuser> db.fruit.insertOne( {name:"apple", count:12, color: "red"} )
    {
      acknowledged: true,
      insertedId: ObjectId("614ca340dab254f63e4c6b48")
    }
    testuser> db.fruit.insertOne( {name:"pear", count:5} )
    {
      acknowledged: true,
      insertedId: ObjectId("614ca351dab254f63e4c6b49")
    }
    testuser>
  3. Fragen Sie die Collection mit einem SQL-Client ab, wie Database Actions.
    SELECT
        f.json_document.name,
        f.json_document.count,
        f.json_document.color
    FROM fruit f;

    Beschreibung von database_actions_sql_for_mongodb_use.png folgt

    Beschreibung der Abbildung database_actions_sql_for_mongodb_use.png

Verbindung mit einer Node.js-Anwendung testen

  1. Laden Sie Node.js herunter. Wenn Sie Node.js für Ihre Umgebung bereits heruntergeladen oder installiert haben, können Sie diesen Schritt überspringen.

    $ wget https://nodejs.org/dist/latest-v14.x/node-v14.17.5-linux-x64.tar.xz
  2. Extrahieren Sie den Inhalt des Node,js-Archivs. Wenn Sie Node.js für Ihre Umgebung bereits heruntergeladen oder installiert haben, können Sie diesen Schritt überspringen.

    $ tar -xf node-v14.17.5-linux-x64.tar.xz
  3. Konfigurieren Sie die Umgebungsvariable PATH. Wenn Sie Node.js bereits für Ihre Umgebung heruntergeladen oder installiert haben, können Sie diesen Schritt überspringen.
    $ export PATH="`pwd`"/node-v14.17.5-linux-x64/bin:$PATH
  4. Testen Sie Ihre Verbindung mit einem Javascript-Beispiel.

    1. Neues Verzeichnis erstellen.
      $ mkdir autonomous_mongodb
      $ cd autonomous_mongodb
      $ npm init -y
    2. Installieren Sie die Mangodb-Abhängigkeit.
      $ npm install mongodb
    3. Erstellen Sie eine JavaScript-Anwendung namens connect.js.
      const { MongoClient } = require("mongodb");
      const uri =
        "mongodb://TESTUSER:<PASSWORD>@<Database URI>.<OCI region>.oraclecloudapps.com:27017/admin?authMechanism=PLAIN&authSource=$external&ssl=true&loadBalanced=false";
      
      const client = new MongoClient(uri);
      
      async function run() {
        try {
              await client.connect();
      
              const database = client.db('admin');
              const movies = database.collection('movies');
      
              // Insert a movie
              const doc = { title: 'Back to the Future',
                            year: 1985, genres: ['Adventure', 'Comedy', 'Sci-Fi'] }
              const result = await movies.insertOne(doc);
      
              // Query for a movie that has the title 'Back to the Future' :)
              const query = { title: 'Back to the Future' };
              const movie = await movies.findOne(query);
      
              console.log(movie);
        } finally {
          // Ensures that the client will close when you finish/error
          await client.close();
        }
      }
      run().catch(console.dir);

      Verwenden Sie URI-Prozentcodierung, um reservierte Zeichen in Ihrer Verbindungszeichenfolge-URI zu ersetzen - insbesondere Zeichen in Ihrem Benutzernamen und Kennwort. Dies sind die reservierten Zeichen und ihre Prozentcodierungen:

      Zeichen Prozentcodierung
      ! %21
      # %23
      $ %24
      % %25
      & %26
      ' %27
      ( %28
      ) %29
      * %2A
      + %2B
      , %2C
      / %2F
      : %3A
      ; %3B
      = %3D
      ? %3F
      @ %40
      [ %5B
      ] %5D

      Beispiel: Wenn Ihr Benutzername RUTH lautet und Ihr Kennwort @least1/2#? lautet, könnte die MongoDB-Verbindungszeichenfolge für Server <server> wie folgt aussehen:

      'mongodb://RUTH:**%40**least1**%2F**2**%23****%3F**@*<server>*:27017/ruth/ ...'

      Abhängig von den Tools oder Treibern, die Sie verwenden, können Sie einen Benutzernamen und ein Passwort als separate Parameter anstelle einer URI-Verbindungszeichenfolge angeben. In diesem Fall müssen Sie wahrscheinlich keine reservierten Zeichen codieren, die sie enthalten.

      Weitere Informationen finden Sie unter Percent Encoding - Reserved Characters und Uniform Resource Identifier (URI): Generic Syntax.

    4. Führen Sie das Beispiel aus. Die Ausgabe sollte der folgenden ähneln.
      $ node connect
      {
        _id: new ObjectId("611e3266005202371acf27c1"),
        title: 'Back to the Future',
        year: 1985,
        genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ]
      }