【问题标题】:How to create Elastic Beanstalk instance from s3 bucket in the aws-sdk?如何从 aws-sdk 中的 s3 存储桶创建 Elastic Beanstalk 实例?
【发布时间】:2021-09-21 19:01:47
【问题描述】:

我正在尝试从 aws javascript sdk 部署一个弹性 beanstalk 实例,并希望代码源来自 s3 存储桶。我可以看到您可以通过网络界面执行此操作,但无法通过 sdk 解决。

到目前为止,我已经创建了一个新环境(此时应用程序已经存在),但该环境没有要运行的源代码。

const elasticBeanstalkClient = new ElasticBeanstalkClient({ 
  region: "eu-west-2",
  credentials: {
    accessKeyId: awsAccessKeyId,
    secretAccessKey: awsAccessKeySecret
  } 
});

const createEnvironmentCommand = new CreateEnvironmentCommand({
  ApplicationName: applicationName,
  EnvironmentName: environmentName,
  SolutionStackName: "64bit Amazon Linux 2 v5.4.2 running Node.js 14",
  VersionLabel: versionLabel
})

return elasticBeanstalkClient.send(createEnvironmentCommand);

CreateEnvironmentCommand 似乎没有我可以看到的源值。我应该如何告诉环境是从 s3 源创建的?

【问题讨论】:

    标签: javascript node.js amazon-web-services amazon-s3 amazon-elastic-beanstalk


    【解决方案1】:

    我可以看到您可以通过网络界面执行此操作,但无法通过 sdk 解决。

    EB 控制台在后台做了很多事情,让您看起来可以做到。使用 CDK,您必须自己做所有事情。这意味着您必须先createApplicationVersion。执行此操作时,您可以指定 S3 位置。

    【讨论】:

    • 谢谢,这真的很有帮助。所以我必须先调用 CreateEnvironmentCommand,然后再调用 createApplicationVersion?你知道我是否必须调用另一种方法来将应用程序链接到该环境,或者我是否需要通过将一些值传递给createApplicationVersion来做到这一点?
    • @Stretch0 创建CreateApplicationVersionRequest 时,指定versionLabel。然后在您的CreateEnvironmentCommand 中您可以引用标签。
    • 完美,成功了。感谢您的帮助@Marcin
    猜你喜欢
    • 2017-10-09
    • 1970-01-01
    • 2021-02-22
    • 2016-06-11
    • 1970-01-01
    • 2015-09-18
    • 2019-07-16
    • 1970-01-01
    • 2021-04-14
    相关资源
    最近更新 更多