Supporto di SharePoint in Autonomous AI Database mediante DBMS_CLOUD

Con il supporto di SharePoint, è possibile accedere ai file memorizzati in Microsoft SharePoint utilizzando i pacchetti DBMS_CLOUD e DBMS_CLOUD_PIPELINE con URI e oggetti credenziali specifici del provider.

Se si memorizzano file in SharePoint, è possibile utilizzare il package DBMS_CLOUD per elencare e recuperare i dati in modo coerente con le integrazioni esistenti dell'area di memorizzazione degli oggetti cloud.

Il supporto di SharePoint consente l'elencazione, il download e l'elaborazione a valle di contenuti esterni in Autonomous AI Database.

Con il tipo di pipeline DOWNLOAD nel package DBMS_CLOUD_PIPELINE, Autonomous AI Database può recuperare file esterni per ulteriori analisi e indicizzazione.

Informazioni preliminari

Prima di utilizzare SharePoint con DBMS_CLOUD, è necessario assicurarsi di disporre delle credenziali client necessarie per creare un oggetto delle credenziali del database. È possibile creare una credenziale con l'ID client e il segreto client dell'utente di SharePoint o di un'applicazione Azure che ha accesso al contenuto di SharePoint.

Pacchetti supportati

Le seguenti operazioni DBMS_CLOUD supportano gli URI di SharePoint:
  • RECUPERA_OGGETTO
  • ELENCO_OGGETTI
  • ELENCO_OGGETTI_ESTESI
  • DBMS_CLOUD_AI.CREATE_VECTOR_INDEX
Nota

SharePoint è supportato solo con il tipo di pipeline DOWNLOAD nella procedura DBMS_CLOUD_PIPELINE.

Formato URI SharePoint

È possibile specificare un URI di SharePoint nel seguente formato:
SharePoint://tenant_id=<tenant_id>/site_id=<site_id>/sites/<subsite_id>/list_id=<list_id>/<item_id>

È possibile generare un URI SharePoint valido utilizzando DBMS_CLOUD.INIT_SHAREPOINT_URI.

Argomenti:

Esempio: recupero ed elenco di file da SharePoint

Eseguire i passi riportati di seguito per accedere AI file memorizzati in SharePoint per caricare i dati in Autonomous AI Database per l'analisi.

  1. Creare una credenziale SharePoint
    Creare una credenziale con l'ID client e il segreto client di SharePoint e specificare un nome di credenziale.
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'SHAREPOINT_CRED',
        username        => '<client-id>',
        password        => '<client-secret>'
      );
    END;
    /
  2. Genera URI SharePoint
    Eseguire DBMS_CLOUD.INIT_SHAREPOINT_URI per generare l'URI di SharePoint per il sito, il sito secondario, l'elenco o l'elemento a cui si desidera accedere.
    DECLARE
      l_location_uri varchar2(4000);
    BEGIN
      l_location_uri := DBMS_CLOUD.INIT_SHAREPOINT_URI(
        tenant_id   => 'Tenant ID',
        site_id     => 'Site ID',
        sub_site_id => 'Sub Site ID',
        list_id     => 'List ID',
        item_id     => 'Item ID'
      );
    END;
    /

    Questa procedura restituisce il formato URI corretto per la posizione di SharePoint a cui si desidera accedere.

  3. Elenca gli oggetti e rivedi i metadati

    Eseguire DBMS_CLOUD.LIST_OBJECTS_EXTENDED per identificare i file disponibili in SharePoint e i dettagli degli identificativi di SharePoint nella colonna METADATA.

    SELECT *
    FROM DBMS_CLOUD.LIST_OBJECTS_EXTENDED(
      location_uri    => DBMS_CLOUD.INIT_SHAREPOINT_URI(
                          tenant_id   => 'Tenant ID',
                          site_id     => 'Site ID',
                          sub_site_id => 'Sub Site ID',
                          list_id     => 'List ID',
                          item_id     => 'Item ID'),
      credential_name => 'SHAREPOINT_CRED');

    L'output include una colonna METADATA con attributi JSON specifici di SharePoint quali tenantid, siteid, listid e itemid.

    Per ulteriori informazioni, vedere DBMS_CLOUD.LIST_OBJECTS_EXTENDED.

  4. Scarica un singolo file
    Dopo aver identificato l'elemento desiderato, eseguire DBMS_CLOUD.GET_OBJECT per scaricare un singolo file da SharePoint. Per GET_OBJECT, l'URI di SharePoint deve includere itemid.
    DBMS_CLOUD.GET_OBJECT(
      object_uri      => DBMS_CLOUD.INIT_SHAREPOINT_URI(
                          tenant_id   => 'Tenant ID',
                          site_id     => 'Site ID',
                          sub_site_id => 'Sub Site ID',
                          list_id     => 'List ID',
                          item_id     => 'Item ID'),
      credential_name => 'SHAREPOINT_CRED');

    Eseguire l'istruzione precedente quando si desidera che l'oggetto venga restituito direttamente anziché essere scritto in una directory di database.

  5. Scaricare un oggetto in una directory
    Eseguire GET_OBJECT e includere directory_name nella procedura.
    DBMS_CLOUD.GET_OBJECT(
      object_uri      => DBMS_CLOUD.INIT_SHAREPOINT_URI(
                          tenant_id   => 'Tenant ID',
                          site_id     => 'Site ID',
                          sub_site_id => 'Sub Site ID',
                          list_id     => 'List ID',
                          item_id     => 'Item ID'),
      credential_name => 'SHAREPOINT_CRED',
      directory_name  => 'STAGING');

    Poiché si specifica il nome della directory, i file vengono scaricati nella directory del database.

    Per ulteriori informazioni, vedere DBMS_CLOUD.GET_OBJECT.

