如何从AWS javascript SDK进行IAM调用?

时间:2015-06-24 22:16:14

标签: amazon-web-services aws-sdk

我们希望使用AWS Javascript SDK的IAM模块,记录为here。我们遵循基本说明,但在尝试实例化新的AWS.IAM()对象时,找不到它。

我们正在使用https://sdk.amazonaws.com/js/中的标准库,这似乎是问题 - 它不包括IAM模块。

有没有办法告诉SDK加载IAM模块?或者可能采用不同的方法来加载IAM模块?

2 个答案:

答案 0 :(得分:1)

IAM模块未包含在亚马逊托管的“标准”软件包中。 因此,您应该自定义构建所需的库。

以下是您需要采取的步骤:

从亚马逊获取SDK代码:

$ git clone git://github.com/aws/aws-sdk-js
$ cd aws-sdk-js/
aws-sdk-js$ git checkout v2.1.28 # if you want a specific version

构建过程正在使用节点;执行 npm install 以确保安装了工具和依赖项(当然,您需要安装节点)。

现在,假设您要构建一个支持S3,STS和IAM的库。使用此命令行:

aws-sdk-js$ node dist-tools/browser-builder.js s3,sts,iam > aws-sdk-s3-sts-iam.js

您可以使用适合您的任何命名约定,但如果您使用不同的自定义构建,我们会发现上述内容最有用。

如果要为发行版缩小自定义库,请改用以下命令行(它为要使用的节点设置正确的环境变量):

aws-sdk-js$ MINIFY=1 node dist-tools/browser-builder.js s3,sts,iam > aws-sdk-s3-sts-iam.min.js

如果您非常关心图书馆的大小,或者您选择托管亚马逊js(也许您已将其与其他内容捆绑在一起),那么无论如何都使用此流程可能是一个好主意,并且仅包括您实际需要的库。节省的费用不一定很大 - 因为无论如何都包含共享代码 - 但最终可能会保存一些东西。例如,在添加我们需要的IAM(S3和STS包含在托管构建中)之后,上面的示例(恰好是我们用于其中一个项目)将总大小从大约300K减少到大约200K。 / p>

答案 1 :(得分:0)

您可以使用"托管的构建",它不包含IAM:

  

尽管SDK的浏览器版本支持所有服务,但并非所有服务都在默认的托管版本中可用(使用上面提供的脚本标记)。托管构建中的服务列表在"使用服务"中提供。浏览器SDK指南的一部分,包括有关如何使用额外服务构建SDK的自定义版本的说明。

Supported Services