【问题标题】:How do I make IAM calls from the AWS javascript SDK?如何从 AWS javascript 开发工具包进行 IAM 调用?
【发布时间】:2015-06-25 23:03:10
【问题描述】:

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

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

有没有办法告诉 SDK 加载 IAM 模块?或者也许是一种不同的方法来加载 IAM 模块?

【问题讨论】:

    标签: amazon-web-services aws-sdk


    【解决方案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 以确保您已安装工具和依赖项(当然,您还需要安装 node)。

    现在,假设您要构建一个支持 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
    

    如果您非常关心库的大小,或者您选择托管 Amazon js(也许您已经将它与您的其他东西捆绑在一起),那么无论如何使用这个过程可能是一个好主意,而且只有包括您实际需要的库。节省的费用不一定很大——因为无论如何都包含共享代码——但你最终可能会节省一些东西。例如,在添加了我们需要的 IAM(S3 和 STS 包含在托管构建中)之后,上面的示例(恰好是我们用于其中一个项目的示例)将总大小从 ~300K 减少到 ~200K。

    【讨论】:

      【解决方案2】:

      您可以使用不包含 IAM 的“托管构建”:

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

      Supported Services

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-16
        • 2020-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-26
        相关资源
        最近更新 更多