应用设置

 

发布日期: 2016年8月

通过 Microsoft Azure 移动服务,你可以安全地将值作为应用设置存储,你的服务器脚本在运行时可以访问这些设置。应用设置以加密形式存储,并且由管理员在管理门户中设置、更新和删除。当你在应用设置中存储持久化数据(例如登录凭据或共享密钥)时,你具有可从你的移动服务中的不同服务器脚本访问的单一存储点。

当你直接在代码中为其他服务存储凭据(例如 Twitter OAuth 凭据)时,这些凭据可在本地计算机上结束。这意味着,使用 .NET 后端或使用源代码管理为 JavaScript 后端发布服务器脚本时,必须小心限制对包含凭据的文件的访问权限。因此,有价值的凭据应该作为应用设置存储,而不是直接存储在代码中。

对于 JavaScript 后端移动服务,你可以从自定义 API 中service objectconfig 属性访问存储的设置。下面的示例获取名为 MY_CUSTOM_SETTING 的自定义设置的值:

var customSetting = 
        request.service.config.appSettings.MY_CUSTOM_SETTING;

在表操作或计划作业脚本中,你可以通过加载 mobileservice-config Node.js 模块访问应用设置。下面的示例通过使用全局 require 函数加载针对移动服务的配置模块,获取 JSON 设置对象:

var settings = require('mobileservice-config').appSettings;

对于 .NET 后端移动服务,你可以从每个控制器或计划作业的 Services 属性访问存储的设置。P:Microsoft.WindowsAzure.Mobile.Service.ApiServices.Settings 属性返回的 T:Microsoft.WindowsAzure.Mobile.Service.ServiceSettingsDictionary 包含所有预定义的服务设置的属性。自定义设置可从 Dictionary<TKey, TValue> 访问,如下所示:

// Try to get the stored Twitter access token from app settings.  
if (!(Services.Settings.TryGetValue("TWITTER_ACCESS_TOKEN", out accessToken) |
Services.Settings.TryGetValue("TWITTER_ACCESS_TOKEN_SECRET", out accessTokenSecret)))
{
    Services.Log.Error("Could not retrieve Twitter access credentials.");
}

你可以在 .NET 后端项目的 Web.config 文件的 appSettings 节中,将应用设置设为键/值对。在本地计算机上测试 .NET 后端项目时,将使用这些值。在 Azure 中运行时,将忽略这些值,并改用门户设置。

在应用设置中存储数据时考虑以下方面:

  • 在不区分大小写的比较中,名称必须唯一。

  • 名称必须小于 60 个字符并且值必须小于 1000 个字符。

  • 单个移动服务的最大设置数目为 1000。

显示: