---
id: "aws-personalize"
type: "component"
kind: "ai-service"
provider: "aws"
category: "compute"
docs: "https://docs.aws.amazon.com/personalize/latest/dg/limits.html"
url: "https://localhost:3000/catalogue/components/aws-personalize"
---

# Amazon Personalize

Managed recommendation service serving personalized items from your interaction data.

| | |
|---|---|
| Provider | [aws](https://localhost:3000/catalogue?provider=aws) |
| Kind | [AI service](https://localhost:3000/catalogue/kinds/ai-service) |
| Category | Compute |
| Official docs | [https://docs.aws.amazon.com/personalize/latest/dg/limits.html](https://docs.aws.amazon.com/personalize/latest/dg/limits.html) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `auth` | enum | `api-key`, `oauth`, `iam`, `none` | no | — | **"iam"** |
| `campaignsPerDatasetGroup` | integer | — | no | 5 | inherited |
| `contentFiltering` | boolean | — | no | — | inherited |
| `customerManagedKeys` | boolean | — | no | — | **false** |
| `dataResidency` (advanced) | enum | `us`, `eu`, `asia`, `global` | no | — | inherited |
| `dataRetentionDays` | integer | — | no | — | inherited |
| `keyStore` | boolean | — | no | false | inherited |
| `managed` | boolean | — | no | false | **true** |
| `modality` | enum | `text`, `vision`, `speech`, `multimodal`, `structured`, `image`, `video`, `audio`, `embedding`, `rerank` | no | — | **"structured"** |
| `publicEndpoint` | boolean | — | no | — | **true** |
| `putEventsPerSecond` | integer | — | no | 1000 | inherited |
| `quotaUnitsPerMinute` | integer | — | no | — | inherited |
| `rateLimitRpm` (advanced) | integer | — | no | — | inherited |
| `rateLimitTpm` (advanced) | integer | — | no | — | inherited |
| `realTimeEventIngestion` | boolean | — | no | false | inherited |
| `requestsPerSecondPerCampaign` | integer | — | no | 500 | inherited |
| `servingMode` | enum | `campaign`, `recommender`, `batch-inference` | no | "campaign" | inherited |
| `viaGateway` | boolean | — | no | false | inherited |

Bold values are the ones this component pins.

## Rules that apply · 2

### AI API key not managed `ai-api-key-unmanaged` (warning)

- Page: https://localhost:3000/catalogue/rules/ai-api-key-unmanaged.md
- Why: This AI vendor is reached with an API key, and nothing in the design holds or rotates that key. It ends up in environment files or code, every caller shares it, and a single leak runs up the vendor bill until someone notices. Put the key in a key-management component, or say it is held there with keyStore.
- Applies to: every node of kind ai-service
- Message: AI service '{{node.id}}' is called with an API key, the key is not held in a key-management component, and the design has none.

It fires when:

- all of these hold:
  - the node's `auth` is "api-key"
  - the node's `keyStore` is false
  - the node has at least one incoming edge from an app-server, worker or client
  - this does not hold:
    - the design contains a node of kind key-management

### Stateful node without zone redundancy `stateful-node-without-zone-redundancy` (error)

- Page: https://localhost:3000/catalogue/rules/stateful-node-without-zone-redundancy.md
- Why: A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.
- Applies to: every node in category compute
- Message: Stateful node '{{node.id}}' lives in exactly one availability zone. A zone outage takes its state with it.

It fires when:

- all of these hold:
  - the node's `stateless` is false
  - the node sits inside exactly 1 availability-zone group
  - this does not hold:
    - the node sits inside at least one cell group

## Other products of the same kind · 125

- [Content Moderation](https://localhost:3000/catalogue/components/alibaba-content-moderation.md) `alibaba-content-moderation` — alibabacloud
- [Fraud Detection](https://localhost:3000/catalogue/components/alibaba-fraud-detection.md) `alibaba-fraud-detection` — alibabacloud
- [ID Verification](https://localhost:3000/catalogue/components/alibaba-id-verification.md) `alibaba-id-verification` — alibabacloud
- [Intelligent Robot](https://localhost:3000/catalogue/components/alibaba-intelligent-robot.md) `alibaba-intelligent-robot` — alibabacloud
- [Model Studio](https://localhost:3000/catalogue/components/alibaba-model-studio.md) `alibaba-model-studio` — alibabacloud
- [Smart Conversation Analysis](https://localhost:3000/catalogue/components/alibaba-smart-conversation-analysis.md) `alibaba-smart-conversation-analysis` — alibabacloud
- [Amazon Bedrock](https://localhost:3000/catalogue/components/aws-bedrock.md) `aws-bedrock` — aws
- [Amazon Bedrock AgentCore](https://localhost:3000/catalogue/components/aws-bedrock-agentcore.md) `aws-bedrock-agentcore` — aws
- [Amazon Bedrock Data Automation](https://localhost:3000/catalogue/components/aws-bedrock-data-automation.md) `aws-bedrock-data-automation` — aws
- [Amazon Bedrock Guardrails](https://localhost:3000/catalogue/components/aws-bedrock-guardrails.md) `aws-bedrock-guardrails` — aws
- [Amazon Comprehend](https://localhost:3000/catalogue/components/aws-comprehend.md) `aws-comprehend` — aws
- [Amazon Comprehend Medical](https://localhost:3000/catalogue/components/aws-comprehend-medical.md) `aws-comprehend-medical` — aws
- [AWS Elemental Inference](https://localhost:3000/catalogue/components/aws-elemental-inference.md) `aws-elemental-inference` — aws
- [Amazon Forecast](https://localhost:3000/catalogue/components/aws-forecast.md) `aws-forecast` — aws
- [Amazon Fraud Detector](https://localhost:3000/catalogue/components/aws-fraud-detector.md) `aws-fraud-detector` — aws
- [AWS HealthScribe](https://localhost:3000/catalogue/components/aws-healthscribe.md) `aws-healthscribe` — aws
- [Amazon Lex bot](https://localhost:3000/catalogue/components/aws-lex.md) `aws-lex` — aws
- [Amazon Lookout for Equipment](https://localhost:3000/catalogue/components/aws-lookout-for-equipment.md) `aws-lookout-for-equipment` — aws
- [Amazon Lookout for Metrics](https://localhost:3000/catalogue/components/aws-lookout-for-metrics.md) `aws-lookout-for-metrics` — aws
- [Amazon Lookout for Vision](https://localhost:3000/catalogue/components/aws-lookout-for-vision.md) `aws-lookout-for-vision` — aws
- [Amazon Polly](https://localhost:3000/catalogue/components/aws-polly.md) `aws-polly` — aws
- [Amazon Q Business](https://localhost:3000/catalogue/components/aws-q-business.md) `aws-q-business` — aws
- [Amazon Rekognition](https://localhost:3000/catalogue/components/aws-rekognition.md) `aws-rekognition` — aws
- [Amazon Textract](https://localhost:3000/catalogue/components/aws-textract.md) `aws-textract` — aws
- [Amazon Transcribe](https://localhost:3000/catalogue/components/aws-transcribe.md) `aws-transcribe` — aws
- [Amazon Translate](https://localhost:3000/catalogue/components/aws-translate.md) `aws-translate` — aws
- [Content Safety](https://localhost:3000/catalogue/components/azure-ai-content-safety.md) `azure-ai-content-safety` — azure
- [Azure AI Custom Vision](https://localhost:3000/catalogue/components/azure-ai-custom-vision.md) `azure-ai-custom-vision` — azure
- [Azure AI Face](https://localhost:3000/catalogue/components/azure-ai-face.md) `azure-ai-face` — azure
- [Azure Language](https://localhost:3000/catalogue/components/azure-ai-language.md) `azure-ai-language` — azure
- [Azure Speech](https://localhost:3000/catalogue/components/azure-ai-speech.md) `azure-ai-speech` — azure
- [Azure Translator](https://localhost:3000/catalogue/components/azure-ai-translator.md) `azure-ai-translator` — azure
- [Azure Vision](https://localhost:3000/catalogue/components/azure-ai-vision.md) `azure-ai-vision` — azure
- [Azure Content Understanding](https://localhost:3000/catalogue/components/azure-content-understanding.md) `azure-content-understanding` — azure
- [Microsoft Discovery](https://localhost:3000/catalogue/components/azure-discovery.md) `azure-discovery` — azure
- [Azure Document Intelligence](https://localhost:3000/catalogue/components/azure-document-intelligence.md) `azure-document-intelligence` — azure
- [Foundry Agent Service](https://localhost:3000/catalogue/components/azure-foundry-agent-service.md) `azure-foundry-agent-service` — azure
- [Foundry Models](https://localhost:3000/catalogue/components/azure-foundry-models.md) `azure-foundry-models` — azure
- [Azure AI Immersive Reader](https://localhost:3000/catalogue/components/azure-immersive-reader.md) `azure-immersive-reader` — azure
- [Azure OpenAI in Foundry Models](https://localhost:3000/catalogue/components/azure-openai.md) `azure-openai` — azure
- and 85 more: https://localhost:3000/catalogue/kinds/ai-service.md

## Use it in a design

```yaml
nodes:
  - { id: "aws-personalize", component: "aws-personalize" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Amazon Personalize: managed recommendation service that trains on interaction, user and item datasets and serves recommendations from a campaign, a domain recommender or a batch inference job.
# "Amazon Personalize endpoints and quotas" gives the defaults: 5 active dataset groups per Region, 10 solutions, 5 campaigns and 5 recommenders per dataset group, 500 GetRecommendations requests per second per campaign, 1,000 PutEvents per second per dataset group and a 1,000-interaction minimum before training.
schemaVersion: "1"
type: "component"
id: "aws-personalize"
kind: "ai-service"
provider: "aws"
docs: "https://docs.aws.amazon.com/personalize/latest/dg/limits.html"
defaults:
  auth: "iam"
  modality: "structured"
  managed: true
  publicEndpoint: true
  customerManagedKeys: false
properties:
  servingMode:
    type: "enum"
    values: ["campaign", "recommender", "batch-inference"]
    default: "campaign"
  requestsPerSecondPerCampaign:
    type: "integer"
    default: 500
  campaignsPerDatasetGroup:
    type: "integer"
    default: 5
  putEventsPerSecond:
    type: "integer"
    default: 1000
  realTimeEventIngestion:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/components/aws-personalize
