GOOGLE ADS

пятница, 15 апреля 2022 г.

ОШИБКА: (gcloud.run.deploy) аргумент --set-env-vars: неверный синтаксис для dict arg

Я использую Cloud Code (расширение для кода Visual Studio) и во время развертывания пытаюсь установить несколько переменных среды, например:

KEY1:value1
KEY2:value2,value3

Но у меня есть эта ошибка:

Не удалось развернуть приложение. Ошибка: ОШИБКА: (gcloud.run.deploy) аргумент --set-env-vars: неверный синтаксис для dict arg: [value3]. Пожалуйста, смотрите gcloud topic flags-fileилиgcloud topic escapingдля получения информации о предоставлении значений флагов списка или словаря со специальными символами.,Использование: gcloud run deploy [[SERVICE] --namespace=NAMESPACE] [необязательные флаги] необязательные флаги могут быть --add-cloudsql-instances | --allow-unauthenticated | --аргументы | --асинхронный | --binary-авторизация | --разбитое стекло | --clear-binary-авторизация | --clear-cloudsql-экземпляры | --clear-config-maps | --clear-env-vars | --clear-ключ | --очистить метки | --clear-post-key-revocation-action-type | --clear-секреты | --clear-vpc-connector | --кластер | --кластер-местоположение | --команда | --параллельность | --подключение | --контекст | --процессор | --cpu-throttling | --env-vars-файл | --помощь | --изображение | --вход | --ключ | --кубеконфиг | --метки | --max-экземпляров | --память | --мин-экземпляры | --пространство имен | --платформа | --порт | --post-key-revocation-action-type | --регион | --remove-cloudsql-instances | --remove-config-карты | --remove-env-vars | --удалить-метки | --удалить-секреты | --revision-суффикс | --service-аккаунт | --set-cloudsql-экземпляры | --set-config-карты | --set-env-vars | --set-секреты | --источник | --тег | --тайм-аут | --нет трафика | --update-config-карты | --update-env-vars | --обновление-метки | --обновление-секреты | --использовать-http2 | --vpc-коннектор | --vpc-egress Для получения подробной информации об этой команде и ее флагах запустите: gcloud run deploy --help

Так что, кажется, запятую нужно экранировать. Как это сделать через интерфейс Cloud Code, пожалуйста?


Решение проблемы

Если вы установите env-var следующим образом: --set-env-var "A=B,C,D"для gcloud, он будет рассматривать символ запятой (,) как объявление другой переменной среды и попытается разделить значение на несколько переменных среды. Это объясняется здесь подробно.

Однако, чтобы предотвратить разделение запятыми, вам нужно указать другой пользовательский разделитель, который точно не будет встречаться в вашей строке значения, например ##:

--set-env-vars "^##^A=B,C,D"

Вы также можете использовать такой формат, как указано в официальных документах:

--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...