AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
¿Cómo identifico los errores de consulta de la API de datos en Amazon Redshift?
Quiero determinar por qué falló mi consulta de la API de datos de Amazon Redshift.
Resolución
La API de datos de Amazon Redshift es asincrónica. No es necesario esperar a que se completen para ejecutar consultas de larga duración.
Cuando se produce un error en una consulta, el estado de la consulta no se muestra inmediatamente. Utiliza la acción de la API DescribeStatement para determinar los motivos del error de una o varias consultas.
Consultas únicas
Identificación del ID de la instrucción
Para ejecutar una única consulta en un clúster de Amazon Redshift, primero obtén el ID de la instrucción.
Para obtener un ID de instrucción, ejecuta la acción de la API ExecuteStatement. El siguiente comando de ejemplo se autentica a través de AWS Secrets Manager y ejecuta la instrucción SQL en un clúster:
aws redshift-data execute-statement --region us-east-1 --secret arn:aws:secretsmanager:us-east-1:123456789012:secret:myuser-secret-hKgPWn --cluster-identifier redshift-cluster-1 --sql "select * from test_table;" --database dev
Resultado de ejemplo:
{ "ClusterIdentifier": "redshift-cluster-1", "CreatedAt": "2022-09-16T12:22:31.894000+05:30", "Database": "dev", "Id": "458c568d-717b-4f36-90bd-e642bfb06cbf", "SecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:myuser-secret-hKgPWn" }
La sección ID del resultado muestra el ID de la instrucción.
Comprobación del estado
Para comprobar el estado de la consulta, utiliza DescribeStatement e introduce el ID de la instrucción.
aws redshift-data describe-statement --id 458c568d-717b-4f36-90bd-e642bfb06cbf
Resultado de ejemplo:
{ "ClusterIdentifier": "redshift-cluster-1", "CreatedAt": "2022-09-16T12:22:31.894000+05:30", "Duration": -1, "Error": "ERROR: relation "test_table" does not exist", "HasResultSet": false, "Id": "458c568d-717b-4f36-90bd-e642bfb06cbf", "QueryString": "select * from test_table;", "RedshiftPid": 1074727629, "RedshiftQueryId": -1, "ResultRows": -1,< "ResultSize": -1, "SecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:myuser-secret-hKgPWn", "Status": "FAILED", "UpdatedAt": "2022-09-16T12:22:32.365000+05:30" }
La sección Error del resultado muestra el error: «ERROR: relation "test_table" does not exist».
Consultas múltiples
Identificación del ID de la instrucción
Para ejecutar varias consultas en un clúster de Amazon Redshift, primero obtén el ID de la instrucción.
Para obtener un ID de instrucción, usa la acción de la API BatchExecuteStatement. Observa el siguiente ejemplo:
aws redshift-data batch-execute-statement --region us-east-1 --secret-arn arn:aws:secretsmanager:us-east-1:123456789012:secret:myuser-secret-hKgPWn --cluster-identifier redshift-cluster-1 --database dev --sqls "select * from test_table;" "select * from another_table;"
Resultado de ejemplo:
{ "ClusterIdentifier": "redshift-cluster-1", "CreatedAt": "2022-09-16T12:37:16.707000+05:30", "Database": "dev", "Id": "08b4b917-9faf-498a-964f-e82a5959d1cb", "SecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:myuser-secret-hKgPWn" }
La sección ID del resultado muestra el ID de la instrucción.
Comprobación del estado
Para comprobar el estado de la consulta, utiliza DescribeStatement e introduce el ID de la instrucción:
aws redshift-data describe-statement --id 08b4b917-9faf-498a-964f-e82a5959d1cb
Resultado de ejemplo:
{ "ClusterIdentifier ": "redshift-cluster-1 ", "CreatedAt ": "2022-09-16T12:37:16.707000+05:30 ", "Duration ": 0, "Error ": "Query #1 failed with ERROR: relation \ "test_table\" does not exist ", "HasResultSet ": false, "Id ": "08b4b917-9faf-498a-964f-e82a5959d1cb ", "RedshiftPid ": 1074705048, "RedshiftQueryId ": 0, "ResultRows ":-1, "ResultSize ": -1, "SecretArn ": "arn:aws:secretsmanager:us-east-1:123456789012:secret:myuser-secret-hKgPWn ", "Status ": "FAILED ", "SubStatements ": [ { "CreatedAt ": "2022-09-16T12:37:16.905000+05:30 ", "Duration ": -1, "Error ": "ERROR: relation \ "test_table\" does not exist ", "HasResultSet ": false, "Id ": "08b4b917-9faf-498a-964f-e82a5959d1cb:1", "QueryString ": "select * from test_table; ", "RedshiftQueryId ": -1, "ResultRows ": -1, "ResultSize ": -1, "Status ": "FAILED ", "UpdatedAt ": "2022-09-16T12:37:17.263000+05:30 " }, { "CreatedAt ": "2022-09-16T12:37:16.905000+05:30", "Duration ": -1, "Error ": "Connection or an prior query failed. ", "HasResultSet ": false, "Id ": "08b4b917-9faf-498a-964f-e82a5959d1cb:2 ", "QueryString ": "select * from another_table;", "RedshiftQueryId ": 0, "ResultRows ": -1, "ResultSize": -1, "Status ": "ABORTED ", "UpdatedAt ": "2022-09-16T12:37:17.263000+05:30 " } ], "UpdatedAt ": "2022-09-16T12:37:17.288000+05:30 " }
El resultado muestra el estado de cada instrucción SQL individual dentro de la consulta de varias instrucciones. La sección Error del resultado muestra el error de cada instrucción.
Para solucionar problemas con la API de datos, consulta Solución de problemas con la API de datos de Amazon Redshift.
Nota: Los usuarios con el mismo rol de AWS Identity and Access Management (IAM) o permisos de IAM que los que ejecutan una operación de la API ExecuteStatement o BatchExecuteStatement pueden ejecutar la misma instrucción con DescribeStatement. Si otro usuario quiere actuar en la misma instrucción SQL, debe asumir el rol de IAM del usuario que ejecutó la instrucción SQL.
Para obtener más información, consulta Consideraciones al llamar a la API de datos de Amazon Redshift.
Supervisión de los eventos de la API de datos
Amazon EventBridge supervisa los eventos de la API de datos. Si envías esta información a una función de AWS Lambda, la función se conecta a Amazon Simple Notification Service (Amazon SNS) para entregar las notificaciones.
Para obtener más información, consulta Creación de una aplicación basada en eventos con AWS Lambda y la API de datos de Amazon Redshift.
- Temas
- Analytics
- Etiquetas
- Amazon Redshift
- Idioma
- Español

Contenido relevante
- preguntada hace 10 meses
- preguntada hace un mes
- preguntada hace 8 meses
OFICIAL DE AWSActualizada hace 7 meses