Amazon Kendra · Arazzo Workflow

Amazon Kendra Create Search Experience

Version 1.0.0

Wait for an index to be active, create a hosted search experience on it, and confirm it via the experiences list.

1 workflow 1 source API 1 provider
View Spec View on GitHub AIEnterprise SearchKnowledge ManagementMachine LearningNatural LanguageArazzoWorkflows

Provider

amazon-kendra

Workflows

create-search-experience
Confirm the index is ACTIVE, create a search experience, and confirm via ListExperiences.
Confirms the index is ACTIVE, creates a hosted search experience, and lists the index experiences to confirm registration.
3 steps inputs: description, experienceName, indexId, roleArn outputs: experienceId, experienceSummaryItems
1
confirmIndexActive
DescribeIndex
Confirm the target index is ACTIVE before attaching an experience, since an experience can only serve a usable index.
2
createExperience
CreateExperience
Create the hosted search experience application on top of the active index.
3
confirmExperience
ListExperiences
List the index experiences to confirm the newly created experience is registered against the index.

Source API Descriptions

Arazzo Workflow Specification

amazon-kendra-create-search-experience-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Kendra Create Search Experience
  summary: Wait for an index to be active, create a hosted search experience on it, and confirm it via the experiences list.
  description: >-
    Stands up a hosted Amazon Kendra search experience on top of an existing
    index. The workflow first confirms with DescribeIndex that the target index
    is ACTIVE, then creates the experience application, and finally lists the
    index experiences to confirm the new experience is registered. Each step
    inlines its request, including the AWS JSON protocol X-Amz-Target header, so
    the flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: kendraApi
  url: ../openapi/amazon-kendra-openapi.yml
  type: openapi
workflows:
- workflowId: create-search-experience
  summary: Confirm the index is ACTIVE, create a search experience, and confirm via ListExperiences.
  description: >-
    Confirms the index is ACTIVE, creates a hosted search experience, and lists
    the index experiences to confirm registration.
  inputs:
    type: object
    required:
    - indexId
    - experienceName
    properties:
      indexId:
        type: string
        description: The identifier of the index to attach the experience to.
      experienceName:
        type: string
        description: A name for the Amazon Kendra experience.
      roleArn:
        type: string
        description: The IAM role ARN with permission to run GetUserContext.
      description:
        type: string
        description: An optional description for the experience.
  steps:
  - stepId: confirmIndexActive
    description: >-
      Confirm the target index is ACTIVE before attaching an experience, since an
      experience can only serve a usable index.
    operationId: DescribeIndex
    parameters:
    - name: IndexId
      in: path
      value: $inputs.indexId
    - name: X-Amz-Target
      in: header
      value: AWSKendraFrontendService.DescribeIndex
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      indexStatus: $response.body#/Status
    onSuccess:
    - name: indexActive
      type: goto
      stepId: createExperience
      criteria:
      - context: $response.body
        condition: $.Status == "ACTIVE"
        type: jsonpath
  - stepId: createExperience
    description: >-
      Create the hosted search experience application on top of the active index.
    operationId: CreateExperience
    parameters:
    - name: IndexId
      in: path
      value: $inputs.indexId
    - name: X-Amz-Target
      in: header
      value: AWSKendraFrontendService.CreateExperience
    requestBody:
      contentType: application/json
      payload:
        Name: $inputs.experienceName
        RoleArn: $inputs.roleArn
        Description: $inputs.description
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      experienceId: $response.body#/Id
  - stepId: confirmExperience
    description: >-
      List the index experiences to confirm the newly created experience is
      registered against the index.
    operationId: ListExperiences
    parameters:
    - name: IndexId
      in: path
      value: $inputs.indexId
    - name: X-Amz-Target
      in: header
      value: AWSKendraFrontendService.ListExperiences
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      experienceSummaryItems: $response.body#/SummaryItems
  outputs:
    experienceId: $steps.createExperience.outputs.experienceId
    experienceSummaryItems: $steps.confirmExperience.outputs.experienceSummaryItems