Adicionar e gerenciar fontes de dados em um notebook (API)

Depois de criar o notebook, você pode adicionar vários tipos de conteúdo como fontes de dados. É possível fazer isso em lote ou como arquivos únicos. Algumas das fontes incluem Documentos Google, Apresentações Google, texto bruto, conteúdo da Web e vídeos do YouTube.

Esta página descreve como realizar as seguintes tarefas:

Antes de começar

Se você planeja adicionar Documentos Google ou Apresentações Google como fonte de dados, autorize o acesso ao Google Drive usando as credenciais de usuário do Google. Para fazer isso, execute o seguinte gcloud auth login comando e siga as instruções na CLI.

gcloud auth login --enable-gdrive-access

Adicionar fontes de dados em lote

Para adicionar fontes a um notebook, chame o notebooks.sources.batchCreate método.

REST

curl -X POST \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
     "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources:batchCreate" \
  -d '{
  "userContents": [
    {
    USER_CONTENT
    }
   ]
  }'

Substitua:

  • ENDPOINT_LOCATION: a multirregião da sua solicitação de API. Especifique um dos seguintes valores:
    • us para a multirregião dos EUA
    • eu para a multirregião da UE
    • global para o local global
    Para mais informações, consulte Especificar uma multirregião para seu repositório de dados.
  • PROJECT_NUMBER: o número do Google Cloud projeto.
  • LOCATION: a localização geográfica do seu repositório de dados, como global. Para mais informações, consulte Locais.
  • NOTEBOOK_ID: o identificador exclusivo do notebook.
  • USER_CONTENT: o conteúdo da fonte de dados.

Você só pode adicionar uma das seguintes fontes de dados como conteúdo:

  • Para conteúdo do Google Drive que consiste em Documentos Google ou Apresentações Google, adicione:

     "googleDriveContent": {
       "documentId": "DOCUMENT_ID_GOOGLE",
       "mimeType": "MIME_TYPE",
       "sourceName": "DISPLAY_NAME_GOOGLE"
     }
    

    Substitua:

    • DOCUMENT_ID_GOOGLE: o ID do arquivo que está no Google Drive. Esse ID aparece no URL do arquivo. Para receber o ID do documento de um arquivo, abra-o. O URL tem o padrão: https://docs.google.com/FILE_TYPE/d/DOCUMENT_ID_GOOGLE/edit?resourcekey=RESOURCE_KEY.
    • MIME_TYPE: o tipo MIME do documento selecionado. Use application/vnd.google-apps.document para Documentos Google ou application/vnd.google-apps.presentation para Apresentações Google.
    • DISPLAY_NAME_GOOGLE: o nome de exibição da fonte de dados.
  • Para entrada de texto bruto, adicione:

      "textContent": {
        "sourceName": "DISPLAY_NAME_TEXT",
        "content": "TEXT_CONTENT"
      }
    

    Substitua:

    • DISPLAY_NAME_TEXT: o nome de exibição da fonte de dados.
    • TEXT_CONTENT: o conteúdo de texto bruto que você quer fazer upload como fonte de dados.
  • Para conteúdo da Web, adicione:

     "webContent": {
       "url": "URL_WEBCONTENT",
       "sourceName": "DISPLAY_NAME_WEB"
     }
    

    Substitua:

    • URL_WEBCONTENT: o URL do conteúdo que você quer fazer upload como fonte de dados.
    • DISPLAY_NAME_WEB: o nome de exibição da fonte de dados.
  • Para conteúdo de vídeo, adicione:

     "videoContent": {
       "youtubeUrl": "URL_YOUTUBE"
     }
    

    Substitua URL_YOUTUBE pelo URL do vídeo do YouTube que você quer fazer upload como fonte de dados.

Se a solicitação for bem-sucedida, você vai receber uma instância do source objeto como resposta, semelhante ao JSON a seguir. Anote o SOURCE_ID e o SOURCE_RESOURCE_NAME, que são necessários para realizar outras tarefas, como recuperar ou excluir a fonte de dados.

{
  "sources": [
    {
      "sourceId": {
        "id": "SOURCE_ID"
      },
      "title": "DISPLAY_NAME",
      "metadata": {
        "xyz": "abc"
      },
      "settings": {
        "status": "SOURCE_STATUS_COMPLETE"
      },
      "name": "SOURCE_RESOURCE_NAME"
    }
  ]
}

Fazer upload de um arquivo como fonte

Além de adicionar fontes de dados em lote, você pode fazer upload de arquivos únicos que podem ser usados como fontes de dados no notebook. Para fazer upload de um único arquivo, chame o método notebooks.sources.uploadFile.

REST

curl -X POST --data-binary "@PATH/TO/FILE" \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "X-Goog-Upload-File-Name: FILE_DISPLAY_NAME" \
  -H "X-Goog-Upload-Protocol: raw" \
  -H "Content-Type: CONTENT_TYPE" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/upload/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources:uploadFile" \

