

# Exemples de référence d'API d'interpréteur de code
<a name="code-interpreter-api-reference-examples"></a>

Cette section fournit des exemples de référence pour les opérations courantes de l'interpréteur de code utilisant différentes approches. Chaque exemple montre comment effectuer la même opération à l'aide de la AWS CLI, du SDK Boto3 et d'appels d'API directs.

## Exécution du code
<a name="code-interpreter-api-code-execution"></a>

Ces exemples montrent comment exécuter du code dans une session d'interpréteur de code.

**Example**  

1. 

   ```
   params = {
         "language": "python",
         "code": "print(\"Hello, world!\")"
       }
   
   client.invoke_code_interpreter(
       **{
           "codeInterpreterIdentifier": "aws.codeinterpreter.v1",
           "sessionId": "<your-session-id>",
           "name": "executeCode",
           "arguments": params
       })
   ```

1. 

   ```
   # Using awscurl
   awscurl -X POST \
     "https://bedrock-agentcore.<Region>.amazonaws.com/code-interpreters/aws.codeinterpreter.v1/tools/invoke" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "x-amzn-code-interpreter-session-id: your-session-id" \
     --service bedrock-agentcore \
     --region <Region> \
     -d '{
       "name": "executeCode",
       "arguments": {
         "language": "python",
         "code": "print(\"Hello, world!\")"
       }
     }'
   ```

## Commandes du terminal
<a name="code-interpreter-api-terminal-commands"></a>

Ces exemples montrent comment exécuter des commandes de terminal dans une session d'interpréteur de code.

### Exécuter la commande
<a name="code-interpreter-api-execute-command"></a>

**Example**  

1. 

   ```
   params = {
         "command": "ls -l"
       }
   
   client.invoke_code_interpreter(
       **{
           "codeInterpreterIdentifier": "aws.codeinterpreter.v1",
           "sessionId": "<your-session-id>",
           "name": "executeCommand",
           "arguments": params
       })
   ```

1. 

   ```
   # Using awscurl
   awscurl -X POST \
     "https://bedrock-agentcore.<Region>.amazonaws.com/code-interpreters/aws.codeinterpreter.v1/tools/invoke" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "x-amzn-code-interpreter-session-id: your-session-id" \
     --service bedrock-agentcore \
     --region <Region> \
     -d '{
       "name": "executeCommand",
       "arguments": {
         "command": "ls -l"
       }
     }'
   ```

### Démarrer l'exécution de la commande
<a name="code-interpreter-api-start-command"></a>

**Example**  

1. 

   ```
   params = {
         "command": "sleep 15 && echo Task completed successfully"
       }
   
   client.invoke_code_interpreter(
       **{
           "codeInterpreterIdentifier": "aws.codeinterpreter.v1",
           "sessionId": "<your-session-id>",
           "name": "startCommandExecution",
           "arguments": params
       })
   ```

1. 

   ```
   # Using awscurl
   awscurl -X POST \
     "https://bedrock-agentcore.<Region>.amazonaws.com/code-interpreters/aws.codeinterpreter.v1/tools/invoke" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "x-amzn-code-interpreter-session-id: your-session-id" \
     --service bedrock-agentcore \
     --region <Region> \
     -d '{
       "name": "startCommandExecution",
       "arguments": {
         "command": "sleep 15 && echo Task completed successfully"
       }
     }'
   ```

### Obtenir une tâche
<a name="code-interpreter-api-get-task"></a>

**Example**  

1. 

   ```
   params = {
         "taskId": "<your-task-id>"
       }
   
   client.invoke_code_interpreter(
       **{
           "codeInterpreterIdentifier": "aws.codeinterpreter.v1",
           "sessionId": "<your-session-id>",
           "name": "getTask",
           "arguments": params
       })
   ```

1. 

   ```
   # Using awscurl
   awscurl -X POST \
     "https://bedrock-agentcore.<Region>.amazonaws.com/code-interpreters/aws.codeinterpreter.v1/tools/invoke" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "x-amzn-code-interpreter-session-id: your-session-id" \
     --service bedrock-agentcore \
     --region <Region> \
     -d '{
       "name": "getTask",
       "arguments": {
         "taskId": "<your-task-id>"
       }
     }'
   ```

### Arrêter la tâche d'exécution des commandes
<a name="code-interpreter-api-stop-task"></a>

**Example**  

