Suporte do SharePoint no Autonomous AI Database usando DBMS_CLOUD

Com o suporte do SharePoint, você pode acessar arquivos armazenados no Microsoft SharePoint usando pacotes DBMS_CLOUD e DBMS_CLOUD_PIPELINE com URIs e objetos de credencial específicos do provedor.

Se você armazenar arquivos no SharePoint, poderá usar o Pacote DBMS_CLOUD para listar e recuperar dados de forma consistente com as integrações existentes do armazenamento de objetos na nuvem.

O suporte ao SharePoint permite listar, fazer download e processar downstream de conteúdo externo no Autonomous AI Database.

Com o tipo de pipeline DOWNLOAD no pacote DBMS_CLOUD_PIPELINE, o Autonomous AI Database pode recuperar arquivos externos para análise e indexação adicionais.

Antes de Começar

Antes de usar o SharePoint com DBMS_CLOUD, verifique se você tem as credenciais de cliente necessárias para criar um objeto de credencial de banco de dados. Você pode criar uma credencial com o ID do cliente e o segredo do cliente do usuário do SharePoint ou de um aplicativo do Azure que tenha acesso ao conteúdo do SharePoint.

Pacotes Suportados

As seguintes operações DBMS_CLOUD suportam URIs do SharePoint:
  • OBTER_OBJETO
  • LIST_OBJECTS
  • LIST_OBJECTS_EXTENDED
  • DBMS_CLOUD_AI.CREATE_VETOR_ÍNDICE
Observação

O SharePoint é suportado somente com o tipo de pipeline DOWNLOAD no procedimento DBMS_CLOUD_PIPELINE.

Formato de URI do SharePoint

Você pode especificar um URI do SharePoint no seguinte formato:
SharePoint://tenant_id=<tenant_id>/site_id=<site_id>/sites/<subsite_id>/list_id=<list_id>/<item_id>

Você pode gerar um URI do SharePoint válido, usando DBMS_CLOUD.INIT_SHAREPOINT_URI.

Tópicos:

Exemplo: Recuperar e Listar Arquivos do SharePoint

Execute as etapas a seguir para acessar arquivos armazenados no SharePoint para carregar dados no Autonomous AI Database para análise.

  1. Criar uma credencial do SharePoint
    Crie uma credencial com o ID do cliente do SharePoint e o segredo do cliente e especifique um nome de credencial.
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'SHAREPOINT_CRED',
        username        => '<client-id>',
        password        => '<client-secret>'
      );
    END;
    /
  2. Gerar o URI do SharePoint
    Execute DBMS_CLOUD.INIT_SHAREPOINT_URI para gerar o URI do SharePoint para o site, subsite, lista ou item do SharePoint que você deseja acessar.
    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;
    /

    Este procedimento retorna o formato de URI correto para o local do SharePoint que você deseja acessar.

  3. Listar objetos e revisar metadados

    Execute DBMS_CLOUD.LIST_OBJECTS_EXTENDED para identificar os arquivos disponíveis no SharePoint e os detalhes dos identificadores do SharePoint na coluna 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');

    A saída inclui uma coluna METADATA com atributos JSON específicos do SharePoint, como tenantid, siteid, listid e itemid.

    Consulte DBMS_CLOUD.LIST_OBJECTS_EXTENDED para obter mais informações.

  4. Fazer Download de um Único Arquivo
    Depois de identificar o item desejado, execute DBMS_CLOUD.GET_OBJECT para fazer download de um único arquivo do SharePoint. Para GET_OBJECT, o URI do SharePoint deve incluir o 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');

    Execute a instrução acima quando quiser que o objeto seja retornado diretamente em vez de gravado em um diretório de banco de dados.

  5. Fazer download de um objeto em um diretório
    Execute GET_OBJECT e inclua directory_name no procedimento.
    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');

    Como você especifica o nome do diretório, os arquivos são baixados para esse diretório de banco de dados.

    Consulte DBMS_CLOUD.GET_OBJECT para obter mais informações.

Exemplo: Fazer Download do Conteúdo do SharePoint com um Pipeline

Você pode usar um pipeline quando quiser que o Autonomous AI Database descubra conteúdo e faça download dele em um workflow.

O sistema cria Pipelines no nível do site do SharePoint, não no nível da lista individual ou da biblioteca. A Oracle recomenda o uso de um pipeline por site.

Se um site tiver um subsite, crie um pipeline separado especificando o site combinado e o identificador do subsite no formato <site_id>/sites/<sub-site_id>.

  1. Criar um pipeline de download

    Crie um pipeline DOWNLOAD para carregar dados do SharePoint.

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

    Este tipo de pipeline é o único tipo de pipeline suportado para o SharePoint.

  2. Definir atributos de pipeline
    Especifique a credencial, o local do SharePoint, a prioridade e os valores de intervalo para o 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 você também especificar o directory_name, o pipeline fará download dos arquivos para esse diretório, em vez de armazenar dados de arquivo na tabela de status do pipeline.

    Consulte Atributos DBMS_CLOUD_PIPELINE para obter mais informações.

  3. Iniciar o pipeline

    Depois de definir os atributos, você poderá iniciar o pipeline:
    EXEC DBMS_CLOUD_PIPELINE.START_PIPELINE('MY_PIPE2');

    Quando o pipeline é iniciado, ele valida o URI e reúne itens de listas do site ou subsite de destino. O pipeline faz download dos dados para o diretório especificado. Se você não especificar um diretório, o pipeline o armazenará na coluna de dados da tabela de status do pipeline.

  4. Revisar resultados do pipeline

    Revise a tabela de status do pipeline para confirmar se os objetos foram processados com sucesso e para inspecionar o status, os timestamps e os detalhes do conteúdo baixado. Se o pipeline gravar arquivos em um diretório, execute DBMS_CLOUD.LIST_FILES para verificar os arquivos baixados.

Exemplo: Criar um Índice de Vetor a partir de Arquivos do SharePoint

Você pode criar índices vetoriais diretamente do SharePoint usando DBMS_CLOUD_AI.CREATE_VECTOR_INDEX.

Quando você especifica o URI do SharePoint, o sistema primeiro cria uma tabela de metadados a partir das listas no site ou subsite de destino e, em seguida, usa a saída LIST_OBJECTS para preencher a tabela de status, extrai o conteúdo do objeto com GET_OBJECT e armazena incorporações geradas na tabela de vetores de destino.
  1. Criar uma credencial do OCI para o perfil de IA
    Crie uma credencial do OCI que o perfil de IA use.
    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. Criar o perfil de IA
    Crie um perfil DBMS_CLOUD_AI para trabalhar com a credencial recém-criada para o modelo de incorporação.
    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. Criar o índice do vetor

    Crie o índice vetorial onde você aponta o atributo location para o URI do 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;
    /

    Dessa forma, o Autonomous AI Database transforma arquivos armazenados no SharePoint em incorporações de vetores para cenários de pesquisa semântica.