我发现this example正在使用Catalog URL Reference填充Alexa Skill中的自定义插槽。
问题是我不知道如何填充此目录。
我能够使用ask cli这样创建模型目录:
ask api create-model-catalog -n catalog_name -d "description"
[以catalogId
的形式生成"catalogId"
:"amzn1.ask.interactionModel.catalog.blabla"
类似于第一个链接中的GitHub示例中的那个。
问题是我不知道如何将值(例如上例中的ingredients.json
)放入该目录中。
我尝试使用
ask api create-model-catalog-version -c catalogId -f ingredients.json
但是我得到的是
Call create-model-catalog-version error.
Error code: 400
{
"message": "Request is not valid.",
"violations": [
{
"message": "'source' field of the request is invalid."
}
]
}
在文档中,没有一个如何处理此问题的示例,因此我被困在这一点。
感谢您的帮助
为了使用Alexa技能创建和使用目录,您必须:
将目录文件上传到存储桶或另一个公共存储端点。
之后,您必须指定一个具有以下内容的JSON文件(例如catalog.json):
{
"type": "URL",
"url": "[your catalog url]"
}
ask api create-model-catalog --catalog-name "IngredientsCatalog"
--catalog-description "Ingredients"
ask api create-model-catalog-version --file .\catalog.json --catalog-id [your catalog-id]
ask api get-model-catalog-update-status -c [your catalog-id] -u [request id]
"types": [
{
"name": "Ingredient",
"valueSupplier": {
"type": "CatalogValueSupplier",
"valueCatalog": {
"catalogId": "[your catalog-id]",
"version": "[the desired version number]"
}
}
}
]