Prise en charge de SharePoint dans une base de données Autonomous AI à l'aide de DBMS_CLOUD

Avec la prise en charge de SharePoint, vous pouvez accéder aux fichiers stockés dans Microsoft SharePoint à l'aide des packages DBMS_CLOUD et DBMS_CLOUD_PIPELINE avec des URI et des objets d'informations d'identification propres au fournisseur.

Si vous stockez des fichiers dans SharePoint, vous pouvez utiliser le package DBMS_CLOUD pour répertorier et extraire des données de manière cohérente avec les intégrations de banque d'objets cloud existantes.

La prise en charge de SharePoint permet de répertorier, de télécharger et de traiter en aval du contenu externe dans la base de données Autonomous AI.

Avec le type de pipeline DOWNLOAD dans le package DBMS_CLOUD_PIPELINE, Autonomous AI Database peut extraire des fichiers externes pour une analyse et une indexation plus poussées.

Avant de commencer

Avant d'utiliser SharePoint avec DBMS_CLOUD, vous devez vous assurer que vous disposez des informations d'identification client requises pour créer un objet d'informations d'identification de base de données. Vous pouvez créer des informations d'identification avec l'ID client et la clé secrète client de l'utilisateur SharePoint ou d'une application Azure qui a accès au contenu SharePoint.

Packages pris en charge

Les opérations DBMS_CLOUD suivantes prennent en charge les URI SharePoint :
  • OBTENIR L'OBJET
  • LISTES_OBJETS
  • LIST_OBJECTS_EXTENDED
  • DBMS_CLOUD_AI.CREATE_VECTOR_INDEX
Remarque

SharePoint est pris en charge uniquement avec le type de pipeline DOWNLOAD dans la procédure DBMS_CLOUD_PIPELINE.

Format d'URI SharePoint

Vous pouvez spécifier un URI SharePoint au format suivant :
SharePoint://tenant_id=<tenant_id>/site_id=<site_id>/sites/<subsite_id>/list_id=<list_id>/<item_id>

Vous pouvez générer un URI SharePoint valide à l'aide de DBMS_CLOUD.INIT_SHAREPOINT_URI.

Sujets :

Exemple : Extraire et répertorier des fichiers à partir de SharePoint

Exécutez les étapes suivantes pour accéder aux fichiers stockés dans SharePoint afin de charger des données dans la base de données Autonomous AI pour analyse.

  1. Créer des informations d'identification SharePoint
    Créez des informations d'identification avec l'ID client SharePoint et la clé secrète client, puis indiquez un nom d'informations d'identification.
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'SHAREPOINT_CRED',
        username        => '<client-id>',
        password        => '<client-secret>'
      );
    END;
    /
  2. Générer l'URI SharePoint
    Exécutez DBMS_CLOUD.INIT_SHAREPOINT_URI pour générer l'URI SharePoint pour le site, le sous-site, la liste ou l'élément SharePoint auquel vous voulez accéder.
    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;
    /

    Cette procédure renvoie le format d'URI correct pour l'emplacement SharePoint auquel vous voulez accéder.

  3. Répertorier les objets et vérifier les métadonnées

    Exécutez DBMS_CLOUD.LIST_OBJECTS_EXTENDED pour identifier les fichiers disponibles dans SharePoint et les détails des identificateurs SharePoint dans la colonne 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');

    La sortie inclut une colonne METADATA avec des attributs JSON spécifiques à SharePoint tels que tenantid, siteid, listid et itemid.

    Pour plus d'informations, reportez-vous à DBMS_CLOUD.LIST_OBJECTS_EXTENDED.

  4. Télécharger un seul fichier
    Une fois que vous avez identifié l'élément souhaité, exécutez DBMS_CLOUD.GET_OBJECT pour télécharger un fichier unique à partir de SharePoint. Pour GET_OBJECT, l'URI SharePoint doit inclure 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');

    Exécutez l'instruction ci-dessus lorsque vous souhaitez que l'objet soit renvoyé directement au lieu d'être écrit dans un répertoire de base de données.

  5. Télécharger un objet en local dans un répertoire
    Exécutez GET_OBJECT et incluez directory_name dans la procédure.
    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');

    Comme vous indiquez le nom du répertoire, les fichiers sont téléchargés vers ce répertoire de base de données.

    Pour plus d'informations, reportez-vous à DBMS_CLOUD.GET_OBJECT.

Exemple : téléchargement de contenu SharePoint avec un pipeline

Vous pouvez utiliser un pipeline lorsque vous voulez que la base de données Autonomous AI repère du contenu et le télécharge dans un workflow.

Le système crée des pipelines au niveau du site SharePoint, et non au niveau de la liste ou de la bibliothèque. Oracle recommande d'utiliser un pipeline par site.

Si un site a un sous-site, créez un pipeline distinct en spécifiant l'identifiant combiné du site et du sous-site au format <site_id>/sites/<sub-site_id>.

  1. Créer un pipeline de téléchargement

    Créez un pipeline DOWNLOAD pour charger des données à partir de SharePoint.

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

    Ce type de pipeline est le seul type de pipeline pris en charge pour SharePoint.

  2. Définir les attributs de pipeline
    Indiquez les informations d'identification, l'emplacement SharePoint, la priorité et les valeurs d'intervalle du 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;
    /

    Si vous indiquez également directory_name, le pipeline télécharge les fichiers dans ce répertoire au lieu de stocker les données de fichier dans la table de statut du pipeline.

    Pour plus d'informations, voir Attributs DBMS_CLOUD_PIPELINE.

  3. Démarrer le pipeline

    Une fois les attributs définis, vous pouvez démarrer le pipeline :
    EXEC DBMS_CLOUD_PIPELINE.START_PIPELINE('MY_PIPE2');

    Lorsque le pipeline démarre, il valide l'URI et rassemble les éléments du site ou sous-site cible. Le pipeline télécharge les données vers le répertoire indiqué. Si vous n'indiquez pas de répertoire, le pipeline le stocke dans la colonne de données de la table de statut du pipeline.

  4. Vérifier les résultats du pipeline

    Consultez la table des statuts de pipeline pour vérifier que les objets ont bien été traités et pour inspecter le statut, les horodatages et les détails du contenu téléchargé. Si le pipeline écrit des fichiers dans un répertoire, exécutez DBMS_CLOUD.LIST_FILES pour vérifier les fichiers téléchargés.

Exemple : création d'un index vectoriel à partir de fichiers SharePoint

Vous pouvez créer des index vectoriels directement à partir de SharePoint à l'aide de DBMS_CLOUD_AI.CREATE_VECTOR_INDEX.

Lorsque vous spécifiez l'URI SharePoint, le système crée d'abord une table de métadonnées à partir des listes sous le site ou le sous-site cible, puis utilise la sortie LIST_OBJECTS pour remplir la table de statut, extrait le contenu de l'objet avec GET_OBJECT et stocke les incorporations générées dans la table de vecteurs cible.
  1. Créer des informations d'identification OCI pour le profil AI
    Créez des informations d'identification OCI que le profil AI utilise.
    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. Créer le profil AI
    Créez un profil DBMS_CLOUD_AI pour utiliser les informations d'identification nouvellement créées pour le modèle d'intégration.
    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. Créer l'index vectoriel

    Créez l'index vectoriel où vous pointez l'attribut location vers l'URI 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;
    /

    De cette façon, Autonomous AI Database transforme les fichiers stockés dans SharePoint en incorporations vectorielles pour les scénarios de recherche sémantique.