在AWS AppSync中,您可以通过使用GraphQL模式的Subscription类型来订阅对特定对象输入的更改。以下是一个解决方法,包含使用AWS Amplify和Node.js的代码示例。
首先,确保您已经安装了AWS CLI和AWS Amplify,并配置了正确的AWS凭证。
创建一个新的AWS AppSync API,并使用Amplify CLI初始化一个新的Amplify项目。在命令行中运行以下命令:
amplify init
amplify add api
按照提示选择GraphQL模式文件和类型名称。
type Subscription {
onCreatePost(postId: ID!): Post
}
type Mutation {
createPost(title: String!, content: String!): Post
}
在AWS AppSync控制台中部署您的API模式更改。
在Node.js中,使用AWS Amplify来订阅特定对象输入的更改。在您的Node.js项目中,安装依赖项:
npm install aws-amplify aws-amplify-react
import Amplify, { API, graphqlOperation } from 'aws-amplify';
import awsconfig from './aws-exports';
import { onCreatePost } from './graphql/subscriptions';
Amplify.configure(awsconfig);
const subscription = API.graphql(graphqlOperation(onCreatePost, { postId: 'YOUR_POST_ID' })).subscribe({
next: (postData) => console.log('New post created:', postData),
error: (errorData) => console.log('Error:', errorData),
});
请确保将'YOUR_POST_ID'替换为实际的Post对象的ID。
这是一个简单的示例,展示了如何使用AWS AppSync订阅到具有对象输入的更改。您可以根据自己的需求进行更多的定制和扩展。