Я новичок в Rust и AWS Lambda. Я разрабатываю нашу первую функцию, которая будет запускаться подпиской SQS с пакетной обработкой. Затем SQS будет запущен из темы SNS. Мы используем шаблон CloudFormation для настройки наших стеков и используем собственный конвейер CI/CD, запускаемый из репозитория GitHub.
Мы используем пакет cargo lambda
для разработки функции. https://github.com/cargo-lambda/cargo-lambda
Я тестирую пример кода из репозитория AWS Labs. Когда я тестирую лямбду, я получаю эту ошибку:
{
"errorType": "Runtime.ExitError",
"errorMessage": "RequestId: fa19660a-b221-4c0a-a61b-6f0239bdd0a6 Error: Runtime exited with error: signal: illegal instruction"
}
Я протестировал его на вкладке «Тест» в консоли AWS с помощью теста шаблона SQS.
Не уверен, почему. Я не делал никаких изменений в коде примера. Ошибка не дает мне никакого представления о том, что не так с моей настройкой.
Я увеличил память до 1024 МБ, исходя из некоторых тем в SO[1] [2] [3]. Пока не повезло. Я вижу двоичный файл начальной загрузки внутри каталога lambda.
Кто-нибудь может помочь?
Я обновил вопрос. Дайте мне знать, если ему нужно больше контекста.
Это связано с ошибкой компиляции. Мы используем его в нашем конвейере CI/CD. Это рабочий файл, который работает:
name: Build
# This build image is compatable with AWS Linux 2
runs-on: ubuntu-latest
strategy:
matrix:
target:
- x86_64-unknown-linux-gnu
steps:
- name: Checkout source Git repo
uses: actions/checkout@v3
// More workflow steps
- name: Run Rust Cargo Build
uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --release --all-features --target=${{ matrix.target }}
К сожалению, вы не предоставили достаточно информации, чтобы мы могли вам помочь.