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');
                 })
   209   210   211   212   213   214   215   216   217   218   219