Metadados de Coleta SODA

Ele descreve os metadados de Coleta do SODA no banco de dados.

Metadados de Coleta do SODA no Autonomous Database

Descreve metadados de coleta padrão e personalizados no Autonomous Database.

Metadados de Coleta Padrão SODA no Autonomous Database

Descreve os metadados de coleta padrão no Autonomous Database, que são os metadados de uma coleção que é adicionada quando os metadados personalizados não são fornecidos.

Cada implementação SODA fornece uma maneira de criar uma coleta padrão quando você fornece um nome de coleta. Por exemplo, no SODA para Java, você usa o método createCollection e fornece apenas um parâmetro de nome de coleta:

db.admin().createCollection("myCol");

Isso cria uma coleta com metadados de coleta padrão. Quando você cria uma coleção padrão em seu banco de dados, os metadados da coleção incluem as seguintes informações (independentemente da implementação do SODA que você use para criar a coleção padrão):

{
   "keyColumn" :
   {
      "name" : "ID",
      "sqlType" : "VARCHAR2",
      "maxLength" : 255,
      "assignmentMethod" : "UUID"
   },

   "contentColumn" :
   {
      "name" : "JSON_DOCUMENT",
      "sqlType" : "BLOB",
      "jsonFormat" : "OSON"
   },
   "versionColumn" :
   {
     "name" : "VERSION",
     "method" : "UUID"
   },
   
   "lastModifiedColumn" :
   {
     "name" : "LAST_MODIFIED"
   },
   
   "creationTimeColumn" :
   {
      "name" : "CREATED_ON"
   },
   
   "readOnly" : false
}
Observação

Usando o Autonomous Database Always Free com o Oracle Database 23ai, os metadados padrão são alterados da seguinte forma:
{
   "keyColumn" :
   {
      "name" : "ID",
      "sqlType" : "VARCHAR2",
      "maxLength" : 255,
      "assignmentMethod" : "UUID"
   },

   "contentColumn" :
   {
      "name" : "JSON_DOCUMENT",
      "sqlType" : "JSON",
   },
   "versionColumn" :
   {
     "name" : "VERSION",
     "method" : "UUID"
   },
   
   "lastModifiedColumn" :
   {
     "name" : "LAST_MODIFIED"
   },
   
   "creationTimeColumn" :
   {
      "name" : "CREATED_ON"
   },
   
   "readOnly" : false
}

Metadados de Coleta Personalizados do SODA no Autonomous Database

Descreve metadados personalizados de coleta do SODA no Autonomous Database.

Cada implementação SODA fornece uma maneira de personalizar os metadados de coleta durante a criação da coleta. Por exemplo, no SODA para Java, você pode usar o seguinte comando:

OracleDocument metadata = db.createDocumentFromString("metadata_string");
OracleCollection col = db.admin().createCollection("myCustomColl", metadata);

Neste exemplo, para metadata_string, você pode usar os metadados padrão como o ponto inicial e personalizar o seguinte:

  • Altere keyColumn.assignmentMethod para CLIENT: Altere o valor de assignmentMethod em keyColumn nos metadados para CLIENT (em vez de UUID).

    Valores válidos para keyColumn.assignmentMethod no Autonomous Database:

    • UUID (padrão): As chaves são geradas pelo SODA, com base em UUID.

    • CLIENTE: As chaves são designadas pelo aplicativo cliente.

  • Forneça um valor mediaTypeColumn name: Uma coluna de tipo de mídia será necessária se a coleta for heterogênea, ou seja, ela poderá armazenar documentos que não sejam JSON (JavaScript Object Notation). Consulte Nome da Coluna do Tipo de Mídia para obter detalhes.

O exemplo a seguir especifica chaves designadas pelo cliente e uma coluna de tipo de mídia personalizada. O valor mediaTypeColumn name é especificado com o valor YOUR_MEDIA_TYPE_COLUMN_NAME. Caso contrário, as definições padrão serão usadas.

{
   "keyColumn" :
   {
      "name" : "ID",
      "sqlType" : "VARCHAR2",
      "maxLength" : 255,
      "assignmentMethod" : "CLIENT"
   },
   
   "contentColumn" :
   {
      "name" : "JSON_DOCUMENT",
      "sqlType" : "BLOB"
   },

   "versionColumn" :
   {
     "name" : "VERSION",
     "method" : "UUID"
   },

   "lastModifiedColumn" :
   {
     "name" : "LAST_MODIFIED"
   },

   "creationTimeColumn" :
   {
      "name" : "CREATED_ON"
   },

   "mediaTypeColumn" :
   {
      "name" : "YOUR_MEDIA_TYPE_COLUMN_NAME"
   },

   "readOnly" : false
}