Есть ли способ указать уже созданную корзину развертывания s3 в без сервера? - PullRequest
0 голосов
/ 05 июля 2018

Таким образом, в настоящее время мы используем без сервера в нашем недавнем проекте, и наш клиент предоставил нам пользователя aws iam, потому что мы будем развертывать его ресурсы aws. Проблема в том, что они не дают пользователю создать политику s3. Создание ведра s3 будет сделано ими вручную. Так где же в serverless.yml я могу добавить созданную ими корзину s3 и сделать так, чтобы без сервера использовать ее как корзину развертывания вместо создания новой?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Я думаю, что ОП спрашивает о том, как указать сегмент развертывания Serverless S3, а не о том, как ссылаться на случайный сегмент в лямбда-функции.

Вы можете установить область развертывания в serverless.yml следующим образом:

provider:
    deploymentBucket: <bucket name>
0 голосов
/ 05 июля 2018

Вы можете использовать параметры в скрипте формирования облака безсерверных приложений:

"Parameters" : {
  "S3BucketArn" : {
    "Default" : "arn:aws:s3:::somebucketarndefaults",
    "Description" : "The ARN for the S3 Bucket",
    "Type" : "String"
  }
}

Я предполагаю, что вы используете это в функции без сервера (лямбда), поэтому вы можете передать это с помощью переменных окружения

 "Resources" : {
    "MyAmazingFunction" : {
      "Type" : "AWS::Serverless::Function",
      "Properties": {
        "Handler": "functions::handle",
        // Yada yada
    "Environment" : {
          "Variables" : {
            "S3Arn": {"Ref" : "S3BucketArn"}
          }
        }
      }
    }

Тогда внутри кода просто вытащите Арн, используя переменную окружения S3Arn.

...