Sem servidor - como passar o nome do intervalo S3 como uma variável de ambiente para meu aplicativo

Vladimir Kuznetsov

Preciso fornecer o nome do bucket S3, que sem servidor cria para mim, ao meu aplicativo. Aqui está uma versão simplificada do meu serverless.ymlarquivo.

service: dummy-service
app: dummy-service

custom:
  bucket: "I have no idea what to write here!"

provider:
  name: aws
  runtime: nodejs10.x
  region: eu-central-1
  iamRoleStatements:
    - Effect: Allow
      Action:
        - s3:PutObject
        - s3:GetObject
      Resource:
        - "Fn::Join":
          - ""
          - - "arn:aws:s3:::"
            - Ref: DummyBucket
            - "*"
  environment:
    BUCKET: ${self:custom.bucket}

resources:
  Resources:
    DummyBucket:
      Type: AWS::S3::Bucket

functions:
  createOrUpdate:
    handler: handler.dummy
    events:
      - http:
          path: dummy
          method: POST

Eu descobri como fazer uma referência na iamRoleStatementsseção. Mas não consigo entender como obtê-lo como uma string para a variável de ambiente.

Qualquer ajuda é bem vinda. Obrigado.

Erez

Você pode usar Refpara obter o nome do intervalo

service: dummy-service
app: dummy-service

custom:
  bucket:
    Ref: DummyBucket

provider:
  name: aws
  runtime: nodejs10.x
  region: eu-central-1
  iamRoleStatements:
    - Effect: Allow
      Action:
        - s3:PutObject
        - s3:GetObject
      Resource:
        - "Fn::Join":
          - ""
          - - "arn:aws:s3:::"
            - Ref: DummyBucket
            - "*"
  environment:
    BUCKET: ${self:custom.bucket}

resources:
  Resources:
    DummyBucket:
      Type: AWS::S3::Bucket

functions:
  createOrUpdate:
    handler: handler.dummy
    events:
      - http:
          path: dummy
          method: POST

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como passar uma variável de ambiente para uma função AWS Lambda usando a estrutura sem servidor?

Definir o nome do host como uma variável de ambiente no aplicativo de revisão Heroku

Como passar uma variável de ambiente semelhante a json para a execução do docker

Vagrantfile: Como faço para passar uma variável de ambiente de host com um cifrão sem escape?

Como definir a variável de ambiente para meu serviço de aplicativo no Azure?

Em um aplicativo Symfony 4, como faço para passar uma variável de ambiente para uma classe de serviço?

Como obter o url do gateway de API na variável de ambiente sem servidor

Como definir um array como uma variável de ambiente para as configurações do aplicativo

Como posso passar uma variável do meu post para o meu get?

Kotlin / Android Studio - Como posso passar uma variável de uma substituição divertida para o resto do aplicativo?

Nome do repositório como uma variável de ambiente de ação do GitHub?

Como passar uma variável de ambiente para o openshft via Jenkisfile

Como faço para passar por uma variável de ambiente via script npm?

Como passar o nome de uma variável de classe para uma função?

como passar uma variável de uma opção para o meu controlador?

Como faço para passar todas as variáveis de ambiente do meu shell para o script bash que ele chama?

Como definir uma variável de ambiente para credenciais do Google em um aplicativo heroku

Como passar a saída do cmdlet como um argumento para um aplicativo (.exe) sem uma variável intermediária?

Como passar uma lista como uma variável de ambiente?

Como você passa uma variável de ambiente do WSL para o executável do Windows

Como você passa uma variável de ambiente do WSL para o executável do Windows

Como passar o nome da variável de ambiente como argumento?

Como mudar o nome de uma variável de ambiente com uma variável diferente?

Como passar o valor r de uma variável de ambiente como um argumento CLI para um script NPM

Como posso passar uma variável de 'fora' para um aplicativo de reação?

Como você passa uma variável de ambiente para o Solr em execução no Docker quando a variável de ambiente só existe dentro do contêiner?

Chame a variável do objeto Python como uma função sem passar o objeto de chamada

Como obter o nome do intervalo de implantação gerado sem servidor?

Como faço para definir uma variável de ambiente?

TOP lista

quentelabel

Arquivo