2017-07-19 62 views
12

Mam funkcję lazuru, która jest uruchamiana przez plik umieszczany w magazynie BLOB i zastanawiałem się jak (jeśli to możliwe) uzyskać nazwę blob (plik), który wywołał funkcję, próbowałem robić:Jak uzyskać nazwę InputBlob, która wyzwoliła funkcję My Azure w Pythonie

fileObject=os.environ['inputBlob'] 
message = "Python script processed input blob'{0}'".format(fileObject.fileName) 

i

fileObject=os.environ['inputBlob'] 
message = "Python script processed input blob'{0}'".format(fileObject.name) 

ale żadna z nich nie pracował, oboje spowodowało błędy. Czy mogę uzyskać pomoc dotyczącą tej sugestii lub sugestii?

Dzięki

+0

Wszelkie szczęścia w zastanawianie się to? Jeśli tak, czy mógłbyś przedstawić nam swoją odpowiedź poniżej? – DavidActualX

+0

@DavidActualX Nie mogłem tego zrobić z Pythonem niestety – Kikanye

Odpowiedz

1

Nazwa blob mogą być przechwytywane przez Function.json i pod warunkiem danych wiążących. Zobacz poniższy token {filename}. Function.json jest agnostykiem językowym i działa we wszystkich językach.

Aby uzyskać szczegółowe informacje, zapoznaj się z dokumentacją pod numerem https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings.

{ 
    "bindings": [ 
    { 
     "name": "image", 
     "type": "blobTrigger", 
     "path": "sample-images/{filename}", 
     "direction": "in", 
     "connection": "MyStorageConnection" 
    }, 
    { 
     "name": "imageSmall", 
     "type": "blob", 
     "path": "sample-images-sm/{filename}", 
     "direction": "out", 
     "connection": "MyStorageConnection" 
    } 
    ], 
} 
+1

moja funkcja.json jest w porządku, ale chcę użyć nazwy pliku w moim kodzie z pythonem, więc wiesz, jak mogę to zrobić? – Kikanye

1

Nie ma żadnych informacji na temat wyzwalacza użytego w opisie. Ale na szczęście istnieje przykładowy projekt yokawasa/azure-functions-python-samples na GitHub dla funkcji Azure przy użyciu Pythona, który zawiera wiele próbek z różnymi wyzwalaczami, takimi jak queue trigger lub blob trigger. Myślę, że teraz jest to dla ciebie bardzo pomocne i możesz odnieść się do tych próbek, aby napisać własną, aby zaspokoić swoje potrzeby:

Mam nadzieję, że to pomoże.

+0

Używam wyzwalacza blob, ale wyzwalacz nie jest problemem, Rozumiem, że po prostu chcę wiedzieć, czy istnieje sposób na odzyskanie rzeczywistej nazwy pliku, a nie tylko "inputBlob". – Kikanye