Quarto — рисунки
Quarto включает ряд функций, упрощающих работу с рисунками и подрисунками, а также для компоновки панелей, содержащих несколько рисунков, таблиц или другого содержимого.
Основы рисунка
В уценке Pandoc рисунок создается всякий раз, когда изображение с подписью появляется само по себе в абзаце. Например:

Это приводит к следующей обработке различных типов выходных данных:
Обратите внимание, что для выходных изображений в формате LaTeX/PDF нумерация выполняется автоматически (вы можете организовать нумерацию рисунков в других форматах с помощью перекрестных ссылок).
Размер фигуры
По умолчанию рисунки отображаются с использованием их фактического размера (с учетом ограничений по ширине, накладываемых страницей, на которой они отображаются). Вы можете изменить размер отображения, добавив атрибуты width
и
к рисунку. Например:
{ширина=300}
Обратите внимание, что если указано только ширина
, то высота
вычисляется автоматически. Если вам нужно изменить поведение по умолчанию, просто добавьте явный атрибут height
.
Единицами по умолчанию для ширины
и высоты
являются пиксели. Вы также можете указать размеры в процентах или в обычных единицах измерения, таких как дюймы или миллиметры. Например:
{ширина=80%} {ширина=4 дюйма}
Связанные фигуры
При рендеринге с помощью Quarto вы можете заключить рисунок в ссылку, и он по-прежнему будет обрабатываться на выходе как рисунок с подписью. Например:
[](https://en.wikipedia.org/wiki/Elephant)
Выравнивание фигуры
По умолчанию рисунки выравниваются по центру. Добавьте к изображению атрибут
fig-align
, чтобы использовать другое выравнивание. Например:
{fig-align="left"}
Обратите внимание, что подписи рисунков выровнены по левому краю, чтобы вместить более длинный текст подписи (который выглядит странно, когда выравнивается по центру).
Альтернативный текст
Вы можете добавить альтернативный текст к рисунку, добавив к изображению атрибут fig-alt
. Например, следующий Markdown…
{fig-alt="Рисунок слона."}
… создаст следующий HTML-код с соответствующим тегом alt:
Обратите внимание, что подпись к рисунку, заголовок и замещающий текст могут быть разными. Например, следующий код…
{fig-alt="Рисунок слона."}
… создает этот HTML:
">
Мультиформатные фигурки
Вы можете написать уценку, которая обеспечивает отдельный формат файла изображения в зависимости от целевого выходного формата. Для этого просто уберите расширение, например:

По умолчанию будет искать слон.png
, однако, если вы выполняете рендеринг в PDF, он будет искать слон.pdf
. Это поведение можно настроить с помощью параметра default-image-extension
. Например:
формат: HTML: расширение изображения по умолчанию: svg pdf: расширение-изображения-по-умолчанию: текс
Применение нескольких параметров
Чтобы объединить вышеуказанные методы, разделите аргументы пробелом, например:
{fig-alt="Рисунок слона." fig-align="left" ширина=20%}
Перекрестные ссылки
Вы можете делать перекрестные ссылки на рисунки, добавляя к ним идентификатор с префиксом fig-
, а затем ссылаясь на рисунок с помощью префикса @
. Например:
{#fig-elephant} Это хорошо иллюстрирует @fig-elephant.
Для рисунков, созданных ячейками исполняемого кода, включите метку
с цифрой 9.0017 fig- префикс, чтобы сделать их перекрестными ссылками. Например:
Для демонстрации линейного графика см. @fig-line-plot. ```{питон} #| этикетка: рис-линия-сюжет #| fig-cap: "Линейный сюжет" импортировать matplotlib.pyplot как plt plt.plot([1,23,2,4]) plt.show() ```
Префикс метки
Чтобы на рисунок можно было ссылаться, его метка должна начинаться с префикса fig-
.
Дополнительную информацию см. в статье о перекрестных ссылках.
Субфигуры
Если у вас есть несколько рисунков, которые отображаются как группа, вы можете создать блок фигур, чтобы заключить их. Например:
::: {#fig-elephants layout-ncol=2} {#fig-surus} {#fig-hanno} Знаменитые слоны :::
Опять же, последний абзац содержит основной заголовок, а отдельные рисунки содержат подзаголовки. Вот как это выглядит при отображении в формате HTML:
Обратите внимание, что пустые строки между рисунками (и между последним рисунком и подписью) обязательны (это указывает на то, что эти изображения принадлежат отдельным абзацам, а не являются несколькими изображениями в одном абзаце).
Также обратите внимание, что мы также использовали атрибут layout-ncol
для указания макета с двумя столбцами. В следующем разделе более подробно рассматривается настройка макетов фигур.
Фигурные панели
Выше показано расположение двух рядом стоящих рисунков с подписями и основной подписью. Вы можете хотеть или не хотеть обработки заголовка/подзаголовка, и вы также можете использовать несколько рядов рисунков. Все эти вариации возможны.
Чтобы разместить два рисунка с их собственными автономными подписями (и без основной подписи), просто удалите 9 символов.0017 #fig идентификаторы и основной заголовок внизу:
::: {макет-ncol=2}   :::
Вы также можете полностью удалить подписи:
::: {макет-ncol=2}   :::
Несколько рядов
Если у вас более 2 изображений, вы можете разместить их в нескольких рядах. Это можно сделать с помощью атрибута layout-nrow . Например:
::: {layout-nrow=2}     :::
Возможно более сложное расположение фигур (например, ряды с разным расположением столбцов). Дополнительные сведения см. в разделе «Пользовательские макеты» ниже.
Разделы фигур
Вы можете рассматривать любой контент уценки, который вы хотите, как рисунок, заключив его в блок div Pandoc с идентификатором, перед которым стоит #fig-
. Например, здесь мы создаем фигуру со встроенным iframe:
::: {#фиг-слон} youtube.com/embed/SNggmeilXDQ"> Слон :::
Обратите внимание, что последний абзац в блоке div используется в качестве подписи к рисунку.
Фигурки из латекса
В этом разделе описываются некоторые параметры обработки рисунков, характерные для вывода LaTeX.
Очень важно отметить, что использование опций fig-env
и fig-pos
, описанных ниже, приведет к созданию плавающей среды LaTeX (чаще всего \begin{figure}
). В зависимости от того, где этот LaTeX генерируется, он (например, находится ли он в другом \begin{figure}
) это может привести к созданию недействительного LaTeX. На всякий случай эти атрибуты обычно следует использовать только для изображений на самом верхнем уровне вашего документа.
Окружающая среда
Существует ряд пакетов LaTeX, которые предоставляют настраиваемые среды для фигур. Например, пакет mdframed включает в себя среду mdframed
, используемую для заключения фигур в особый стиль рамки. По умолчанию Quarto использует стандартную среду
фигура
, но вы можете использовать fig-env
атрибут, чтобы указать пользовательский. Например:
--- title: "Примечания" формат: pdf: включить в заголовок: текст: | \usepackage{mdframed} --- {fig-env="mdframed"}
Положение рисунка
Рисунок LaTeX по умолчанию представляет собой плавающую среду, поэтому конкретное место его появления в документе будет зависеть от его размера и характера другого содержимого вокруг него. Вы можете осуществлять некоторый контроль над этим поведением, используя
рис-поз.
опция. Опция fig-pos
предоставляет спецификатор размещения для среды фигура
. Например, ht
в этом фрагменте LaTeX — это fig-pos
:
\begin{figure}[ht] \конец{рисунок}
Вы можете указать fig-pos
либо на уровне документа, либо в качестве опции блока исполняемого кода, либо в уценке. Здесь делаем все три:
--- title: "Мой документ" формат: pdf: фиг-поз: 'h' --- ```{питон} #| фиг-поз: 'т' ``` {fig-pos='b'}
Дополнительные сведения о расположении фигурок LaTeX см. в этой статье.
Рисунки и блоки кода
Если ваша фигура была сгенерирована исполняемым блоком кода и код был включен в вывод (
), то fig-pos
по умолчанию будет установлен на H
(на постарайтесь сохранить его вместе с кодом, который его сгенерировал). Во всех остальных случаях используется LaTeX-обработка позиции рисунка по умолчанию, если только вы не укажете явно fig-pos
.
PGF/Ti
k Графика Z Если вы создаете вывод LaTeX, Quarto автоматически создаст правильный LaTeX для уцененных изображений, которые ссылаются на файлы .tex
, содержащие векторную графику PGF/Ti k Z. Например, следующие изображения уценки:
 {ширина=80%}
Будет записано в LaTeX как:
\input{image1.tex} \resizebox{0.8\linewidth}{!}{\input{image2.tex}}
Как показано выше, ширина
и высота
проценты автоматически преобразуются в \linewidth
в масштабе. В качестве альтернативы вы можете указать пользовательский LaTeX для аргументов width
и height
\resizebox
.
Расположение подписей
По умолчанию подписи к рисункам располагаются под рисунками. В форматах HTML и PDF это поведение можно изменить с помощью параметра fig-cap-location
. Например:
--- fig-cap-location: сверху ---
Обратите внимание, что этот параметр указан на верхнем уровне, поэтому его можно использовать как в формате PDF, так и в формате HTML. Если вы ориентируетесь только на один формат, вы можете поместить его вместе с другими специфическими параметрами формата
.
Допустимые значения для местоположения подписи включают:
верх | Расположите подпись над рисунком. |
снизу | Расположите подпись под рисунком. |
поля | Расположите заголовок на полях. |
Дополнительную информацию о размещении подписей на полях см. в статье о макете статьи.
Пользовательские макеты
В примерах выше использовались атрибуты layout-ncol
или layout-nrow
для создания простых макетов, в которых все столбцы имеют одинаковые размеры. Атрибут layout
позволяет создавать гораздо более сложные макеты.
Например, это определяет макет с двумя фигурами одинакового размера в первой строке, а затем еще одно изображение, которое охватывает всю вторую строку:
::: {layout="[[1,1], [1]]"}    :::
Атрибут макета
представляет собой двумерный массив, в котором первое измерение определяет строки, а второе — столбцы. В этом случае "layout="[[1,1], [1]]"
переводится как: создать две строки, первая из которых имеет два столбца одинакового размера, а вторая - один столбец.0003
Обратите внимание, что числа в строке являются произвольными и не должны в сумме составлять определенную сумму. Поэтому вы можете использовать любую схему, которая наиболее естественна. Например, здесь мы определяем столбцы, занимающие различную ширину строки в процентах:
.::: {layout="[[70,30], [100]]"}    :::
Вы также можете использовать отрицательные значения для создания пространства между элементами. Например:
::: {layout="[[40,-20,40], [100]]"}    :::
Вертикальное выравнивание
Если у вас есть макет с рядом изображений разной высоты, вы можете управлять их выравниванием по вертикали с помощью атрибута layout-valign
. Простой пример:
::: {layout="[25,-2,10]" layout-valign="bottom"}   :::
Обратите внимание, что выравнивание по вертикали не ограничивается изображениями. Вы также можете выравнивать по вертикали любые другие элементы, включенные в панель.
Вычисления
Фигурки
Обратите внимание, что атрибуты макета рисунка также работают для рисунков, созданных блоками исполняемого кода. Вот примеры для Jupyter и Knitr:
- Jupyter
- Knitr
```{python} #| макет-ncol: 2 #| фиговая шапка: #| - «Линейный сюжет 1» #| - «Линейный сюжет 2» импортировать matplotlib.pyplot как plt plt.plot([1,23,2,4]) plt.show() plt.plot([8,65,23,90]) plt.show() ```
```{r} #| макет-ncol: 2 #| фиговая шапка: #| - «Скорость и тормозной путь автомобилей» #| - «Давление паров ртути в зависимости от температуры» участок (автомобили) участок (давление) ```
Обратите внимание, что в этих примерах мы также используем опцию fig-cap
для добавления подписи к каждой из сгенерированных фигур.
Подзаголовки
Вы можете создавать подзаголовки для вычислительного вывода, комбинируя параметры fig-cap
и fig-subcap
. При применении подписей к результатам вычислений вы можете дополнительно включить метку
с префиксом fig-
— если вы сделаете это, рисунок будет пронумерован и на него можно будет ссылаться.
- Jupyter
- Knitr
```{python} #| лейбл: fig-charts #| fig-cap: "Графики" #| рис-подкап: #| - "Первый" #| - "Второй" #| макет-ncol: 2 импортировать matplotlib.pyplot как plt plt.plot([1,23,2,4]) plt.show() plt.plot([8,65,23,90]) plt.show() ```
```{r} #| лейбл: fig-charts #| fig-cap: "Графики" #| рис-подкап: #| - "Легковые автомобили" #| - "Давление" #| макет-ncol: 2 участок (автомобили) участок (давление) ```
Пользовательский макет
Макет
работает одинаково для фигурок производства Knitr или Jupyter. Например, вот кусок кода Rmd, который создает 3 графика и определяет для них пользовательский макет:
```{р} #| макет: [[45,-10, 45], [100]] участок (автомобили) участок (давление) участок (мткары) ```
Макет блока
Хотя приведенные выше примеры иллюстрируют компоновку рисунков, важно отметить, что атрибуты компоновки можно использовать для компоновки содержимого блока любого типа. Например, здесь мы размещаем 2 списка рядом:
::: {макет-ncol=2} ### Список один - Пункт А - Пункт Б - Пункт С ### Второй список - Пункт Х - Пункт Y - Пункт З :::
Обратите внимание, что заголовки автоматически объединяются с блоком, который следует за ними, поэтому в этой уценке нужно разместить всего 2 столбца. Вот пример абзаца рядом с маркированным списком (без заголовков):
::: {макет-ncol=2} - Пункт Х - Пункт Y - Пункт З Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur gravida eu Erat et Fring. Morbi congue augue vel eros ullamcorper, eget convallis tortor sagittis. Fusce sodales viverra mauris a fringilla. Donec feugiat, justo eu blandit placerat, enim dui volutpat turpis, eu dictum lectus urna eu urna. Mauris sed massa ornare, interdum ipsum a, semper massa. :::
Создание образов контейнеров Lambda — AWS Lambda
Создание образов контейнеров Lambda — AWS LambdaПредварительные условияТипы изображенийИнструменты контейнераНастройки образа контейнераСоздание образов из базовых образов AWSСоздание образов из альтернативных базовых образовЗагрузить образ в репозиторий Amazon ECRСоздать образ с помощью инструментария AWS SAM
AWS предоставляет набор базовых образов с открытым исходным кодом, которые можно использовать для
создайте свой образ контейнера. Эти базовые образы включают в себя интерфейс времени выполнения
client для управления взаимодействием между Lambda и кодом вашей функции.
Примеры приложений, включая пример Node.js и пример Python, см. Поддержка образа контейнера для Lambda в блоге AWS.
Чтобы сократить время, необходимое для активации функций контейнера Lambda, см. раздел Использование многоэтапных сборок в документации Docker. Чтобы создавать эффективные образы контейнеров, следуйте рекомендациям по написанию Dockerfiles.
Примечание
Образы контейнеров не поддерживаются для функций Lambda в регионе Ближнего Востока (ОАЭ).
Темы
- Базовые образы для Lambda
- Локальное тестирование образов контейнеров Lambda
- Предварительные условия
- Типы образов
- Инструменты контейнера
- Настройки образа контейнера 9 0369
- Создание образов из базовых образов AWS
- Создание образов из альтернативных базовых образов
- Загрузите образ в репозиторий Amazon ECR
- Создайте образ с помощью набора инструментов AWS SAM
Предварительные условия
Установите интерфейс командной строки AWS (AWS CLI) версии 2 и Docker CLI. Кроме того, обратите внимание на следующие требования:
Образ контейнера должен реализовывать Lambda Runtime API. АМС клиенты интерфейса среды выполнения с открытым исходным кодом реализуют API. Ты можешь добавьте клиент интерфейса времени выполнения в предпочтительный базовый образ, чтобы сделать его совместимым с Lambda.
Образ контейнера должен работать в файловой системе, доступной только для чтения. Ваш функциональный код может получить доступ к доступный для записи каталог
/tmp
с объемом хранилища от 512 МБ до 10 240 МБ с шагом 1 МБ.Пользователь Lambda по умолчанию должен иметь возможность читать все файлы, необходимые для запуска кода вашей функции. лямбда следует рекомендациям по безопасности, определяя пользователя Linux по умолчанию с минимальными привилегиями. Проверять что код вашего приложения не зависит от файлов, запуск которых другим пользователям Linux запрещен.
Lambda поддерживает только образы контейнеров на базе Linux.
Lambda предоставляет базовые образы для нескольких архитектур. Однако изображение, которое вы создаете для своей функции, должно только одна из архитектур. Lambda не поддерживает функции, использующие мультиархитектурный контейнер. изображений.
Типы образов
Можно использовать базовый образ, предоставленный AWS, или альтернативный базовый образ, например Alpine или Debian. лямбда поддерживает любое изображение, соответствующее одному из следующих форматов манифеста изображения:
Lambda поддерживает максимальный размер несжатого изображения 10 ГБ, включая все слои.
Инструменты контейнера
Чтобы создать образ контейнера, вы можете использовать любой инструмент разработки, который поддерживает один из следующих контейнеров. форматы манифеста образа:
Например, вы можете использовать интерфейс командной строки Docker для создания, тестирования и развертывания образов контейнеров.
Параметры образа контейнера
Lambda поддерживает следующие параметры образа контейнера в Dockerfile:
ENTRYPOINT — указывает абсолютный путь к точке входа приложения.
CMD — указывает параметры, которые вы хотите передать с помощью ENTRYPOINT.
WORKDIR — указывает абсолютный путь к рабочему каталогу.
ENV — указывает переменную среды для лямбда-функции.
Примечание
Lambda игнорирует значения любых неподдерживаемых параметров образа контейнера в Dockerfile.
Дополнительные сведения о том, как Docker использует параметры образа контейнера, см. в разделе ENTRYPOINT в Dockerfile. ссылка на веб-сайте Docker Docs. Дополнительные сведения об использовании ENTRYPOINT и CMD см. в разделе Демистификация ENTRYPOINT и CMD в Docker на веб-сайте Блог AWS с открытым исходным кодом.
Вы можете указать параметры образа контейнера в файле Dockerfile при создании образа. Вы также можете
переопределить эти конфигурации с помощью консоли Lambda или Lambda API. Это позволяет развертывать несколько функций
которые развертывают один и тот же образ контейнера, но с разными конфигурациями среды выполнения.
Предупреждение
При указании ENTRYPOINT или CMD в Dockerfile или в качестве переопределения убедитесь, что вы вводите абсолютный путь. Также не используйте символические ссылки в качестве точки входа в контейнер.
Создание образов из базовых образов AWS
Чтобы создать образ контейнера для новой функции Lambda, вы можете начать с базового образа AWS для Lambda. лямбда предоставляет два типа базовых образов:
Базовый образ для нескольких архитектур
Укажите один из основных тегов изображения (например,
python:3.9
илиjava:11
), чтобы выбрать этот тип изображения.Базовый образ для конкретной архитектуры
Укажите тег изображения с суффиксом архитектуры.
Например, укажите
3.9-arm64
, чтобы выбрать базовый образ arm64 для Python 3.9.
Вы также можете использовать альтернативный базовый образ из другого реестра контейнеров. Lambda предоставляет среду выполнения с открытым исходным кодом интерфейсные клиенты, которые вы добавляете в альтернативный базовый образ, чтобы сделать его совместимым с Lambda.
Примечание
AWS периодически предоставляет обновления базовых образов AWS для Lambda. Если ваш Dockerfile содержит имя образа в свойстве FROM, ваш клиент Docker извлекает последнюю версию образа из репозитория Amazon ECR. К использовать обновленный базовый образ, необходимо перестроить образ контейнера и обновить код функции.
Чтобы создать образ из базового образа AWS для Lambda
На локальном компьютере создайте каталог проекта для новой функции.
Создайте каталог с именем
приложение
в каталоге проекта, а затем добавьте свой код обработчика функции в каталог приложения.Используйте текстовый редактор для создания нового Dockerfile.
Базовые образы AWS содержат следующие переменные среды:
Установите все зависимости в каталоге ${LAMBDA_TASK_ROOT} вместе с обработчиком функции, чтобы гарантировать чтобы среда выполнения Lambda могла найти их при вызове функции.
Ниже показан пример Dockerfile для Node.js, Python и Ruby:
Создайте образ Docker с помощью команды
docker build
. Введите имя для изображения. следующий пример называет изображениепривет-мир
.docker build -t
привет-мир
.Запустите образ Docker с помощью команды
docker run
. Для этого примера введитеhello-world
в качестве имени изображения.docker run -p 9000:8080
привет-мир
(необязательно) Протестируйте приложение локально с помощью интерфейса среды выполнения.
эмулятор. Из нового окна терминала отправьте событие на следующую конечную точку, используя
завиток
команда:curl -XPOST "http://localhost:9000/2015-03-31/функции/функции/вызовы" -d '{}'
Эта команда вызывает функцию, работающую в образе контейнера, и возвращает ответ.
Создание образов из альтернативных базовых образов
Предварительные условия
Интерфейс командной строки AWS
Рабочий стол Docker
Код вашей функции
Для создания образа с использованием альтернативного базового образа
Выберите базовый образ. Lambda поддерживает все дистрибутивы Linux, такие как Alpine, Debian и Ubuntu.
На локальном компьютере создайте каталог проекта для новой функции.
Создайте каталог с именем
app
в каталоге проекта, а затем добавьте код обработчика функции в приложение.каталог.
Используйте текстовый редактор для создания нового Dockerfile со следующей конфигурацией:
Задайте для свойства
FROM
URI базового образа.Добавьте инструкции по установке клиента интерфейса среды выполнения.
Установите свойство
ENTRYPOINT
для вызова клиента интерфейса среды выполнения.Установите аргумент
CMD
, чтобы указать обработчик функции Lambda.
В следующем примере показан Dockerfile для Python:
# Определить каталог функций ARG FUNCTION_DIR="/функция" ИЗ python: buster как образ сборки # Установить зависимости сборки aws-lambda-cpp RUN apt-получить обновление && \ apt-получить установку -y \ г++ \ делать \ cmake \ распаковать \ libcurl4-openssl-dev # Включить глобальный аргумент на этом этапе сборки ARG FUNCTION_DIR # Создать каталог функций ЗАПУСК mkdir -p ${FUNCTION_DIR} # Скопировать код функции КОПИРОВАТЬ приложение/* ${FUNCTION_DIR} # Установить клиент интерфейса времени выполнения ЗАПУСТИТЬ установку пипа \ --цель ${FUNCTION_DIR} \ ужасный # Многоэтапная сборка: возьмите новую копию базового образа ОТ питона: Бастер # Включить глобальный аргумент на этом этапе сборки ARG FUNCTION_DIR # Установить рабочий каталог как корневой каталог функции РАБОЧИЙ КАТАЛОГ ${FUNCTION_DIR} # Скопируйте зависимости образа сборки КОПИРОВАТЬ --from=build-image ${FUNCTION_DIR} ${FUNCTION_DIR} ТОЧКА ВХОДА [ "/usr/local/bin/python", "-m", "awslambdaric" ] CMD [ "app.
handler" ]
Создайте образ Docker с помощью команды
docker build
. Введите имя для изображения. В следующем примере изображение называетсяhello-world
.docker build -t
привет-мир
.(необязательно) Протестируйте приложение локально с помощью интерфейса Runtime. эмулятор.
Загрузите образ в репозиторий Amazon ECR
Чтобы загрузить изображение в Amazon ECR и создать функцию Lambda
Запустите команду get-login-password для аутентификации интерфейса командной строки Docker в вашем реестре Amazon ECR.
aws ecr get-login-password --region
us-east-1
| docker login --username AWS --password-stdin111122223333
.dkr.ecr.сша-восток-1
.amazonaws.comСоздайте репозиторий в Amazon ECR с помощью команды create-repository.
aws ecr create-repository --repository-name
hello-world
--image-scanning-configuration scanOnPush=true --image-tag-mutability MUTABLEВ случае успеха вы увидите такой ответ:
{ "хранилище": { "repositoryArn": "arn:aws:ecr:us-east-1:111122223333:repository/hello-world", "registryId": "111122223333", "repositoryName": "привет-мир", "repositoryUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/hello-world", "createdAt": "2023-03-09Т10:39:01+00:00", "imageTagMutability": "ИЗМЕНЯЕМЫЙ", "imageScanningConfiguration": { "сканонпуш": правда }, "конфигурация шифрования": { "тип шифрования": "AES256" } } }
Скопируйте репозиторий
Uri
из выходных данных на предыдущем шаге.Запустите команду docker tag, чтобы пометить локальный образ в репозиторий Amazon ECR как последнюю версию.
В этой команде:
Замените
docker-image:test
именем и тегом вашего образа Docker.Замените URI репозитория Amazon ECR на
скопированный Uri репозитория
. Не забудьте включить:latest
в конце URI.
тег докера
образ докера
:тест
111122223333
.dkr.ecr.сша-восток-1
.amazonaws.com/привет-мир
:последнийЗапустите команду docker push, чтобы развернуть локальный образ в репозиторий Amazon ECR. Не забудьте указать
:latest
в конце URI репозитория.docker push
111122223333
.dkr.ecr.us-east-1
.amazonaws.com/hello-world
:последнийСоздайте роль выполнения для функции, если у вас ее еще нет. На следующем шаге вам потребуется имя ресурса Amazon (ARN) роли.
Создайте лямбда-функцию. Для
ImageUri
укажите URI репозитория из предыдущего. Не забудьте включить:latest
в конце URI.лямбда-функция создания aws \ --имя-функции
привет-мир
\ --package-type Изображение \ --code ImageUri=111122223333
.dkr.ecr.us-east-1
.amazonaws.com/hello-world
:последние \ --rolearn:aws:iam::111122223333:role/lambda-ex
Вызов функции.
aws lambda invoke --function-name
hello-world
response.jsonВы должны увидеть такой ответ:
{ "ExecutedVersion": "$ ПОСЛЕДНЯЯ", «Код состояния»: 200 }
Чтобы увидеть вывод функции, проверьте файл
response.json
.
Чтобы обновить код функции, необходимо создать новую версию образа и сохранить образ в репозитории Amazon ECR.