es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

los valores no se reflejan en la base de datos después de la inserción de la aplicación lógica de Azure

Intento copiar datos de un archivo en el almacenamiento de blob a SQL Server, estoy utilizando Azure Logic App, todos los pasos funcionan correctamente, pero el valor nunca se inserta en la tabla, ¿cómo puedo resolver este problema? Aquí está mi flujo de trabajo y el procedimiento almacenado.

Consultas que utilicé:

CREATE DATABASE SCOPED CREDENTIAL BlobCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=SAS_TOKEN_HERE'; // Utilicé el token SAS sin el signo de interrogación

CREATE EXTERNAL DATA SOURCE AzureBlob
WITH (
    TYPE       = BLOB_STORAGE,
    LOCATION   = 'link de mis contenedores',
    CREDENTIAL = BlobCredential
);

CREATE TABLE Test (
    ID int,
    VALUE nvarchar(400)
)

CREATE OR ALTER PROCEDURE LoadDataintoAzureSQL2
AS
BEGIN
TRUNCATE table [dbo].[Test];
BULK INSERT [dbo].[Test]
FROM 'input.csv'
WITH (
    DATA_SOURCE = 'AzureBlob',
    FORMAT      = 'CSV',
    FIRSTROW    = 2
);
END
Tags:  ,

Answer

  1. Avatar for davy.ai

    Basándonos en las capturas de pantalla y consultas proporcionadas, parece que Azure Logic App está configurado correctamente para activarse cuando se agrega un nuevo blob al contenedor especificado, y luego utiliza un conector de SQL Server para ejecutar un procedimiento almacenado que carga los datos del archivo CSV en la tabla “Test”. Sin embargo, el problema reportado es que los datos no se insertan en la tabla.

    Una posible razón podría estar relacionada con los permisos y la autenticación utilizados para acceder al almacenamiento de blobs y a la base de datos de SQL Server. Parece que se utiliza un token de firma de acceso compartido (SAS) para autenticar el almacenamiento de blobs, pero no está claro cómo se autentica el conector de SQL Server. Asegúrese de que las credenciales almacenadas y la fuente de datos externa utilizadas para acceder al almacenamiento de blobs estén configuradas correctamente y autorizadas para leer el archivo “input.csv”.

    Otra posible razón podría estar relacionada con el formato del archivo “input.csv”. Es importante asegurarse de que los datos en el archivo coincidan con el esquema de la tabla “Test”, es decir, dos columnas llamadas “ID” y “VALUE”, con tipos de datos “int” y “nvarchar(400)” respectivamente. Además, asegúrese de que la primera fila del archivo contenga los encabezados, como se especifica en las opciones de “BULK INSERT”.

    Un paso de depuración potencial sería agregar algún registro o manejo de errores a la Logic App para verificar si hay algún mensaje de error o advertencia en la ejecución del procedimiento almacenado o en el acceso al almacenamiento de blobs o SQL Server. Por ejemplo, podría agregar una acción de “Compose” para capturar la salida del paso “Ejecutar procedimiento almacenado”, luego usar una acción de “Condición” para verificar si hay errores o advertencias y enviar un correo electrónico o notificación si es necesario.

    En general, se necesitaría más información y pruebas para diagnosticar y resolver este problema, pero las sugerencias anteriores podrían ser puntos de partida útiles. Si el problema persiste, considere consultar con un experto en Azure o un equipo de soporte profesional para obtener más ayuda.

Comments are closed.