有没有办法通过 AWS Amplify DataStore @searchable 指令保持低成本?
Is there a way to keep costs low with AWS Amplify DataStore @searchable directive?
我正在使用 AWS Amplify DataStore 创建离线第一笔记应用程序。为了能够搜索我的笔记,我只需将 @searchable
指令添加到架构中,然后我的数据库文档就会流式传输到 AWS 弹性服务。
但是,我对此的初步测试最终花费了我很多钱。仅通过添加 ES 节点,我的开发项目就从每月 2 美元变成了每月 30 美元。似乎没有办法从 AWS 控制台缩减服务规模。
有谁知道在 ES 中不为 12kb 数据每月支付 30 美元的方法吗?
根据 documentation,@searchable
指令设置了一个 ElasticSearch 实例并在那里传输数据。此外,t2.micro 个实例不兼容 - 可能是您无法缩小规模的原因。
AWS Amplify Github 存储库中有许多问题与您的问题类似 - 请参阅 this and this。
我也处于类似的境地,正在考虑设置一个小型服务器 运行 MeiliSearch or migrating to Algolia。
FWIW,AppSync 文档搜索由 Algolia 提供支持:-)。
如果您的模式不是那么复杂,那么您可以只使用 filter
。
假设您有 schema.graphql:
type Person @model {
id: ID!
firstName: String!
lastName: String!
}
那么您可以通过查询进行搜索:
listPersons(filter: {
or: [
{ firstName: { contains: "Alex" } },
{ lastName: { contains: "Alex" } }
]
}) {
items {
id
firstName
lastName
}
}
但如果您的搜索查询更复杂,则需要使用 ElasticSearch。
https://docs.amplify.aws/cli/graphql-transformer/examples#blog-queries
我还发现在开发我的 MVP 时 Elasticsearch 的成本很烦人,所以我创建了 graphql-algolia-transformer 它允许您使用 Algolia 代替您的搜索,它有一个不错的免费配额并且按 record/request 从那里开始。
我正在使用 AWS Amplify DataStore 创建离线第一笔记应用程序。为了能够搜索我的笔记,我只需将 @searchable
指令添加到架构中,然后我的数据库文档就会流式传输到 AWS 弹性服务。
但是,我对此的初步测试最终花费了我很多钱。仅通过添加 ES 节点,我的开发项目就从每月 2 美元变成了每月 30 美元。似乎没有办法从 AWS 控制台缩减服务规模。
有谁知道在 ES 中不为 12kb 数据每月支付 30 美元的方法吗?
根据 documentation,@searchable
指令设置了一个 ElasticSearch 实例并在那里传输数据。此外,t2.micro 个实例不兼容 - 可能是您无法缩小规模的原因。
AWS Amplify Github 存储库中有许多问题与您的问题类似 - 请参阅 this and this。
我也处于类似的境地,正在考虑设置一个小型服务器 运行 MeiliSearch or migrating to Algolia。
FWIW,AppSync 文档搜索由 Algolia 提供支持:-)。
如果您的模式不是那么复杂,那么您可以只使用 filter
。
假设您有 schema.graphql:
type Person @model {
id: ID!
firstName: String!
lastName: String!
}
那么您可以通过查询进行搜索:
listPersons(filter: {
or: [
{ firstName: { contains: "Alex" } },
{ lastName: { contains: "Alex" } }
]
}) {
items {
id
firstName
lastName
}
}
但如果您的搜索查询更复杂,则需要使用 ElasticSearch。
https://docs.amplify.aws/cli/graphql-transformer/examples#blog-queries
我还发现在开发我的 MVP 时 Elasticsearch 的成本很烦人,所以我创建了 graphql-algolia-transformer 它允许您使用 Algolia 代替您的搜索,它有一个不错的免费配额并且按 record/request 从那里开始。