Page 214 - AngularJS权威教程
P. 214
194 第 18 章 服务器通信
图18-14 Role ARN
鉴于我们完成了创建IAM用户的工作,可以探讨Angular应用的集成了。
18.14 AWSService
我们移动一下应用的根,把AWS集成到我们自己的服务AWSService中,然后把它构建出来。
鉴于要能够在配置阶段能对服务做一些自定义的配置,我们把它创建为一个提供者。
记住,唯一能注入到.config()函数的服务类型是.provider()类型。
首先,我们在scripts/services.js中创建provider的桩:
// ...
.provider('AWSService', function() {
var self = this;
self.arn = null;
self.setArn = function(arn) {
if (arn) self.arn = arn;
}
self.$get = function($q) {
return {}
}
});
我们已经能够看到,需要给这个服务设置Role ARN,这样能把适当的用户加到正确的服务中。
像上面一样把AWSService建立为provider,这能让我们在scripts/app.js中这样设置:
angular.module('myApp',
['ngRoute', 'myApp.services', 'myApp.directives']
)
.config(function(AWSServiceProvider) {
AWSServiceProvider
.setArn(
'arn:aws:iam::<ACCOUNT_ID>:role/google-web-role');
})