[Документация Yandex Cloud](../../index.md) > [Terraform в Yandex Cloud](../index.md) > [Концепции](index.md) > Источники данных

# Источники данных в Terraform

В Terraform источники данных (data sources) — это механизм для извлечения информации о ресурсах, инфраструктуре и других объектах из различных источников. Они позволяют получить доступ к данным, которые могут быть использованы при создании, изменении или удалении ресурсов в инфраструктуре.

Источники данных используются для получения информации о существующих ресурсах, таких как виртуальные машины, сети, базы данных и другие объекты инфраструктуры. Terraform запрашивает данные из источников на этапе `plan` и подставляет их в атрибуты ресурсов при построении графа зависимостей. Если результат источника данных зависит от атрибута еще не созданного ресурса, чтение откладывается до этапа `apply`.

Каждый источник данных имеет собственный синтаксис и особенности использования. Например, для работы с локальными файлами необходимо указать путь к ним, а для HTTP — URL и параметры запроса.

Использование источников данных позволяет автоматизировать процесс управления инфраструктурой и обеспечить ее соответствие реальным потребностям. Это особенно полезно при работе с большими и сложными средами, где ручная настройка затруднительна или невозможна.

## Отличие от ресурсов {#difference-from-resources}

Блок `data` только читает существующий объект — он не создает, не изменяет и не удаляет его. Блок `resource` полностью управляет жизненным циклом объекта: создает при `apply` и удаляет при `destroy`.

#|
|| **Действие** {align="center"} | **Блок Terraform** {align="center"} | > ||
|| ^ | `resource` {align="center"} | `data` {align="center"} ||
|| Создание объекта | ![yes](../../_assets/common/yes.svg) {align="center"} | ![no](../../_assets/common/no.svg) {align="center"} ||
|| Удаление объекта | ![yes](../../_assets/common/yes.svg) {align="center"} | ![no](../../_assets/common/no.svg) {align="center"} ||
|| Чтение атрибутов | ![yes](../../_assets/common/yes.svg) {align="center"} | ![yes](../../_assets/common/yes.svg) {align="center"} ||
|#