无服务器-在当前堆栈中使用其他堆栈中的相同存储桶

时间:2019-03-26 12:58:53

标签: serverless-framework

我有2个使用AWS Cloud在无服务器上运行的堆栈,我想在堆栈A和堆栈B之间共享S3存储桶。

在堆栈A上,我的输出如下:

Outputs:
  EvidenceEventsBucketName:
    Value:
      Ref: EvidenceEventsKinesisFirehoseBucket          
    Export:
      Name: ${self:service}-evidences-events-bucket-${opt:stage, self:provider.stage}

在堆栈B上,我正在尝试导入它:

evidenceDataSent:
  handler: evidences.handlers.process_sent_events
  memorySize: 512
  timeout: 900      
  events:
    - s3:
        bucket: 
          Fn::ImportValue: 'twilio-stream-kinesis-evidences-events-bucket-prod'
        event: s3:ObjectCreated:*
        rules:
          - prefix: raw/

出了点问题,因为当我尝试部署它时,出现以下错误:

Type Error ---------------------------------------------

name.replace is not a function

如何在堆栈之间共享存储桶?

1 个答案:

答案 0 :(得分:0)

导出然后导入的方式应该可以工作。我可能是错的,但与我的做法相比,您的Fn:Import看上去很奇怪。请尝试使用缩短的语法:

bucket: !ImportValue twilio-stream-kinesis-evidences-events-bucket-prod