D'autres AWS SDK exemples sont disponibles dans le GitHub dépôt AWS Doc SDK Examples.
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.
À utiliser GetRepositoryPolicy
avec un AWS SDK ou CLI
Les exemples de code suivants montrent comment utiliserGetRepositoryPolicy
.
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
-
Pour récupérer la politique de dépôt d'un référentiel
L'get-repository-policy
exemple suivant affiche les détails de la politique de référentiel pour le cluster-autoscaler
référentiel.
aws ecr get-repository-policy \
--repository-name cluster-autoscaler
Sortie :
{
"registryId": "012345678910",
"repositoryName": "cluster-autoscaler",
"policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"allow public pull\",\n \"Effect\" : \"Allow\",\n \"Principal\" : \"*\",\n \"Action\" : [ \"ecr:BatchCheckLayerAvailability\", \"ecr:BatchGetImage\", \"ecr:GetDownloadUrlForLayer\" ]\n } ]\n}"
}
- Java
-
- SDKpour Java 2.x
-
/**
* Gets the repository policy for the specified repository.
*
* @param repoName the name of the repository.
* @throws EcrException if an AWS error occurs while getting the repository policy.
*/
public String getRepoPolicy(String repoName) {
if (repoName == null || repoName.isEmpty()) {
throw new IllegalArgumentException("Repository name cannot be null or empty");
}
GetRepositoryPolicyRequest getRepositoryPolicyRequest = GetRepositoryPolicyRequest.builder()
.repositoryName(repoName)
.build();
CompletableFuture<GetRepositoryPolicyResponse> response = getAsyncClient().getRepositoryPolicy(getRepositoryPolicyRequest);
response.whenComplete((resp, ex) -> {
if (resp != null) {
System.out.println("Repository policy retrieved successfully.");
} else {
if (ex.getCause() instanceof EcrException) {
throw (EcrException) ex.getCause();
} else {
String errorMessage = "Unexpected error occurred: " + ex.getMessage();
throw new RuntimeException(errorMessage, ex);
}
}
});
GetRepositoryPolicyResponse result = response.join();
return result != null ? result.policyText() : null;
}
- Kotlin
-
- SDKpour Kotlin
-
/**
* Gets the repository policy for the specified repository.
*
* @param repoName the name of the repository.
*/
suspend fun getRepoPolicy(repoName: String?): String? {
require(!(repoName == null || repoName.isEmpty())) { "Repository name cannot be null or empty" }
// Create the request
val getRepositoryPolicyRequest =
GetRepositoryPolicyRequest {
repositoryName = repoName
}
EcrClient { region = "us-east-1" }.use { ecrClient ->
val response = ecrClient.getRepositoryPolicy(getRepositoryPolicyRequest)
val responseText = response.policyText
return responseText
}
}