亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Azure 函數“本地”文件

Azure 函數“本地”文件

紅糖糍粑 2023-06-27 17:51:14
我正在 Python 中創建一個 HTTP 函數,它將從存儲中獲取 csv blob,使用 scipy 和 matplotlib 執行一些操作,并使用 wkhtmltopdf 將 pdf 輸出到同一容器。我在本地系統上執行任何此操作都沒有問題,但像大多數事情一樣,當我部署它時它會停止工作。該函數需要覆蓋 pickle 文件(在 blob 存儲中),創建多個圖像 (.png) 和 html 文件,并引用 wkhtmltopdf 的 exe 將這些 png 和 html 轉換為 pdf。pickle 部分首先出現,并在此行上捕獲此錯誤所以看起來我無法寫入當前目錄,這將證明是圖像的問題。這是處理這種情況的錯誤方法嗎?有人可以問我正確的問題來縮小問題的根源嗎?下面是我的代碼的一個子集:sas_token_output_html = generate_blob_sas(account_name='***',                            account_key='***',                            container_name=container,                            blob_name='output.html',                            permission=BlobSasPermissions(read=True, write=True, create=True),                            expiry=datetime.datetime.utcnow() + datetime.timedelta(hours=1))output_html_url =f'https://***.blob.core.windows.net/{container}/output.html?{sas_token_output_html}'template_vars = {        'week_day':'Wednesday',        'month':datetime.date.today().strftime('%B'),        'day': datetime.date.today().day,        'year': datetime.date.today().year,        ...}        message_html = template.render(template_vars)with open('output_html_url','w') as f:    f.write(message_html)
查看完整描述

2 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

我無法在本地存儲任何內容,但我能夠將我的幫助程序文件/函數存儲在存儲 blob 中,并使用以下命令在本地下載 blob:

with open(os.path.join(tempfile.gettempdir(), 'input.csv'), 'wb') as input:
        input.write(blob_client.download_blob().readall())

這并不能解決具體問題,但它是一個可以接受的解決方法。


查看完整回答
反對 回復 2023-06-27
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

我看到這個片段希望能完成類似的事情。我把與我無關的部分都拿出來了。這可以在 vscode 中使用函數應用程序的測試功能時創建一個文件(func start):(來自https://option40.com/blog/azure)


import logging

import tempfile

import azure.functions as func



def main(req: func.HttpRequest) -> func.HttpResponse:

    logging.info('Python HTTP trigger function processed a request.')


    dir_path = tempfile.gettempdir()

    file = dir_path + "\test.txt"

    name = "Me"


    with open(file, mode="w") as f:

        f.write(f"{name}")

        

    with open(file) as f:

        new = f.read()


    if name:

        return func.HttpResponse(f"{file}, {new}")

    else:

        return func.HttpResponse(

             "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.",

             status_code=200

        )

我的結果:C:\Users\myName\AppData\Local\Temp\test.txt,Me


查看完整回答
反對 回復 2023-06-27
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號