Tutorial: Consulta de Azure Cosmos DB mediante la API de SQL

SE APLICA A: SQL API

La API de SQL de Azure Cosmos DB admite la consulta de documentos mediante SQL. En este artículo se proporciona un documento de ejemplo y dos consultas SQL de ejemplo y los resultados.

En este artículo se tratan las tareas siguientes:

  • Consulta de datos con SQL

Documento de ejemplo

En las consultas SQL de este artículo se usa el documento de ejemplo siguiente.

{
  "id": "WakefieldFamily",
  "parents": [
      { "familyName": "Wakefield", "givenName": "Robin" },
      { "familyName": "Miller", "givenName": "Ben" }
  ],
  "children": [
      {
        "familyName": "Merriam", 
        "givenName": "Jesse", 
        "gender": "female", "grade": 1,
        "pets": [
            { "givenName": "Goofy" },
            { "givenName": "Shadow" }
        ]
      },
      { 
        "familyName": "Miller", 
         "givenName": "Lisa", 
         "gender": "female", 
         "grade": 8 }
  ],
  "address": { "state": "NY", "county": "Manhattan", "city": "NY" },
  "creationDate": 1431620462,
  "isRegistered": false
}

¿Dónde puedo ejecutar consultas SQL?

Puede ejecutar consultas mediante el Explorador de datos en Azure Portal y la API REST y los SDK.

Para obtener más información sobre las consultas SQL, vea:

Requisitos previos

En este tutorial se da por supuesto que tiene una colección y una cuenta de Azure Cosmos DB. ¿No tiene ninguno de esos recursos? Complete el inicio rápido de 5 minutos.

Consulta 1 de ejemplo

Dado el documento de familia de ejemplo anterior, la consulta SQL siguiente devuelve los documentos donde el campo de identificador coincide con WakefieldFamily. Puesto que es una instrucción SELECT *, la salida de la consulta es el documento JSON completo:

Consultar

    SELECT * 
    FROM Families f 
    WHERE f.id = "WakefieldFamily"

Resultados

{
  "id": "WakefieldFamily",
  "parents": [
      { "familyName": "Wakefield", "givenName": "Robin" },
      { "familyName": "Miller", "givenName": "Ben" }
  ],
  "children": [
      {
        "familyName": "Merriam", 
        "givenName": "Jesse", 
        "gender": "female", "grade": 1,
        "pets": [
            { "givenName": "Goofy" },
            { "givenName": "Shadow" }
        ]
      },
      { 
        "familyName": "Miller", 
         "givenName": "Lisa", 
         "gender": "female", 
         "grade": 8 }
  ],
  "address": { "state": "NY", "county": "Manhattan", "city": "NY" },
  "creationDate": 1431620462,
  "isRegistered": false
}

Consulta 2 de ejemplo

La consulta siguiente devuelve todos los nombres de los hijos de la familia cuyos identificadores coincidan con WakefieldFamily.

Consultar

    SELECT c.givenName 
    FROM Families f 
    JOIN c IN f.children 
    WHERE f.id = 'WakefieldFamily'

Resultados

[
    {
        "givenName": "Jesse"
    },
    {
        "givenName": "Lisa"
    }
]

Pasos siguientes

En este tutorial, ha realizado las tareas siguientes:

  • Ha obtenido información sobre cómo realizar consultas con SQL

Ahora puede continuar con el tutorial siguiente para obtener información sobre cómo distribuir sus datos globalmente.

¿Intenta planear la capacidad para una migración a Azure Cosmos DB? Puede usar información sobre el clúster de bases de datos existente para planear la capacidad.