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.
- Si todo lo que sabe es el número de núcleos virtuales y servidores del clúster de bases de datos existente, lea sobre cómo calcular las unidades de solicitud mediante núcleos o CPU virtuales.
- Si conoce las velocidades de solicitud típicas para la carga de trabajo de la base de datos actual, lea sobre la estimación de las unidades de solicitud mediante la herramienta de planeamiento de capacidad de Azure Cosmos DB.