Substitua:

  • PATH/TO/FILE: o caminho para o arquivo que você quer fazer upload.
  • FILE_DISPLAY_NAME: uma string que denota o nome de exibição do arquivo no notebook.
  • CONTENT_TYPE: o tipo de conteúdo que você quer fazer upload. Para uma lista de tipos de conteúdo aceitos, consulte Tipos de conteúdo aceitos.
  • ENDPOINT_LOCATION: a multirregião da sua solicitação de API. Especifique um dos seguintes valores:
    • us para a multirregião dos EUA
    • eu para a multirregião da UE
    • global para o local global
    Para mais informações, consulte Especificar uma multirregião para seu repositório de dados.
  • PROJECT_NUMBER: o número do Google Cloud projeto.
  • LOCATION: a localização geográfica do seu repositório de dados, como global. Para mais informações, consulte Locais.
  • NOTEBOOK_ID: o identificador exclusivo do notebook.

Se a solicitação for bem-sucedida, você vai receber uma resposta JSON semelhante à seguinte.

{
  "sourceId": {
    "id": "SOURCE_ID"
  }
}

Tipos de conteúdo aceitos

O arquivo que você faz upload como fonte precisa ser aceito.

Os seguintes tipos de conteúdo de documentos são aceitos:

Extensão do arquivo Tipo de conteúdo
.pdf application/pdf
.txt text/plain
.md text/markdown
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Os seguintes tipos de conteúdo de áudio são aceitos:

Extensão do arquivo Tipo de conteúdo
.3g2 audio/3gpp2
.3gp audio/3gpp
.aac audio/aac
.aif audio/aiff
.aifc audio/aiff
.aiff audio/aiff
.amr audio/amr
.au audio/basic
.avi video/x-msvideo
.cda application/x-cdf
.m4a audio/m4a
.mid audio/midi
.midi audio/midi
.mp3 audio/mpeg
.mp4 video/mp4
.mpeg audio/mpeg
.ogg audio/ogg
.opus audio/ogg
.ra audio/vnd.rn-realaudio
.ram audio/vnd.rn-realaudio
.snd audio/basic
.wav audio/wav
.weba audio/webm
.wma audio/x-ms-wma

Os seguintes tipos de conteúdo de imagem são aceitos:

Extensão do arquivo Tipo de conteúdo
.png image/png
.jpg image/jpg
.jpeg image/jpeg

Recuperar uma fonte

Para recuperar uma fonte específica adicionada a um notebook, use o notebooks.sources.get método.

REST

curl -X GET \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources/SOURCE_ID"

Substitua:

  • ENDPOINT_LOCATION: a multirregião da sua solicitação de API. Especifique um dos seguintes valores:
    • us para a multirregião dos EUA
    • eu para a multirregião da UE
    • global para o local global
    Para mais informações, consulte Especificar uma multirregião para seu repositório de dados.
  • PROJECT_NUMBER: o número do Google Cloud projeto.
  • LOCATION: a localização geográfica do seu repositório de dados, como global. Para mais informações, consulte Locais.
  • NOTEBOOK_ID: o identificador exclusivo que você recebeu ao criar o notebook. Para mais informações, consulte Criar um notebook.
  • SOURCE_ID: o identificador da fonte que você recebeu ao adicioná-la ao notebook.

Se a solicitação for bem-sucedida, você vai receber uma resposta JSON semelhante à seguinte.

{
  "sources": [
    {
      "sourceId": {
        "id": "SOURCE_ID"
      },
      "title": "DISPLAY_NAME",
      "metadata": {
        "wordCount": 148,
        "tokenCount": 160
      },
      "settings": {
        "status": "SOURCE_STATUS_COMPLETE"
      },
     "name": "SOURCE_RESOURCE_NAME"

    }
  ]
}

Excluir fontes de dados de um notebook

Para excluir fontes de dados em massa de um notebook, use o notebooks.sources.batchDelete método.

REST

  curl -X POST \
    -H "Authorization:Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources:batchDelete" \
    -d '{
      "names": [
        "SOURCE_RESOURCE_NAME_1",
        "SOURCE_RESOURCE_NAME_2"
      ]
    }'

Substitua:

  • ENDPOINT_LOCATION: a multirregião da sua solicitação de API. Especifique um dos seguintes valores:
    • us para a multirregião dos EUA
    • eu para a multirregião da UE
    • global para o local global
    Para mais informações, consulte Especificar uma multirregião para seu repositório de dados.
  • PROJECT_NUMBER: o número do Google Cloud projeto.
  • LOCATION: a localização geográfica do seu repositório de dados, como global. Para mais informações, consulte Locais.
  • NOTEBOOK_ID: o identificador exclusivo do notebook.
  • SOURCE_RESOURCE_NAME: o nome completo do recurso da fonte de dados a ser excluída. Esse campo tem o padrão: projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/source/SOURCE_ID.

Se a solicitação for bem-sucedida, você vai receber um objeto JSON vazio.

A seguir