AWS SAM - получить сообщение об ошибке: pywintypes.error: (5, 'CreateFile', 'Access is denied.')

Когда я запускаю следующую команду:

sam локальный вызов HelloWorldFunction --event ./events/event.json

я получаю следующее сообщение:

pywintypes.error: (5, 'CreateFile', 'Доступ запрещен.')

Я пытаюсь запустить lambda \ python локально, но получаю указанное выше сообщение об ошибке


person pb123    schedule 04.09.2019    source источник
comment
Вы когда-нибудь находили решение этой проблемы? У меня такая же проблема   -  person Varun    schedule 08.12.2019
comment
Извините, я не получил исправления для этой проблемы. Я решил использовать бессерверную структуру для запуска локальных лямбда-выражений   -  person pb123    schedule 11.12.2019


Ответы (1)


Проблема здесь заключается в том, что докер требует, чтобы у вас были права администратора при выполнении команд, которые SAM Local отправляет ему. Обычно эту проблему можно решить, запустив PowerShell от имени администратора. Вы должны иметь возможность запускать sam local start-api --debug в этом режиме.

Однако обычно вы хотите иметь возможность использовать это вместе с vscode, и для этого вам нужно найти обходной путь, состоящий из следующего:

  • Выставить демон на tcp: // localhost: 2375 без TLS
  • Создайте переменную среды с именем DOCKER_HOST=tcp://localhost:2375
  • Если вы находитесь за корпоративным прокси, вам также необходимо установить переменную среды NO_PROXY=localhost, чтобы ваш прокси не прерывал
  • (Я не знаю, нужно ли это): я также установил Sam Local в другую папку, отличную от папки по умолчанию C:/Program Files, чтобы не помещать установленное программное обеспечение в папку, защищенную администратором.

Другой вариант (который я сам не проверял), который должен быть возможен, - это добавить вашего пользователя в группу docker-user. Поскольку я мало что знаю об этой опции, я просто оставлю эту подсказку как есть.

В любом случае вы можете проверить, работает ли это, запустив sam local start-api --debug в папке вашего проекта sam. Теперь вы также должны иметь возможность запускать локальный инструмент отладки из vscode:

введите здесь описание изображения

Я знаю, что это не совсем ответ на ваш вопрос, но я надеюсь, что это поможет любому, у кого похожие проблемы из Google!

person Andreas Forslöw    schedule 09.01.2020