[AWS] AppSync에서 AuroraDB로 연결
전제 조건
→ 없는 사람은 빨리 바꿔라!
클러스터를 만들기 전에
샘플로synctutorial의 이름을 응용하여 디렉터리를 만들고 다음 코드를 실행합니다.
이번에는 자신의 상황에 따라db-Cluster identifier를 http-endpoint test, region을 도쿄로 설정했다.
mac@pro appsyncTutorial % aws rds create-db-cluster --db-cluster-identifier http-endpoint-test --master-username WRITE_USERNAME_HERE \
--master-user-password WRITE_PASSWORD_HERE --engine aurora --engine-mode serverless \
--region ap-northeast-1
반환값DBCluster:
AllocatedStorage: 1
AssociatedRoles: []
AvailabilityZones:
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
BackupRetentionPeriod: 1
ClusterCreateTime: "2021-5-11"
CopyTagsToSnapshot: false
CrossAccountClone: false
DBClusterArn: arn:aws:rds:ap-northeast-1:dbclusterarn
DBClusterIdentifier: http-endpoint-test
DBClusterMembers: []
DBClusterParameterGroup: default.aurora5.6
DBSubnetGroup: default
DbClusterResourceId: cluster-xxxx
DeletionProtection: false
DomainMemberships: []
Endpoint: http-endpoint-test.xxxx.ap-northeast-1.rds.amazonaws.com
Engine: aurora
EngineMode: serverless
EngineVersion: 5.6.10a
HostedZoneId: xxxx
HttpEndpointEnabled: false
IAMDatabaseAuthenticationEnabled: false
KmsKeyId: arn:aws:kms:ap-northeast-1:xxxx
MasterUsername: xxxx
MultiAZ: false
Port: 3306
PreferredBackupWindow: 00:00
PreferredMaintenanceWindow: 00:00
ReadReplicaIdentifiers: []
ReaderEndpoint: http-endpoint-test.xxxx.ap-northeast-1.rds.amazonaws.com
Status: creating
StorageEncrypted: true
TagList: []
VpcSecurityGroups:
- Status: active
VpcSecurityGroupId: xxxx
여기에서'DBCluster Arn:arn:aws:ap-northeast-1:dbclusterarn'은 뒤에서 사용하는 값이기 때문에 기록합니다.다음은 creds.json의 이름으로 어떤 json 파일을 만듭니까?
creds.json
{
"username": "USERNAME",
"password": "COMPLEX_PASSWORD"
}
그리고 시크릿을 만드는arnmac@pro appsyncTutorial % aws secretsmanager create-secret --name HttpRDSSecret --secret-string file://creds.json --region ap-northeast-1
ARN: arn:aws:secretarn
Name: HttpRDSSecret
VersionId:xxxx
데이터 API 활성화
mac@pro mathmatev2 % aws rds modify-db-cluster \
--db-cluster-identifier http-endpoint-test \
--enable-http-endpoint
DBCluster:
===省略===
HttpEndpointEnabled: true
===省略終===
데이터베이스 및 테이블 작성
rds에 데이터베이스를 만듭니다.
mac@pro appsyncTutorial % aws rds-data execute-statement --resource-arn "arn:aws:rds:ap-northeast-1:dbclusterarn" --schema "mysql" --secret-arn "arn:aws:secretarn" \
--region ap-northeast-1 --sql "create DATABASE TESTDB"
generatedFields: []
numberOfRecordsUpdated: 1
양식을 만듭니다.mac@pro appsyncTutorial % aws rds-data execute-statement --resource-arn "arn:aws:rds:ap-northeast-1:dbclusterarn" --schema "mysql" --secret-arn "arn:aws:secretarn" \
--region ap-northeast-1 --sql "create table Pets(id varchar(200), type varchar(200), price float)" --database "TESTDB"
generatedFields: []
numberOfRecordsUpdated: 0
값을 삽입하고 참조합니다.(※ 참고보도)mac@pro appsyncTutorial % aws rds-data execute-statement --resource-arn "arn:aws:rds:ap-northeast-1:dbclusterarn" --schema "mysql" --secret-arn "arn:aws:secretarn" \
--region ap-northeast-1 --sql "insert into Pets values (1,'TEST',100.52)" --database "TESTDB"
generatedFields: []
numberOfRecordsUpdated: 1
mac@pro appsyncTutorial % aws rds-data execute-statement --resource-arn "arn:aws:rds:ap-northeast-1:dbclusterarn" --schema "mysql" --secret-arn "arn:aws:secretarn" \
--region ap-northeast-1 --sql "select * from Pets" --database "TESTDB"
numberOfRecordsUpdated: 0
records:
- - stringValue: '1'
- stringValue: TEST
- doubleValue: 100.52
GraphiQl 모드
이동AppSync 콘솔
왼쪽 메뉴에서 모드를 선택하고 다음 코드를 붙여넣으십시오.
type Mutation {
createPet(input: CreatePetInput!): Pet
updatePet(input: UpdatePetInput!): Pet
deletePet(input: DeletePetInput!): Pet
}
input CreatePetInput {
type: PetType
price: Float!
}
input UpdatePetInput {
id: ID!
type: PetType
price: Float!
}
input DeletePetInput {
id: ID!
}
type Pet {
id: ID!
type: PetType
price: Float
}
enum PetType {
dog
cat
fish
bird
gecko
}
type Query {
getPet(id: ID!): Pet
listPets: [Pet]
listPetsByPriceRange(min: Float, max: Float): [Pet]
}
schema {
query: Query
mutation: Mutation
}
AppSync 데이터 소스
왼쪽 메뉴에서 데이터 원본을 선택하고 데이터 원본을 만들고 사진처럼 편집합니다.
회전 변압기 이하
별다른 문제가 발생하지 않았기 때문에tutorial을 참조하세요!
참고 문장
Reference
이 문제에 관하여([AWS] AppSync에서 AuroraDB로 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kensuke/articles/technote-aws-appsync텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)