2017-07-19 53 views
12

Bir blob depolama alanına konan bir dosya tarafından tetiklenen bir masmavi işlevim var ve (eğer mümkünse)Python ile Azure İşlevi Başlattıran inputBlob Adını Nasıl Alabilirim

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

ve

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

ancak bu çalıştı hiçbiri, ikisi de hatalar sonuçlandı: fonksiyonunu tetikleyen damla (dosya), yaptığımı çalıştılar. Bu veya bazı özveri ile ilgili yardım alabilir miyim?

Teşekkür

+0

Şansın bu bulmaktan: lacivert-webjobs-sdk ve masmavi-webjobs-sdk-komut GitHub'dan bu konuda açık sorunları vardır? Eğer öyleyse, cevabınızı aşağıda bize gösterebilir misiniz? – DavidActualX

+0

@DavidActualX Maalesef bunu Python ile yapamamıştım – Kikanye

cevap

1

damla adı Function.json aracılığıyla yakalanır ve bağlayıcı veri olarak sağlanabilir. Aşağıdaki {dosyaadı} jetonuna bakın. Function.json, bir dildir ve her dilde çalışır.

Ayrıntılar için, https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings belgelerine bakın.

{ 
    "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

fonksiyonum.json iyi ama kodumdaki dosya adını python ile kullanmak istiyorum, bu yüzden bunu nasıl yapabilirim biliyor musun? – Kikanye

1

Tanıtmanızda kullandığınız tetikleyici hakkında herhangi bir bilgi yok. Ancak neyse ki 0 queue trigger veya blob trigger gibi farklı tetikleyiciler kullanan birçok örnek içeren Python kullanarak Azure Function için GitHub üzerinde örnek bir proje yokawasa/azure-functions-python-samples var. Şimdi sizin için çok yararlı olduğunu düşünüyorum ve ihtiyaçlarınızı karşılamak için kendi örneklerinizi yazmanız için bu örneklere başvurabilirsiniz。

Yardım edin.

+0

Ben bir blob tetikleyici kullanıyorum, ancak tetikleyici sorun değil, sadece 'inputBlob' değil, dosyanın gerçek adını almak için bir yol olup olmadığını bilmek istiyorum anlıyorum. – Kikanye