Utilisation CreateRepository avec un AWS SDK ou une CLI - AWS Exemples de code SDK

D'autres exemples de AWS SDK sont disponibles dans le référentiel AWS Doc SDK Examples GitHub .

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation CreateRepository avec un AWS SDK ou une CLI

Les exemples de code suivants montrent comment utiliserCreateRepository.

Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant :

CLI
AWS CLI

Exemple 1 : pour créer un référentiel

L'create-repositoryexemple suivant crée un dépôt dans l'espace de noms spécifié dans le registre par défaut d'un compte.

aws ecr create-repository \ --repository-name project-a/nginx-web-app

Sortie :

{ "repository": { "registryId": "123456789012", "repositoryName": "sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/nginx-web-app" } }

Pour plus d'informations, consultez la section Création d'un référentiel dans le guide de l'utilisateur Amazon ECR.

Exemple 2 : pour créer un référentiel configuré avec l'immuabilité des balises d'image

L'create-repositoryexemple suivant crée un référentiel configuré pour l'immuabilité des balises dans le registre par défaut d'un compte.

aws ecr create-repository \ --repository-name sample-repo \ --image-tag-mutability IMMUTABLE

Sortie :

{ "repository": { "registryId": "123456789012", "repositoryName": "sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/sample-repo", "imageTagMutability": "IMMUTABLE" } }

Pour plus d'informations, consultez la section Mutabilité des balises d'image dans le guide de l'utilisateur Amazon ECR.

Exemple 3 : pour créer un référentiel configuré avec une configuration de numérisation

L'create-repositoryexemple suivant crée un référentiel configuré pour effectuer une analyse de vulnérabilité lors du transfert d'image dans le registre par défaut d'un compte.

aws ecr create-repository \ --repository-name sample-repo \ --image-scanning-configuration scanOnPush=true

Sortie :

{ "repository": { "registryId": "123456789012", "repositoryName": "sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/sample-repo", "imageScanningConfiguration": { "scanOnPush": true } } }

Pour plus d'informations, consultez la section Numérisation d'images dans le guide de l'utilisateur Amazon ECR.

  • Pour plus de détails sur l'API, reportez-vous CreateRepositoryà la section Référence des AWS CLI commandes.

Java
SDK pour Java 2.x
Note

Il y en a plus à ce sujet GitHub. Trouvez l'exemple complet et découvrez comment le configurer et l'exécuter dans le référentiel d'exemples de code AWS.

/** * Creates an Amazon Elastic Container Registry (Amazon ECR) repository. * * @param repoName the name of the repository to create. * @return the Amazon Resource Name (ARN) of the created repository, or an empty string if the operation failed. * @throws IllegalArgumentException If repository name is invalid. * @throws RuntimeException if an error occurs while creating the repository. */ public String createECRRepository(String repoName) { if (repoName == null || repoName.isEmpty()) { throw new IllegalArgumentException("Repository name cannot be null or empty"); } CreateRepositoryRequest request = CreateRepositoryRequest.builder() .repositoryName(repoName) .build(); CompletableFuture<CreateRepositoryResponse> response = getAsyncClient().createRepository(request); try { CreateRepositoryResponse result = response.join(); if (result != null) { System.out.println("The " + repoName + " repository was created successfully."); return result.repository().repositoryArn(); } else { throw new RuntimeException("Unexpected response type"); } } catch (CompletionException e) { Throwable cause = e.getCause(); if (cause instanceof EcrException ex) { if ("RepositoryAlreadyExistsException".equals(ex.awsErrorDetails().errorCode())) { System.out.println("The Amazon ECR repository already exists, moving on..."); DescribeRepositoriesRequest describeRequest = DescribeRepositoriesRequest.builder() .repositoryNames(repoName) .build(); DescribeRepositoriesResponse describeResponse = getAsyncClient().describeRepositories(describeRequest).join(); return describeResponse.repositories().get(0).repositoryArn(); } else { throw new RuntimeException(ex); } } else { throw new RuntimeException(e); } } }
  • Pour plus de détails sur l'API, voir CreateRepositoryla section Référence des AWS SDK for Java 2.x API.

Kotlin
SDK pour Kotlin
Note

Il y en a plus à ce sujet GitHub. Trouvez l'exemple complet et découvrez comment le configurer et l'exécuter dans le référentiel d'exemples de code AWS.

/** * Creates an Amazon Elastic Container Registry (Amazon ECR) repository. * * @param repoName the name of the repository to create. * @return the Amazon Resource Name (ARN) of the created repository, or an empty string if the operation failed. * @throws RepositoryAlreadyExistsException if the repository exists. * @throws EcrException if an error occurs while creating the repository. */ suspend fun createECRRepository(repoName: String?): String? { val request = CreateRepositoryRequest { repositoryName = repoName } return try { EcrClient { region = "us-east-1" }.use { ecrClient -> val response = ecrClient.createRepository(request) response.repository?.repositoryArn } } catch (e: RepositoryAlreadyExistsException) { println("Repository already exists: $repoName") repoName?.let { getRepoARN(it) } } catch (e: EcrException) { println("An error occurred: ${e.message}") null } }
  • Pour plus de détails sur l'API, consultez CreateRepositoryla section AWS SDK pour la référence de l'API Kotlin.