2017-08-29 1 views
1

J'essaie de créer des fonctions Azure. J'ai commencé par travailler sur le tutoriel here. Le problème, je continue d'obtenir des erreurs lorsque j'essaie de déboguer localement.Comment résoudre "la chaîne de connexion n'est pas formatée correctement"?

Voici mon local.settings.json:

{ 
    "IsEncrypted": false, 
    "Values": { 
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=XYZ;AccountKey=<removed>;BlobEndpoint=https://XXX.blob.core.windows.net/;QueueEndpoint=https://XXX.queue.core.windows.net/;TableEndpoint=https://XXX.table.core.windows.net/;FileEndpoint=https://XXX.file.core.windows.net/;", 
    "AzureWebJobsDashboard": "", 
    "QueueStorage": "https://XXX.queue.core.windows.net/myqueue-items" 
    } 
} 

Voici le code (vraiment juste le code basé sur des modèles inclus pour les fonctions Azure)

using System; 
using Microsoft.Azure.WebJobs; 
using Microsoft.Azure.WebJobs.Host; 

namespace FunctionApp3 
{ 
    public static class SampleFunction 
    { 
     [FunctionName("SampleFunction")] 
     public static void Run([QueueTrigger("myqueue-items", Connection = "QueueStorage")]string myQueueItem, TraceWriter log) 
     { 
      log.Info($"C# Queue trigger function processed: {myQueueItem}"); 
     } 
    } 
} 

Voici la sortie à la fenêtre de la console locale:

[8/29/2017 5:53:01 PM] Microsoft.Azure.WebJobs.Host: Error indexing method 'SampleFunction.Run'. Microsoft.Azure.WebJobs.Host: Failed to validate Microsoft Azure WebJobs SDK QueueStorage connection string. The Microsoft Azure Storage account connection string is not formatted correctly. Please visit https://go.microsoft.com/fwlink/?linkid=841340 for details about configuring Microsoft Azure Storage connection strings. 
[8/29/2017 5:53:01 PM] Error indexing method 'SampleFunction.Run' 
[8/29/2017 5:53:01 PM] Microsoft.Azure.WebJobs.Host: Error indexing method 'SampleFunction.Run'. Microsoft.Azure.WebJobs.Host: Failed to validate Microsoft Azure WebJobs SDK QueueStorage connection string. The Microsoft Azure Storage account connection string is not formatted correctly. Please visit https://go.microsoft.com/fwlink/?linkid=841340 for details about configuring Microsoft Azure Storage connection strings. 

J'ai essayé de réécrire la chaîne de connexion plusieurs fois, mais je n'arrive pas à obtenir id de l'erreur. J'ai passé en revue les informations here mais je n'arrive toujours pas à le faire fonctionner.

Qu'est-ce qui me manque?

+0

Avez-vous essayé de supprimer la barre oblique après la fin de chaque URL? Actuellement vous avez "core.windows.net/"; mais vous devriez avoir "core.windows.net". Aide-t-il? – DotNetMatt

Répondre

4

On dirait qu'il attend une chaîne de connexion de stockage complète dans les paramètres au lieu de l'URL de la file d'attente.

Quelque chose comme:

{ 
    "IsEncrypted": false, 
    "Values": { 
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=XYZ;AccountKey=<removed>;BlobEndpoint=https://XXX.blob.core.windows.net/;QueueEndpoint=https://XXX.queue.core.windows.net/;TableEndpoint=https://XXX.table.core.windows.net/;FileEndpoint=https://XXX.file.core.windows.net/;", 
    "AzureWebJobsDashboard": "", 
    "QueueStorage": "DefaultEndpointsProtocol=https;AccountName=XYZ;AccountKey=<removed>;BlobEndpoint=https://XXX.blob.core.windows.net/;QueueEndpoint=https://XXX.queue.core.windows.net/;TableEndpoint=https://XXX.table.core.windows.net/;FileEndpoint=https://XXX.file.core.windows.net/;" 
    } 
} 
1

Comme dit juunas, nous avons besoin de la chaîne de connexion complète pour Connection paramètres de l'application.

Si cette connexion est un double de AzureWebJobsStorage, vous pouvez simplement changer votre attribut à [QueueTrigger("my-queue-items")] (AzureWebJobsStorage est la valeur par défaut si aucune autre connexion est spécifiée).