Ich muss Video mit Ffmpeg in Service Fabric Dienst encodieren, wenn ich neue Nachricht von Service Bus-Warteschlange erhalten. Ich kann ffmpeg.exe aus Ressourcen extrahieren und ausführen, aber kann ich Input/Output-Videodateien im internen Dateisystem speichern?Zugriff auf Dateisystem in Service Fabric
5
A
Antwort
5
ich es auf lokalen Cluster durch folgenden Code getestet:
protected override async Task RunAsync(CancellationToken cancellationToken)
{
while (true)
{
cancellationToken.ThrowIfCancellationRequested();
string filename = "testFile.txt";
File.AppendAllText(filename, "test. ");
string content = File.ReadAllText(filename);
System.Diagnostics.Trace.WriteLine("Content:" + content);
System.Diagnostics.Trace.WriteLine(new FileInfo(filename).FullName);
await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken);
}
}
Das Ergebnis Ausgang war:
Content:test.
C:\SfDevCluster\Data\_App\_Node_3\SampleAppType_App51\work\testFile.txt
Content:test. test.
C:\SfDevCluster\Data\_App\_Node_3\SampleAppType_App51\work\testFile.txt
Content:test. test. test.
C:\SfDevCluster\Data\_App\_Node_3\SampleAppType_App51\work\testFile.txt
Aber Pfad wurde auf den nächsten Lauf zu C geändert: \ SfDevCluster \ Data_App_Node_3 \ SampleAppType_App52 \ work \ testFile.txt.
Also nehme ich die Antwort: aber nur für temporäre Dateien
Es ist möglich, lokales Dateisystem zu verwenden. Und ich denke, es ist eine gute Methode, das System am Ende der Iteration zu bereinigen.
Ihre Schlussfolgerung ist richtig. Der temporäre lokale Dateispeicher ist so weit entfernt, wie Sie mit dem lokalen Dateisystem arbeiten möchten, da Dienste nicht an eine bestimmte VM-Instanz gebunden sind. –