2017-10-18 9 views
0

Les erreurs que j'obtiens ne correspondent pas à ce que j'envoie dans ma requête.L'analyse de flux vers CosmosDB échoue toujours

Ma requête:

SELECT 
    udf.CreateGuid('') AS [id], 
    udf.CreateGuid('') AS [DocumentId], 
    BlobName, 
    BlobLastModifiedUtcTime, 
    [telmetry].[event_type] as PartitionKey, 
    -- webhook 
    [telmetry].[id] AS [hook_id], 
    [telmetry].[event_version], 
    [telmetry].[create_time], 
    [telmetry].[resource_type], 
    [telmetry].[event_type], 
    [telmetry].[summary], 
    [telmetry].[resource], 
    [telmetry].[links] 
INTO 
    [cosmosdb2] 
FROM 
    [telemetrydepot] AS [telmetry] 
TIMESTAMP BY [telmetry].[create_time] 

Voici le config export:

enter image description here

J'ai essayé de définir la propriété DocumentId à DocumentId ou id sans succès. Je lance même des champs ID, DocumentId et PartitionKey supplémentaires dans les résultats juste pour obtenir quelque chose à sauvegarder sans succès (en essayant aussi des exécutions individuelles en mettant id ou DocumentId dans la propriété Id du document CosmosDB.

les erreurs Je reviens dire:

An error occurred while preparing data for DocumentDB. The output record does not contain the column DocumentId to use as the partition key property by DocumentDB

Répondre

2

DocumentDB se plaint que vous avez configuré comme DocumentId la clé de partition de la collection, mais pas une telle colonne était dans la sortie que j'ai trouvé quand. Je alias les colonnes dans ASA les noms de colonne dans la sortie finissent en minuscules ...

ASA ne se soucie pas du cas mais DocumentDB le fera. Essayez de créer une nouvelle collection avec la clé de partition définie sur documentid. Vous pouvez consulter la clé actuelle sous "Paramètres" dans le portail de docdb.

La note Document id dans les propriétés de sortie ASA contrôle ce qui se passe dans le champ id. Il peut être différent du champ que vous partitionnez dans DocumentDB. Par exemple, dans un de mes travaux, je veux organiser la base de données par deviceID mais identifier les documents basés sur messageType. Parce que je dois alias deviceID, il perd ses lettres majuscules et je dois définir la clé de partition à deviceid. Ensuite, je mets mon Document id-messageType:

enter image description here

enter image description here

Je reçois des documents qui ressemblent à ceci:

{ "deviceid": "MyDeviceIdentifier", /... /, "id": "MyMessageType" }