Esempio: download del contenuto di SharePoint con una pipeline

È possibile utilizzare una pipeline quando si desidera che Autonomous AI Database trovi il contenuto e lo scarichi in un workflow.

Il sistema crea pipeline a livello di sito di SharePoint, non a livello di singolo elenco o libreria. Oracle consiglia di utilizzare una pipeline per sito.

Se un sito dispone di un sito secondario, creare una pipeline separata specificando l'identificativo combinato del sito e del sito secondario nel formato <ID_sito>/siti/<ID_sito secondario>.

  1. Creare una pipeline di download

    Creare una pipeline DOWNLOAD per caricare i dati da SharePoint.

    BEGIN
      DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
        pipeline_name => 'MY_PIPE2',
        pipeline_type => 'DOWNLOAD',
        description   => 'Downloads data from SharePoint to Autonomous Database'
      );
    END;
    /

    Questo tipo di pipeline è l'unico tipo di pipeline supportato per SharePoint.

  2. Imposta attributi pipeline
    Specificare le credenziali, la posizione di SharePoint, la priorità e i valori di intervallo per la pipeline.
    BEGIN
      DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
        pipeline_name => 'MY_PIPE2',
        attributes    => JSON_OBJECT(
          'credential_name' VALUE 'SHAREPOINT_CRED',
          'location'        VALUE DBMS_CLOUD.INIT_SHAREPOINT_URI(
                                tenant_id => 'Tenant ID',
                                site_id   => 'Site ID'),
          'priority'        VALUE 'HIGH',
          'interval'        VALUE '5')
      );
    END;
    /

    Se si specifica anche directory_name, la pipeline scarica i file in tale directory invece di memorizzare i dati dei file nella tabella di stato della pipeline.

    Per ulteriori informazioni, vedere Attributi DBMS_CLOUD_PIPELINE.

  3. Avvia pipeline

    Dopo aver impostato gli attributi, è possibile avviare la pipeline:
    EXEC DBMS_CLOUD_PIPELINE.START_PIPELINE('MY_PIPE2');

    Quando la pipeline viene avviata, convalida l'URI e raccoglie le liste di elementi dal sito o dal sito secondario di destinazione. La pipeline scarica i dati nella directory specificata. Se non si specifica una directory, la pipeline la memorizza nella colonna dati della tabella di stato della pipeline.

  4. Rivedi risultati pipeline

    Rivedere la tabella dello stato della pipeline per confermare che gli oggetti sono stati elaborati correttamente e per ispezionare lo stato, gli indicatori orari e i dettagli del contenuto scaricato. Se la pipeline scrive i file in una directory, eseguire DBMS_CLOUD.LIST_FILES per verificare i file scaricati.

Esempio: creazione di un indice vettoriale da file di SharePoint

È possibile creare indici vettoriali direttamente da SharePoint utilizzando DBMS_CLOUD_AI.CREATE_VECTOR_INDEX.

Quando si specifica l'URI di SharePoint, il sistema crea prima una tabella di metadati dalle liste sotto il sito o il sito secondario di destinazione, quindi utilizza l'output LIST_OBJECTS per popolare la tabella di stato, recupera il contenuto dell'oggetto con GET_OBJECT e memorizza le integrazioni generate nella tabella vettoriale di destinazione.
  1. Creare una credenziale OCI per il profilo AI
    Creare una credenziale OCI utilizzata dal profilo AI.
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'OCI_CRED',
        user_ocid       => 'USER_OCID',
        tenancy_ocid    => 'TENANCY_OCID',
        private_key     => '<private_key>',
        fingerprint     => '<fingerprint>'
      );
    END;
    /
  2. Crea il profilo AI
    Creare un profilo DBMS_CLOUD_AI per utilizzare la credenziale appena creata per il modello di incorporamento.
    BEGIN
      DBMS_CLOUD_AI.CREATE_PROFILE(
        profile_name => 'GENAI',
        attributes   => '{"provider":"oci","credential_name":"OCI_CRED","oci_compartment_id":"ocid1.compartment.oc1...","model":"meta.llama-3.1-405b-instruct"}'
      );
    END;
    /
  3. Crea l'indice vettoriale

    Creare l'indice vettoriale in cui puntare l'attributo location all'URI di SharePoint.

    BEGIN
      DBMS_CLOUD_AI.CREATE_VECTOR_INDEX(
        index_name => 'SUPPORT',
        attributes => '{
          "vector_db_provider": "oracle",
          "location": "SharePoint://tenant_id=<tenant_id>/site_id=<site_id>/",
          "object_storage_credential_name": "SHAREPOINT_CRED",
          "profile_name": "GENAI",
          "vector_table_name": "test_SharePoint_table",
          "vector_distance_metric": "cosine",
          "vector_dimension": 1024,
          "chunk_overlap": 128,
          "chunk_size": 1024
        }'
      );
    END;
    /

    In questo modo Autonomous AI Database trasforma i file memorizzati in SharePoint in integrazioni vettoriali per scenari di ricerca semantica.