# convert-cassandra-to-spring-data-cosmos

Инструкция для миграции проектов на Spring Boot с Apache Cassandra на Azure Cosmos DB через spring-data-cosmos. Применяется к коду, сборкам Maven или Gradle и файлам настроек.

- правило · `type=rule` · GitHub Copilot · ★ 40418
- Автор: github · официальный репозиторий GitHub
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/github/awesome-copilot/tree/HEAD/instructions/convert-cassandra-to-spring-data-cosmos.instructions.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/rules/convert-cassandra-to-spring-data-cosmos

## Что делает

Правило помогает перевести код со Spring Data Cassandra на Azure Cosmos DB. Оно действует только тогда, когда пользователь прямо просит о миграции. Обнаружение зависимостей Cassandra само по себе перенос не запускает. Инструкция охватывает синхронные и реактивные приложения на Spring Boot версий с 2.x по 3.x.

Внутри описаны настройка базы, аутентификация через `DefaultAzureCredential` и роли RBAC. Для работы с облаком потребуются аккаунт Azure Cosmos DB и вход через `az login`. Если приложение собрано на Spring Boot 3.x, переменная `JAVA_HOME` должна указывать на Java 17 или новее, иначе Gradle выдаст ошибку сборки.

Правило правит аннотации сущностей и конфигурационные файлы вроде `application.properties`. Сами данные из Cassandra в Cosmos DB оно не переносит: выгрузку и загрузку записей нужно выполнять отдельно. Сложные сущности вроде пользовательских типов (UDT) или легковесных транзакций (LWT) в инструкцию также не входят.

## Требования
- Работает с: Azure

## Установка

### GitHub Copilot (родная платформа)

**Вручную: положить файлы**
- Файл: `.github/instructions/convert-cassandra-to-spring-data-cosmos.instructions.md` — Поле applyTo задаёт, к каким файлам применять

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/rules/convert-cassandra-to-spring-data-cosmos.md` — Поле paths во frontmatter ограничивает файлы: applyTo из источника → paths

### Codex

**AGENTS.md**
- Codex читает AGENTS.md: вставьте текст правила туда

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/rules/convert-cassandra-to-spring-data-cosmos.mdc` — Во frontmatter: description, globs, alwaysApply. applyTo из источника → globs, иначе правило само не подключится

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/rules/convert-cassandra-to-spring-data-cosmos.md`

### Cline

**Вручную: положить файлы**
- Файл: `.clinerules/convert-cassandra-to-spring-data-cosmos.md`

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/github/awesome-copilot/tree/HEAD/instructions/convert-cassandra-to-spring-data-cosmos.instructions.md

## Когда брать
- Переписать репозитории и сущности со Spring Data Cassandra на Azure Cosmos DB
- Настроить аутентификацию в Cosmos DB через `DefaultAzureCredential` без статических ключей
- Обновить конфигурации сборщика `pom.xml` или `build.gradle` под зависимости `spring-data-cosmos`
- Подготовить конфигурационные файлы `application.properties` или `application.yml` для подключения к Azure

## Примеры запросов агенту
- Переведи этот сервис с Cassandra на Azure Cosmos DB с использованием `spring-data-cosmos`
- Обнови сущность в `src/main/java` и `build.gradle` для работы с Cosmos DB вместо Cassandra
- Настрой класс конфигурации для подключения к Azure Cosmos DB через `DefaultAzureCredential`

Из того же набора: [github/awesome-copilot](https://affpapa.org/nevibecode/by/github/awesome-copilot.md) — 770 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
