自从我安装了新的Windows Azure SDK 2.3后,我收到了来自csrun的警告:
"通过CSRun的DevStore交互已被删除.请改用WAStorageEmulator.exe."
所以有两个问题:1)如何从代码中正确启动新的存储模拟器?2)如何从代码中确定存储模拟器是否已在运行?
本周我重新安装了我的开发PC,现在我错过了Cloud Explorer中的本地开发存储(存储模拟器正在运行).现在只有Data Lake Analytics,我不需要.
这一直都很好,比单独的Storage Explorer工具要好得多,因为在该工具中,您必须先登录现有的Azure订阅,然后才能选择开发存储.是否可能缺少需要安装VS2017的某些组件?
我在本地机器上运行了存储模拟器 - 127.0.0.1:10000。我有一个在本地主机上运行的网站。但是,当我尝试从网站到模拟器执行 XMLHttpRequest 时,出现以下错误:
Origin http://localhost is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)
如果我使用 --disable-web-security 选项启动 Chrome,它工作正常。
现在,我读到 Azure 支持 CORS,并且有一个选项可以打开它。但是,我终生无法弄清楚该选项在存储模拟器中的位置。
任何帮助,将不胜感激!
我一直在尝试通过计算机的Azure存储模拟器创建表。我可以使用仅使用WindowsAzure.Storage nuget版本6.2.0的非常简单的程序来重新创建问题:
using Microsoft.WindowsAzure.Storage;
namespace StorageEmulatorTest
{
internal class Program
{
private static void Main(string[] args)
{
var cloudStorageAccount = CloudStorageAccount.Parse("UseDevelopmentStorage=true");
var cloudTableClient = cloudStorageAccount.CreateCloudTableClient();
cloudTableClient.GetTableReference("JohnnyTest").CreateIfNotExists();
}
}
}
Run Code Online (Sandbox Code Playgroud)
25秒后,Microsoft.WindowsAzure.Storage.StorageException仅此消息将引发type异常:
远程服务器返回错误:(500)Internal Server Error。
我尝试过:
我的花样少了。有人遇到过这个问题吗?
我正在尝试使用 Docker 运行我的计时器触发器 azure 函数示例。它在 Visual Studio 中的调试和发布模式下都运行良好。但是当使用docker时
docker run -d -p 8080:80 testdockercors
应用程序启动并显示以下消息,但我的计时器触发器天蓝色功能未运行。
Hosting environment: Production
Content root path: /app
Now listening on: http://[::]:80
Application started. Press Ctrl+C to shut down..
Run Code Online (Sandbox Code Playgroud)
但从 Visual Studio 运行时,计时器触发器工作正常。请找到我的 docker 文件。
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["Testdockercors/Testdockercors.csproj", "Testdockercors/"]
RUN dotnet restore "Testdockercors/Testdockercors.csproj"
COPY . .
WORKDIR "/src/Testdockercors"
RUN dotnet build "Testdockercors.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Testdockercors.csproj" -c Release -o /app/publish
FROM base AS …Run Code Online (Sandbox Code Playgroud) azure azure-storage-emulator docker azure-functions azure-function-app
我正在按照本文档中的信息来访问azure存储模拟器(本地)
http://msdn.microsoft.com/zh-CN/library/azure/hh403989.aspx
在存储模拟器中,因为本地计算机不执行域名解析,所以帐户名是URI路径的一部分。在存储模拟器中运行的资源的URI方案遵循以下格式:
http://<local-machine-address>:<port>/<account-name>/<resource-path>
Run Code Online (Sandbox Code Playgroud)
以下格式用于寻址在存储模拟器中运行的资源:
Blob服务:
http://127.0.0.1:10000/<account-name>/<resource-path>
Run Code Online (Sandbox Code Playgroud)
队列服务:
http://127.0.0.1:10001/<account-name>/<resource-path>
Run Code Online (Sandbox Code Playgroud)
餐桌服务:
http://127.0.0.1:10002/<account-name>/<resource-path>
Run Code Online (Sandbox Code Playgroud)
例如,以下地址可能用于访问存储模拟器中的Blob:
http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt
Run Code Online (Sandbox Code Playgroud)
如果我尝试从计算机上运行的任何内容(例如本地IIS服务器等)访问它,都可以正常工作,这是因为它可以在PC上访问127.0.0.1
但是,如果我尝试从同一wifi网络上的移动设备访问它,该怎么办?
通过转到applicationhost.config并将本地IIS服务器绑定到计算机的LAN IP(例如192.168.1.5等),我可以从移动设备访问本地IIS服务器。
知道如何为azure存储模拟器执行此绑定吗?即我如何将其公开给局域网?
谢谢
iis azure azure-storage azure-storage-blobs azure-storage-emulator
问题
当我尝试使用存储模拟器(v3.4.0.0)时,我收到以下异常:
System.Net.WebException: The remote server returned an error: (404) Not Found.
Run Code Online (Sandbox Code Playgroud)
具体来说,当我尝试与我的CloudBlobContainer实例进行交互时会发生这种情况blobClient.GetContainerReference( myContainerName ).在这种情况下,当我尝试以下操作时会发生这种情况:
var permissions = await container.GetPermissionsAsync();
Run Code Online (Sandbox Code Playgroud)
当我调试代码并在执行此行之前观察容器实例时,我可以看到对象的内部确实设置为使用模拟器,并且所有适当的字段/属性都是应该的(使用正确的" devstoreaccount1"帐户名称等".
知道为什么会这样吗?更好的是:如何让我的代码看到模拟器?
附加信息
127.0.0.1:10000但收到消息"Ping请求找不到主机127.0.0.1:10000.请检查名称,然后重试."我已将 Azure 存储模拟器从 2.3 升级到 2.4。WAStorageEmulator.exe已重命名为AzureStorageEmulator.exe,但这不是问题。
当我跑
AzureStorageEmulator init -forcecreate
Run Code Online (Sandbox Code Playgroud)
我只是收到一个错误,Google 返回的结果为零:
错误:未找到用户指定的实例。请更正此问题并重新运行初始化。
我必须开始和停止,然后才能进行初始化。因为我安装了以前版本的模拟器,所以我的本地 SQL 服务器实例上已经有了WAStorageEmulatorDb34。运行init命令后,我可以看到没有创建新数据库(如WAStorageEmulatorDb42)。
所以我认为最新版本可能使用的是旧数据库。然后我在 MSSMS 中运行一个查询来检查现有的 blob 容器,我仍然可以看到我在旧模拟器上创建的两个容器,其中包含我添加的 blob。
当我在 Visual Studio 中访问 Development Azure Storage 时,它没有显示任何容器。所以新版本显然不使用旧数据库。但哪一个?而且它在哪里?
好的,所以我想我会再运行一次 init 但使用额外的参数将 DB 放在我的 SQL 服务器实例上:
AzureStorageEmulator init -server localhost -sqlinstance MSSQLSERVER -forcecreate
Run Code Online (Sandbox Code Playgroud)
然后我得到了上述错误。再次...
我以具有提升权限的管理员身份运行 CMD。
我尝试使用最新模拟器 (5.9) 来使用 FileClient for Azure Storage,但出现以下异常:No file endpoint configured.
这是我的代码:
if (CloudStorageAccount.TryParse("UseDevelopmentStorage=true", out var account))
_fileClient = account.CreateCloudFileClient();
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
azure azure-storage azure-storage-emulator azure-storage-files
我正在尝试编写一个 PowerShell 脚本来启动我的开发环境所需的所有服务,并且正在努力寻找一种方法来启动 azure 存储模拟器。我所需要的只是一种启动服务的方法,但我在网上阅读的所有内容都不起作用。
提前致谢。