当前位置: 首页 > 知识库问答 >
问题:

如何访问本地PC上的模拟Azure存储

程招
2023-03-14

我开始开发Azure功能。我已经能够连接到我实际的azure存储帐户队列,以测试如何使用azure功能编程。现在,我的下一步是使用Microsoft Azure Storage Explorer来使用本地存储帐户,这样我就不必连接到Azure。我在这篇文章中看到了如何做到这一点:https://docs.microsoft.com/en-us/azure/storage/storage-configure-connection-string#create-a-connection-string-to-the-storage-emulator

in the appsettings.json I changed my values to this exactly:
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==",
    "AzureWebJobsDashboard": "",
    "StorageConnectionString": "UseDevelopmentStorage=true"

  }
}

当我使用Visual Studio启动Azure Fuctions CLI时,会收到以下错误消息:

ScriptHost初始化失败Microsoft.WindowsAzure.存储:远程服务器返回错误:(403)禁止。

有人遇到过这种情况吗?

共有1个答案

权弘新
2023-03-14

请更改以下代码行:

"AzureWebJobsStorage": "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="

致:

"AzureWebJobsStorage": "UseDevelopmentStorage=true"

或:

"AzureWebJobsStorage": "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;
AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;
    BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
    TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;
    QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;"

这应该照顾403错误。

基本上,storage emulator与云存储帐户有不同的endpoint。例如,云存储帐户的默认blobendpoint是http://[youraccount]。斑点。果心窗户。net,而storage emulator的blobendpointhttp://127.0.0.1:10000.当您仅在连接字符串中指定存储模拟器的存储帐户名和密钥时,存储客户端库会将其视为云存储帐户,并尝试连接到http://devstoreaccount1.blob.core.windows.net使用您提供的帐户密钥。由于云中devstoreaccount1的密钥不是您提供的密钥,因此您将得到403错误。

 类似资料:
  • 我已经写了一个代码来录制音频并保存到下面的文件位置。 在Logcat中,它为我提供了一个文件位置 我无法在SD卡上找到此文件位置。如何访问该位置?

  • 理想情况下,我希望能够创建一个像.azcli这样的脚本,我可以在CosmosDB模拟器上本地运行,然后在我的devops管道中使用相同的脚本将资源上传到Azure。 这是我当前的 CLI 命令。 deploy-cosmos.azcli 我在Azure CLI文档中找不到任何提及CosmosDB模拟器的内容,并且CLI命令本身的参数似乎都无法直接指向模拟器。 https://docs.microso

  • 更一般地说,这里最好的方法是什么。

  • 问题内容: 在Angular2中,您可以在其中有一个文件夹/ data /和一个json文件,并且可以在localhost:4200 / data / something.json中访问它。 在Angular4中不再可能。 任何想法如何使其起作用? 问题答案: 您可以使用此代码 这是您的本地json文件。 另请参阅angular-cli的changlog路径 https://github.com/

  • 问题内容: 我创建了一个本地EJB,我想从同一VM中的Web模块访问它。我的代码如下所示: 这很好。但是,有人告诉我,如果我正在使用本地bean,则不需要进行查找,我只需要进行如下注入: 但是,如果我尝试这样做,则会在this.userBean上得到一个空异常。建议我的人与JBoss合作,而我正在使用glassfish。难道我做错了什么? 问题答案: @EJB注释仅适用于应用程序服务器控制的类,例

  • 问题内容: 我从此链接克隆了一个有关Web浏览器上实时图像处理的项目:然后,我不允许我的浏览器访问我的相机。我收到此JavaScript警报: 嗯,网络摄像头没有启动。你有摄像头吗?您同意了吗?刷新后重试。并且允许按钮不会显示,就像我访问他的网站一样。 问题答案: 您是否正在通过localhost访问通过HTTP提供的网页?如果您通过访问它,Chrome会征求您使用相机的许可。 如果您直接打开网页