AWS CloudFormation Fn :: Join - экранировать одинарные кавычки - PullRequest
0 голосов
/ 29 ноября 2018

Я хотел бы экранировать одинарные кавычки, чтобы они были частью строки.Что-то вроде этого:

!Join [ '', [ 'xyz', '.execute-api.eu-central-1.amazonaws.com', ''', ',', ' '' 'something' ] ]

Я хотел бы получить это:

xyz.execute-api.eu-central-1.amazonaws.com', 'something

Я использую его для безсерверной среды как переменную среды, которая рассматривает его как странг, такой, что онставит вокруг него еще две одинарные кавычки.

1 Ответ

0 голосов
/ 02 мая 2019

Я немного запутался в вашем утверждении Join, но вы можете включить одинарные кавычки, заключив их в двойные кавычки (не нужно экранировать).Вам также нужно обернуть запятые в двойные кавычки.Из документации без сервера:

Передача заголовка Cache-Control как «max-age = 120» означает, что шлюз API получит значение как «max-age = 120» (заключенный в одинарные кавычки)).

В .yml строки, содержащие:, {,}, [,], ,, &, *, #,?, |, -, <,>, =,!,%, @,`должны быть заключены в кавычки.

Таким образом, чтобы получить xyz.execute-api.eu-central-1.amazonaws.com', 'something, вы можете использовать следующее утверждение Join:

!Join [ 
  "", [
    "xyz", 
    ".execute-api.eu-central-1.amazonaws.com",
    "', '",
    "something" 
  ] 
]

Отказ от ответственности : я не совсемУбедитесь, что вы хотите, чтобы ваша выходная строка была, но это демонстрирует общую концепцию.

Для тех, кто не пишет это в JSON, вы можете использовать встроенную функцию Fn::Join в вашем файле serverless.yml для более полной структуры:

sameWeirdEndpoint:
  Fn::Join:
    - ""
    - - "xyz"
      - ".execute-api.eu-central-1.amazonaws.com"
      - "', '"
      - "something"    

Надеюсь, это поможет!

Ссылка: https://serverless.com/framework/docs/providers/aws/events/apigateway/#custom-request-templates

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...