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

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

如何在 Azure Blob 中上傳大字符串?

如何在 Azure Blob 中上傳大字符串?

烙印99 2023-06-20 10:20:48
現在我正在嘗試弄清楚如何使用 Azure,現在我在將數據存儲在存儲帳戶中時遇到了問題。我有三個字符串,想將它們分別存儲在一個單獨的 blob 中。對于前兩個,我的代碼工作正常,但第三個導致一些重試并以超時結束。我的代碼在 Azure 函數中運行。這是一個最小的例子:from azure.storage.blob import BlobClientblob_client = BlobClient.from_connection_string(    conn_str.      = '<STORAGE_ACCOUNT_CONNECTION_STRING>',    container_name = '<CONTAINER_NAME>',    blob_name.     = '<NAME_OF_BLOB>',)dic_blob_props = blob_client.upload_blob(    data      = '<INFORMATION_THAT_SHOULD_GO_TO_THE_BLOB>',     blob_type = "BlockBlob",     overwrite = True,)對于前兩個字符串,一切正常,但第三個失敗。字符串具有以下長度:len(s_1) = 1246209len(s_2) = 8794086len(s_3) = 24518001多半是因為第三根弦太長了,但總得有辦法挽救吧?我已經嘗試在.upload_blob方法中設置超時時間 by timeout=600,但這根本沒有改變結果,也沒有改變新嘗試寫入之前的時間。錯誤是:Exception: ServiceResponseError: ('Connection aborted.', timeout('The write operation timed out'))如果您對這個問題有任何想法,請告訴我:-)
查看完整描述

2 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

在我這邊,我沒有問題。你可以看看我的代碼:


__init__.py


import logging


import azure.functions as func



def main(req: func.HttpRequest,outputblob: func.Out[func.InputStream],) -> func.HttpResponse:

    logging.info('This code is to upload a string to a blob.')

    s_3 = "x"*24518001

    outputblob.set(s_3)

    return func.HttpResponse(

            "The string already been uploaded to a blob.",

            status_code=200

    )

function.json


{

  "scriptFile": "__init__.py",

  "bindings": [

    {

      "authLevel": "anonymous",

      "type": "httpTrigger",

      "direction": "in",

      "name": "req",

      "route": "{test}",

      "methods": [

        "get",

        "post"

      ]

    },

    {

      "type": "http",

      "direction": "out",

      "name": "$return"

    },

    {

      "name": "outputblob",

      "type": "blob",

      "path": "test1/{test}.txt",

      "connection": "str",

      "direction": "out"

    }

  ]

}

local.settings.json


{

  "IsEncrypted": false,

  "Values": {

    "AzureWebJobsStorage": "",

    "FUNCTIONS_WORKER_RUNTIME": "python",

    "str":"DefaultEndpointsProtocol=https;AccountName=0730bowmanwindow;AccountKey=xxxxxx==;EndpointSuffix=core.windows.net"

  }

}

然后我點擊端點http://localhost:7071/api/bowman,它將字符串上傳到 blob 并且沒有超時錯誤:

http://img1.sycdn.imooc.com//64910d250001db7c16360302.jpg

所以,我認為問題與您使用的方法有關。



查看完整回答
反對 回復 2023-06-20
?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

就我而言,在我將功能部署到云端后問題就消失了。似乎使用 Visual Studio 代碼調試時出現問題。



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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