Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft Ihnen bei der Fehlerbehebung häufiger Szenarien in dauerhaften Aufgabenplaner-Apps. Suchen Sie Ihr Szenario in der folgenden Liste, und führen Sie die verknüpften Schritte aus, um das Problem zu diagnostizieren und zu beheben.
Häufige Szenarien
- Überprüfen Sie die Verbindungszeichenfolge und den Zugriff auf den Durable Task Scheduler
- Fehler beim Bereitstellen Durable Functions App auf Azure
- Unbekannter Fehler beim Abrufen von Details dieses Aufgabenhubs
- Ressource kann nicht gelöscht werden
- Das zu erstellende Projekt kann nicht bestimmt werden.
- Systemeigene Binärdateien für ARM (Apple Silicon) können nicht gefunden werden.
Hinweis
Microsoft-Supporttechniker stehen zur Verfügung, um Probleme mit Ihrer Anwendung zu diagnostizieren. Wenn Sie Ihr Problem nach dem Durchgehen dieses Artikels nicht diagnostizieren können, können Sie ein Supportticket einreichen, indem Sie zum Abschnitt Help>Support + troubleshooting Abschnitt der Ressource "Durable Task Scheduler" im Azure-Portal wechseln.
Überprüfen Sie die Verbindungszeichenfolge und den Zugriff auf den stetigen Aufgabenplaner
Wenn Ihre App nicht wie erwartet ausgeführt wird, überprüfen Sie Folgendes:
- Das Verbindungszeichenfolge Format ist korrekt.
- Die Authentifizierung ist ordnungsgemäß eingerichtet.
Lokale Entwicklung
Überprüfen Sie die Verbindungszeichenfolge, die dieses Format aufweisen sollte:
Endpoint=http://localhost:<port number>;Authentication=None. Vergewissern Sie sich, dass die Portnummer der Nummer8080für den im Emulator des langlebigen Aufgabenplaners ausgeführten Container zugeordnet ist.Stellen Sie zusammen mit dem dauerhaften Taskplaner-Emulator sicher, dass der Azure Storage-Emulator, Azurite, läuft. Azurite wird für Komponenten der App im Zusammenhang mit Funktionen benötigt.
Wird auf Azure ausgeführt
Überprüfen Sie Ihre App auf die Umgebungsvariablen
DURABLE_TASK_SCHEDULER_CONNECTION_STRINGundTASKHUB_NAME.Überprüfen Sie den Wert von
DURABLE_TASK_SCHEDULER_CONNECTION_STRING. Überprüfen Sie insbesondere, ob der Zeitplanendpunkt und der Authentifizierungstyp korrekt sind. Die Verbindungszeichenfolge sollte bei Verwendung wie folgt formatiert werden:-
Vom Benutzer zugewiesene verwaltete Identität:
Endpoint={scheduler endpoint};Authentication=ManagedIdentity;ClientID={client id}dabeiclient idhandelt es sich um die Client-ID der Identität. -
Vom System zugewiesene verwaltete Identität:
Endpoint={scheduler endpoint};Authentication=ManagedIdentity
-
Vom Benutzer zugewiesene verwaltete Identität:
Stellen Sie sicher, dass die erforderliche rollenbasierte Zugriffssteuerungsberechtigung (RBAC) der Identität gewährt wird, die für den Zugriff auf den angegebenen Aufgabenhub oder -planer erforderlich ist.
- Stellen Sie beim Zugriff auf das Dashboard sicher, dass Ihrer eigenen Identität (E-Mail) die Berechtigung zugewiesen ist.
Wenn vom Benutzer zugewiesene verwaltete Identität verwendet wird, stellen Sie sicher, dass die Identität Ihrer App zugewiesen ist.
Fehler beim Bereitstellen der "Durable Functions App" für Azure
Wenn die Bereitstellung mit einem Fehler wie Encountered an error (ServiceUnavailable) from host runtime von Visual Studio Code fehlschlägt, überprüfen Sie zuerst Ihre App, um zu gewährleisten, dass die erforderlichen Umgebungsvariablen korrekt festgelegt sind. Stellen Sie ihre App dann erneut zur Anwendung. Wenn beim Laden von Funktionen ein Fehler angezeigt wird, wählen Sie die Schaltfläche " Aktualisieren" aus.
Unbekannter Fehler beim Abrufen von Details dieses Aufgabenhubs
Wenn im Dashboard für den dauerhaften Vorgangsplaner ein Unknown error retrieving details of this task hub Fehler angezeigt wird, kann der Grund sein:
Ihre Identität (E-Mail-Adresse) verfügt nicht über die erforderliche Berechtigung für diesen Aufgabenhub. Folgen Sie den Anweisungen, um die Berechtigung zu erteilen, und greifen Sie dann erneut auf das Dashboard zu.
Ihr Aufgabenhub wurde gelöscht.
Ressource kann nicht gelöscht werden
Bevor Sie eine Planerressource löschen können, müssen Sie zuerst alle zugehörigen Aufgaben-Hubs löschen. Falls nicht, wird die folgende Fehlermeldung angezeigt:
{
"error": {
"code": "CannotDeleteResource",
"message": "Cannot delete resource while nested resources exist. Some existing nested resource IDs include: 'Microsoft.DurableTask/schedulers/YOUR_SCHEDULER/taskhubs/YOUR_TASKHUB'. Please delete all nested resources before deleting this resource."
}
}
Um dies zu beheben, listen Sie die Aufgabenhubs im Scheduler auf, und löschen Sie sie:
# List all task hubs in the scheduler
az durabletask taskhub list --resource-group RESOURCE_GROUP_NAME --scheduler-name SCHEDULER_NAME
# Delete each task hub
az durabletask taskhub delete --resource-group RESOURCE_GROUP_NAME --scheduler-name SCHEDULER_NAME --name TASKHUB_NAME
Nachdem alle Aufgabenhubs gelöscht wurden, versuchen Sie, die Planungsressource erneut zu löschen.
Das zu erstellende Projekt kann nicht bestimmt werden.
Wenn nach dem Starten der Azurite der Fehler auftritt: : “Can't determine Project to build. Expected 1 .csproj or .fsproj but found 2”
- Löschen Sie die Bin - und Obj-Verzeichnisse in Ihrer App.
- Versuchen Sie,
func starterneut auszuführen.
Systemeigene Binärdateien für ARM (Apple Silicon) können nicht gefunden werden.
Wenn gRPC-Fehler im Zusammenhang mit der Suche nach nativen Binärdateien für ARM (z. B. auf einem Apple Silicon Mac – M1, M2 usw.) angezeigt werden, fügen Sie die folgende Problemumgehung zur Datei extensions.csproj hinzu:
- Fügen Sie
Contrib.Grpc.Core.M1einen Paketverweis hinzu. - Fügen Sie ein benutzerdefiniertes After-Build-Ziel hinzu, das die nativen ARM64 gRPC-Bibliotheken in das richtige Ausgabeverzeichnis kopiert.
Fügen Sie die folgenden ItemGroup- und Target-Elemente zu Ihrem extensions.csproj-Element hinzu.
<!-- Workaround for gRPC issues on ARM (Apple silicon) devices -->
<ItemGroup>
<PackageReference Include="Contrib.Grpc.Core.M1" Version="2.41.0" />
</ItemGroup>
<Target Name="CopyGrpcNativeAssetsToOutDir" AfterTargets="Build">
<ItemGroup>
<NativeAssetToCopy Condition="$([MSBuild]::IsOSPlatform('OSX'))" Include="$(OutDir)runtimes/osx-arm64/native/*"/>
</ItemGroup>
<Copy SourceFiles="@(NativeAssetToCopy)" DestinationFolder="$(OutDir).azurefunctions/runtimes/osx-arm64/native"/>
</Target>