首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用多个帐户时无法创建新阶段?

使用多个帐户时无法创建新阶段?
EN

Stack Overflow用户
提问于 2016-03-15 16:07:02
回答 1查看 463关注 0票数 3

所以我对我的不同的环境有多个帐户,当我试图创建一个新的阶段时,我得到了“桶存在,你没有权限”。在检查我的AWS权限之后,我的dev和test是相同的;知道为什么会发生这种情况吗?

对于dev,我对创建;cf、s3桶、sls文件夹中的项目没有问题。

为了进行测试,我得到了上面的错误;桶还不存在,它说桶存在,我没有权限。

第一轮:

代码语言:javascript
复制
yaos-imac:serverless yao$ sls project create
 _______                             __
|   _   .-----.----.--.--.-----.----|  .-----.-----.-----.
|   |___|  -__|   _|  |  |  -__|   _|  |  -__|__ --|__ --|
|____   |_____|__|  \___/|_____|__| |__|_____|_____|_____|
|   |   |             The Serverless Application Framework
|       |                           serverless.com, v0.5.0
`-------'

Serverless: Initializing Serverless Project...
Serverless: Enter a name for this project:  (serverless-vkkxnm) planet-express
Serverless: Enter a unique project bucket name (using a domain is recommended):  (serverless-vkkxnm.com) sls.planet-express.com
Serverless: Pick the primary region for your project:
  > us-east-1
    us-west-2
    eu-west-1
    ap-northeast-1
Serverless: Do you want to create a new stage and region for this project?
  > Yes
    No
Serverless: Enter a new stage name for this project:  dev
Serverless: For the "dev" stage, do you want to use an existing Amazon Web Services profile or create a new one?
  > Existing Profile
    Create A New Profile
Serverless: Select a profile for your project:
  > dev
    test
Serverless: Creating stage "dev"...
Serverless: Creating region "us-east-1" in stage "dev"...
Serverless: Deploying resources to stage "dev" in region "us-east-1" via Cloudformation (~3 minutes)...
Serverless: / Serverless: Creating your project bucket on S3: sls.planet-express.com...
Serverless: Successfully deployed "dev" resources to "us-east-1"
Serverless: Successfully created region "us-east-1" within stage "dev"
Serverless: Successfully created stage "dev"
Serverless: Successfully initialized project "planet-express"

现在我试图创造一个新的阶段:

代码语言:javascript
复制
yaos-imac:planet-express yao$ sls stage create
Serverless: Enter a new stage name for this project:  test
Serverless: For the "test" stage, do you want to use an existing Amazon Web Services profile or create a new one?
  > Existing Profile
    Create A New Profile
Serverless: Select a profile for your project:
    dev
  > test
Serverless: Creating stage "test"...
Serverless: Select a new region for your existing stage:
  > us-east-1
    us-west-2
    eu-west-1
    ap-northeast-1
Serverless: Creating region "us-east-1" in stage "test"...
Serverless: Deploying resources to stage "test" in region "us-east-1" via Cloudformation (~3 minutes)...
/Users/yao/.node/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:49
        fn = function () { throw arg; };
                           ^

ServerlessError: ServerlessError: S3 Bucket "sls.planet-express.com" already exists and you do not have permissions to use it
    at new ServerlessError (/Users/yao/.node/lib/node_modules/serverless/lib/Error.js:17:11)
    at ResourcesDeploy.<anonymous> (/Users/yao/.node/lib/node_modules/serverless/lib/actions/ResourcesDeploy.js:252:21)
    at ResourcesDeploy.tryCatcher (/Users/yao/.node/lib/node_modules/serverless/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/Users/yao/.node/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:503:31)
    at Promise._settlePromise (/Users/yao/.node/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:560:18)
    at Promise._settlePromise0 (/Users/yao/.node/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:605:10)
    at Promise._settlePromises (/Users/yao/.node/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:680:18)
    at Async._drainQueue (/Users/yao/.node/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:126:16)
    at Async._drainQueues (/Users/yao/.node/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:136:10)
    at Immediate.Async.drainQueues [as _onImmediate] (/Users/yao/.node/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:16:14)
    at processImmediate [as _immediateCallback] (timers.js:368:17)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-08 01:11:45

正如在评论中已经回答的那样,桶名是全局惟一的。如果使用一个AWS帐户创建了一个项目,则不能使用另一个AWS帐户在同一个项目中添加一个新阶段,因为桶名将不可用,即使它位于另一个AWS区域。

根据文档

亚马逊的S3桶名是全局唯一的,而不管在哪个区域创建桶。

在S3中托管静态网站时,这是一个大问题,因为桶名必须与域名匹配。如果已经使用了桶名,则不能将其保存在那里。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36016455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档