Aller au contenu

Amazon Q Aide-Mémoire

## Aperçu

Amazon Q est l’assistant de codage alimenté par l’IA d’AWS qui fournit des suggestions de code intelligentes, un balayage de sécurité et des capacités de modernisation d’applications. Il s’intègre aux IDE populaires et aux services AWS pour améliorer la productivité des développeurs avec des recommandations contextuelles et une génération de code automatisée.

⚠️ Remarque : Nécessite un compte AWS et les autorisations IAM appropriées. Certaines fonctionnalités nécessitent un abonnement Amazon Q.

Installation et Configuration

Extension VS Code

IDE JetBrains

Intégration AWS CLI

Authentification

Configuration Initiale

AWS Builder ID (Gratuit)

Niveau Professionnel

Fonctionnalités Principales

Complétion de Code

Interface de Chat

Balayage de Sécurité

Utilisation en Ligne de Commande

Amazon Q CLI (Aperçu)

Intégration AWS CLI

Intégration IDE

Commandes VS Code

Commandes IntelliJ/PyCharm

Exemples de Génération de Code

Génération de Fonction

Création de Point de Terminaison API

Génération de Tests Unitaires

Modernisation d’Application

Transformation de Code

Migration de Langage

Mises à Niveau de Framework

Note: Since some sections were left blank in the original text, I’ve maintained those blank sections in the translation. If you’d like me to fill them with placeholder text or have specific content for those sections, please let me know.```bash

Install Amazon Q extension from VS Code marketplace

code —install-extension AmazonWebServices.amazon-q-vscode

Alternative: Search “Amazon Q” in Extensions tab


### JetBrains IDEs
```bash
# Install via JetBrains Plugin Repository
# File > Settings > Plugins > Marketplace
# Search "Amazon Q" and install

AWS CLI Integration

# Install AWS CLI v2
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

# Configure credentials
aws configure

Authentication

Initial Setup

# Sign in through IDE extension
# Click "Sign in to Amazon Q" in IDE
# Choose authentication method:
# - AWS Builder ID (free tier)
# - IAM Identity Center
# - AWS credentials

AWS Builder ID (Free)

# Create free AWS Builder ID account
# Provides basic code suggestions
# Limited monthly usage

Professional Tier

# Requires AWS subscription ($20/month per user)
# Advanced features including:
# - Security scanning
# - Code explanations
# - Unit test generation
# - Application modernization

Core Features

Code Completion

# Automatic suggestions while typing
# Press Tab to accept suggestion
# Press Esc to dismiss suggestion

# Multi-line code generation
# Type comment describing function
# Amazon Q generates implementation

# Example:
# Type: "// Function to sort array of objects by name"
# Press Enter and Amazon Q suggests implementation

Chat Interface

# Open chat panel in IDE
# Ask questions about code
# Request explanations
# Get help with debugging

# Example queries:
"Explain this function"
"How to optimize this code?"
"Write unit tests for this class"
"Convert this to TypeScript"

Security Scanning

# Automatic security vulnerability detection
# Real-time scanning while coding
# Suggestions for security fixes

# Manual security scan
# Right-click in editor
# Select "Amazon Q: Scan for security issues"

Command Line Usage

Amazon Q CLI (Preview)

# Install Amazon Q CLI
npm install -g @aws/amazon-q-cli

# Initialize in project
amazon-q init

# Ask questions
amazon-q ask "How to deploy this to AWS?"

# Generate code
amazon-q generate --prompt "Create REST API endpoint"

# Analyze code
amazon-q analyze --file src/main.js

AWS CLI Integration

# Use Amazon Q with AWS CLI
aws q ask "How to create S3 bucket with encryption?"

# Get help with AWS services
aws q explain ec2 describe-instances

# Troubleshoot AWS issues
aws q troubleshoot --service lambda --error "Function timeout"

IDE Integration

VS Code Commands

# Command Palette (Ctrl+Shift+P)
"Amazon Q: Open Chat"
"Amazon Q: Explain Code"
"Amazon Q: Generate Unit Tests"
"Amazon Q: Optimize Code"
"Amazon Q: Security Scan"
"Amazon Q: Transform Code"

# Keyboard shortcuts
Ctrl+I          # Inline code generation
Alt+C           # Open chat
Ctrl+Shift+A    # Explain selected code

IntelliJ/PyCharm Commands

# Tools menu
Tools > Amazon Q > Open Chat
Tools > Amazon Q > Explain Code
Tools > Amazon Q > Generate Tests

# Context menu (right-click)
"Ask Amazon Q"
"Explain with Amazon Q"
"Generate tests with Amazon Q"

Code Generation Examples

Function Generation

// Type comment and let Amazon Q generate
// Function to validate email address
function validateEmail(email) {
    const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return emailRegex.test(email);
}

API Endpoint Creation