1. 

   ```
   params = {
         "taskId": "<your-task-id>"
       }
   
   client.invoke_code_interpreter(
       **{
           "codeInterpreterIdentifier": "aws.codeinterpreter.v1",
           "sessionId": "<your-session-id>",
           "name": "stopTask",
           "arguments": params
       })
   ```

1. 

   ```
   # Using awscurl
   awscurl -X POST \
     "https://bedrock-agentcore.<Region>.amazonaws.com/code-interpreters/aws.codeinterpreter.v1/tools/invoke" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "x-amzn-code-interpreter-session-id: your-session-id" \
     --service bedrock-agentcore \
     --region <Region> \
     -d '{
       "name": "stopTask",
       "arguments": {
         "taskId": "<your-task-id>"
       }
     }'
   ```

## Gestion des fichiers
<a name="code-interpreter-api-file-management"></a>

Ces exemples montrent comment gérer des fichiers dans une session d'interpréteur de code.

### Écrire des fichiers
<a name="code-interpreter-api-write-files"></a>

**Example**  

1. 

   ```
   params = {
           "content": [{"path": "dir1/samename.txt", "text": "File in dir1"}]
       }
   
   client.invoke_code_interpreter(
       **{
           "codeInterpreterIdentifier": "aws.codeinterpreter.v1",
           "sessionId": "<your-session-id>",
           "name": "writeFiles",
           "arguments": params
       })
   ```

1. 

   ```
   # Using awscurl
   awscurl -X POST \
     "https://bedrock-agentcore.<Region>.amazonaws.com/code-interpreters/aws.codeinterpreter.v1/tools/invoke" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "x-amzn-code-interpreter-session-id: your-session-id" \
     --service bedrock-agentcore \
     --region <Region> \
     -d '{
       "name": "writeFiles",
       "arguments": {
         "content": [{"path": "dir1/samename.txt", "text": "File in dir1"}]
       }
     }'
   ```

### Lire des fichiers
<a name="code-interpreter-api-read-files"></a>

**Example**  

1. 

   ```
   params = {
         "paths": ["tmp.txt"]
       }
   
   client.invoke_code_interpreter(
       **{
           "codeInterpreterIdentifier": "aws.codeinterpreter.v1",
           "sessionId": "<your-session-id>",
           "name": "readFiles",
           "arguments": params
       })
   ```

1. 

   ```
   # Using awscurl
   awscurl -X POST \
     "https://bedrock-agentcore.<Region>.amazonaws.com/code-interpreters/aws.codeinterpreter.v1/tools/invoke" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "x-amzn-code-interpreter-session-id: your-session-id" \
     --service bedrock-agentcore \
     --region <Region> \
     -d '{
       "name": "readFiles",
       "arguments": {
         "paths": ["tmp.txt"]
       }
     }'
   ```

### Supprimer des fichiers
<a name="code-interpreter-api-remove-files"></a>

**Example**  

1. 

   ```
   params = {
         "paths": ["tmp.txt"]
       }
   
   client.invoke_code_interpreter(
       **{
           "codeInterpreterIdentifier": "aws.codeinterpreter.v1",
           "sessionId": "<your-session-id>",
           "name": "removeFiles",
           "arguments": params
       })
   ```

1. 

   ```
   # Using awscurl
   awscurl -X POST \
     "https://bedrock-agentcore.<Region>.amazonaws.com/code-interpreters/aws.codeinterpreter.v1/tools/invoke" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "x-amzn-code-interpreter-session-id: your-session-id" \
     --service bedrock-agentcore \
     --region <Region> \
     -d '{
       "name": "removeFiles",
       "arguments": {
         "paths": ["tmp.txt"]
       }
     }'
   ```

### Fichiers de liste
<a name="code-interpreter-api-list-files"></a>

**Example**  

1. 

   ```
   params = {
         "directoryPath": ""
       }
   
   client.invoke_code_interpreter(
       **{
           "codeInterpreterIdentifier": "aws.codeinterpreter.v1",
           "sessionId": "<your-session-id>",
           "name": "listFiles",
           "arguments": params
       })
   ```

1. 

   ```
   # Using awscurl
   awscurl -X POST \
     "https://bedrock-agentcore.<Region>.amazonaws.com/code-interpreters/aws.codeinterpreter.v1/tools/invoke" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "x-amzn-code-interpreter-session-id: your-session-id" \
     --service bedrock-agentcore \
     --region <Region> \
     -d '{
       "name": "listFiles",
       "arguments": {
         "directoryPath": ""
       }
     }'
   ```