3

我正在尝试在 Azure 函数中使用领域云,但它一直给我一个错误:

make_dir() failed: Permission denied Path: /realm-object-server/

有没有办法将 Azure Functions 配置为具有创建文件的权限?我是 Azure Functions 的新手,这是我的第一个功能,所以我不太确定所有细节。

4

3 回答 3

2

我找到了一个解决方案。在 Azure 函数中,您只能在 temp 文件夹中创建任何文件或文件夹。因此,如果您使用以下同步配置,它应该可以工作。它对我有用。

var configuration = new FullSyncConfiguration(new Uri("/~/<your-realm-name>", UriKind.Relative), _realmUser, Path.Combine(Path.GetTempPath(), "realm-object-server"));

所以基本上,在这里您传递文件夹名称以在本地存储领域。如果您不传递文件夹名称,它将尝试将其存储在您将收到访问错误的默认位置。

于 2020-03-11T09:20:44.267 回答
1

我不熟悉 Realm,但函数默认具有与文件系统交互的权限。有关应用服务文件系统的信息,请参阅这些链接(这也适用于函数): https ://docs.microsoft.com/en-us/azure/app-service/operating-system-functionality#file-access https: //github.com/projectkudu/kudu/wiki/Understanding-the-Azure-App-Service-file-system

如果函数是使用 run from package 部署的,那么 wwwroot 是只读的。但由于错误消息中的路径不指向 wwwroot,这可能不是问题所在。

我最好的猜测是失败的代码试图在不适当的位置写入。上面链接中的信息应该有助于解决这个问题。也许检查领域是否有一个配置设置,可让您指定它应该在哪个位置创建“领域对象服务器”。

于 2019-08-09T17:50:26.647 回答
0

您可以使用

SyncConfigurationBase.Initialize(UserPersistenceMode.NotEncrypted, basePath: Path.GetTempPath());
于 2020-01-26T12:13:15.033 回答