2017-07-19 43 views
12

我有一个azure函数,它是由一个文件放入blob存储器触发的,我想知道如何(如果可能)获取BLOB(文件),它触发的功能,我曾尝试做:如何获取用Python触发我的Azure函数的inputBlob的名称

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

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

但既不是这些工作的,他们都产生了错误。我可以得到这个或某些建议的帮助吗?

谢谢

+0

任何运气搞清楚了这一点?如果是这样,你介意在下面向我们展示你的答案吗? – DavidActualX

+0

@DavidActualX我不能用Python做到这一点不幸的是 – Kikanye

回答

1

blob名称可以通过Function.json捕获并作为绑定数据提供。请参阅下面的{filename}标记。 Function.json是语言不可知的,适用于所有语言。

有关详细信息,请参阅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

我的function.json很好,但我想在我的代码中使用python的文件名,所以你知道我该怎么做? – Kikanye

1

没有关于您在描述中使用的触发器的信息。幸运的是,在GitHub上有一个示例项目yokawasa/azure-functions-python-samples用于使用Python的Azure功能,其中包括许多使用不同触发器的示例,如queue triggerblob trigger。我认为现在对你很有帮助,你可以参考这些样本来编写自己的样本来满足你的需求。

希望它有帮助。

+0

我正在使用blob触发器,但触发器不是问题,我知道我只是想知道是否有办法检索文件的实际名称,而不仅仅是'inputBlob'。 – Kikanye

相关问题