# Generate Flask API endpoint
# POST endpoint to create user
@app.route('/users', methods=['POST'])
def create_user():
    data = request.get_json()
    user = User(
        name=data['name'],
        email=data['email']
    )
    db.session.add(user)
    db.session.commit()
    return jsonify({'id': user.id}), 201

Unit Test Generation

// Generate Jest tests for function
describe('validateEmail', () => {
    test('should return true for valid email', () => {
        expect(validateEmail('test@example.com')).toBe(true);
    });
    
    test('should return false for invalid email', () => {
        expect(validateEmail('invalid-email')).toBe(false);
    });
});

Application Modernization

Code Transformation

# Transform legacy code to modern frameworks
# Select code block
# Right-click > "Transform with Amazon Q"
# Choose target framework (React, Vue, Angular, etc.)

Language Migration

# Convert between programming languages
# Select code in source language
# Ask Amazon Q: "Convert this Java code to Python"
# Review and accept suggestions

Framework Upgrades

# Upgrade to newer framework versions
# Ask Amazon Q: "Upgrade this React class component to hooks"
# Get step-by-step migration guidance
```## Fonctionnalités de Sécurité
```bash
# Automatic scanning for:
# - SQL injection vulnerabilities
# - Cross-site scripting (XSS)
# - Insecure dependencies
# - Hardcoded secrets
# - Authentication issues
```### Meilleures Pratiques de Sécurité
```bash
# Get security recommendations
# Ask Amazon Q: "How to secure this API endpoint?"
# Receive suggestions for:
# - Input validation
# - Authentication
# - Authorization
# - Data encryption
```### Analyse de Conformité
```bash
# Check code against compliance standards
# OWASP Top 10
# CWE (Common Weakness Enumeration)
# AWS security best practices
```## Fonctionnalités Avancées
```bash
# Create custom code generation prompts
# Define templates for common patterns
# Share prompts across team

# Example custom prompt:
"Generate CRUD operations for {entity} with validation and error handling"
```### Invites Personnalisées
```bash
# Amazon Q analyzes entire workspace
# Understands project structure
# Provides context-aware suggestions
# Maintains consistency across files
```### Contexte de l'Espace de Travail
```bash
# Generate AWS infrastructure code
# Ask: "Create Lambda function with API Gateway"
# Get CloudFormation/CDK templates
# Deploy directly to AWS
```### Intégration avec les Services AWS
```bash
# Extension not working
# Check AWS credentials configuration
# Verify internet connection
# Restart IDE

# No code suggestions
# Check if Amazon Q is enabled in settings
# Verify file type is supported
# Check subscription status
```## Dépannage
```bash
# Improve suggestion speed
# Close unnecessary files
# Reduce workspace size
# Update to latest extension version

# Manage suggestion frequency
# Adjust settings in IDE preferences
# Configure trigger delay
# Set suggestion limits
```### Problèmes Courants
```bash
# View Amazon Q logs
# VS Code: View > Output > Amazon Q
# IntelliJ: Help > Show Log in Explorer

# Report issues
# Use "Send Feedback" in extension
# Include error logs and reproduction steps
```### Optimisation des Performances
```bash
# Write descriptive comments for better suggestions
# Use meaningful variable names
# Provide context in chat queries
# Review suggestions before accepting
# Test generated code thoroughly
```### Débogage
```bash
# Review security scan results
# Don't ignore vulnerability warnings
# Validate input in generated code
# Follow principle of least privilege
# Regularly update dependencies
```## Meilleures Pratiques
```bash
# Share useful prompts with team
# Establish coding standards
# Review AI-generated code
# Document custom configurations
# Train team on effective usage
```### Utilisation Efficace
```bash
# Features included:
# - Basic code completion
# - Limited chat interactions
# - Security scanning (basic)
# - Monthly usage limits apply
```### Considérations de Sécurité
```bash
# Additional features:
# - Advanced code generation
# - Unlimited chat
# - Application modernization
# - Priority support
# - Team management features
```### Collaboration d'Équipe
```bash
# Custom pricing for:
# - SSO integration
# - Advanced security controls
# - Audit logging
# - Custom model training
# - Dedicated support
```## Tarification et Limites
https://docs.aws.amazon.com/amazonq/##

# Niveau Gratuit (ID Créateur AWS)
https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.amazon-q-vscode##

# Niveau Professionnel (20$/mois)
https://plugins.jetbrains.com/plugin/24267-amazon-q##

# Fonctionnalités Entreprise
https://forums.aws.amazon.com/forum.jspa?forumID=293#

# Ressources
[Stack Overflow](https://stackoverflow.com/questions/tagged/amazon-q)

### Formation
- [AWS Formation et Certification](https://aws.amazon.com/training/)
- [Ateliers Amazon Q](https://workshops.aws/)
- [Guides du développeur](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/)