빠른 시작: MySQL에서 데이터 API 작성기 사용
이 빠른 시작에서는 로컬 MySQL 데이터베이스를 대상으로 하는 데이터 API 작성기 구성 파일 집합을 빌드합니다.
사전 요구 사항
- Docker
- .NET 8
- 데이터 관리 클라이언트
- 클라이언트가 설치되지 않은 경우 Azure Data Studio를 설치합니다.
팁
또는 모든 개발자 필수 구성 요소가 이미 설치된 GitHub Codespaces에서 이 빠른 시작을 엽니다. 사용자 고유의 Azure 구독을 가져오기만 하면 됩니다. GitHub 계정에는 비용 없이 스토리지 및 코어 시간의 자격이 포함됩니다. 자세한 내용은 포함된 스토리지 및 GitHub 계정의 코어 시간을 참조하세요.
Data API Builder CLI 설치
Microsoft.DataApiBuilder
NuGet에서 패키지를 .NET 도구로 설치합니다.
인수를 사용하여 의 최신 버전을
Microsoft.DataApiBuilder
설치하는 데--global
사용합니다dotnet tool install
.dotnet tool install --global Microsoft.DataApiBuilder
참고
패키지가 이미 설치된 경우 을 사용하여
dotnet tool update
패키지를 업데이트합니다.dotnet tool update --global Microsoft.DataApiBuilder
인수를 사용하여 도구가 설치되어
dotnet tool list
있는지 확인합니다--global
.dotnet tool list --global
로컬 데이터베이스 구성
먼저 로컬 데이터베이스를 구성하고 실행합니다. 그런 다음 샘플 데이터를 사용하여 새 컨테이너를 시드할 수 있습니다.
Docker Hub 컨테이너 이미지의
mysql:8
최신 복사본을 가져옵니다.docker pull mysql:8
암호를 설정하고 포트 3306을 게시하여 Docker 컨테이너를 시작합니다. 을 사용자 지정 암호로 대체
<your-password>
합니다.docker run \ --publish 3306:3306 \ --env "MYSQL_ROOT_PASSWORD=<your-password>" \ --detach \ mysql:8
원하는 데이터 관리 환경을 사용하여 로컬 데이터베이스에 연결합니다. 예로는 MySQL Workbench, Azure Data Studio 및 Visual Studio Code 대한 MySQL 셸이 있지만 이에 국한되지 않습니다.
팁
Docker Linux 컨테이너 이미지에 기본 네트워킹을 사용하는 경우 연결 문자열 일 수 있습니다
Server=localhost;Port=3306;Uid=root;Pwd=<your-password>;
. 을 이전에 설정한 암호로 바꿉 있습니다<your-password>
.새
bookshelf
데이터베이스를 Create 나머지 쿼리에 데이터베이스를 사용합니다.CREATE DATABASE IF NOT EXISTS bookshelf; USE bookshelf;
새
dbo.authors
테이블을 Create 기본 데이터로 테이블을 시드합니다.CREATE TABLE IF NOT EXISTS authors ( id INT NOT NULL PRIMARY KEY, first_name VARCHAR(100) NOT NULL, middle_name VARCHAR(100), last_name VARCHAR(100) NOT NULL ); INSERT INTO authors VALUES (01, 'Henry', NULL, 'Ross'), (02, 'Jacob', 'A.', 'Hancock'), (03, 'Sydney', NULL, 'Mattos'), (04, 'Jordan', NULL, 'Mitchell'), (05, 'Victoria', NULL, 'Burke'), (06, 'Vance', NULL, 'DeLeon'), (07, 'Reed', NULL, 'Flores'), (08, 'Felix', NULL, 'Henderson'), (09, 'Avery', NULL, 'Howard'), (10, 'Violet', NULL, 'Martinez');
구성 파일 만들기
DAB CLI를 사용하여 기준 구성 파일을 Create. 그런 다음, 현재 자격 증명을 사용하여 개발 구성 파일을 추가합니다.
를 사용하여
dab init
일반적인 구성 파일을 Create.--connection-string
첫 번째 섹션에서 데이터베이스 연결 문자열 인수를 추가합니다. 을 이 가이드의 앞부분에서 설정한 암호로 바꿉 있습니다<your-password>
. 또한 값을 연결 문자열 추가Database=bookshelf
합니다.dab init --database-type "mysql" --host-mode "Development" --connection-string "Server=localhost;Port=3306;Database=bookshelf;Uid=root;Pwd=<your-password>;"
를 사용하여 Author 엔터티를
dab add
추가합니다.dab add Author --source "authors" --permissions "anonymous:*"
현재 dab-config.json 구성 파일을 관찰합니다. 파일에는 단일 엔터티, REST API 엔드포인트 및 GraphQL 엔드포인트가 있는 API의 기준 구현이 포함되어야 합니다.
로컬 데이터베이스를 사용하여 API 테스트
이제 데이터 API 작성기 도구를 시작하여 개발 중에 구성 파일이 병합되는지 확인합니다.
을 사용하여
dab start
도구를 실행하고 엔터티에 대한 API 엔드포인트를 만듭니다.dab start
도구의 출력에는 실행 중인 API로 이동하는 데 사용할 주소가 포함되어야 합니다.
Successfully completed runtime initialization. info: Microsoft.Hosting.Lifetime[14] Now listening on: <http://localhost:5000> info: Microsoft.Hosting.Lifetime[0]
팁
이 예제에서 애플리케이션은 포트 5000에서 실행됩니다
localhost
. 실행 중인 애플리케이션의 주소와 포트가 다를 수 있습니다.먼저 에 GET 요청을 실행하여 API를 수동으로 시도합니다
/api/Author
.팁
이 예제에서 URL은 입니다
https://localhost:5000/api/Author
. 웹 브라우저를 사용하여 이 URL로 이동할 수 있습니다.다음으로, 의 Swagger 설명서 페이지로
/swagger
이동합니다.팁
이 예제에서 URL은 입니다
https://localhost:5000/swagger
. 다시 웹 브라우저를 사용하여 이 URL로 이동할 수 있습니다.