Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs verfügbar.
Codebeispiele für Amazon ECR unter Verwendung von AWS SDKs
Die folgenden Codebeispiele veranschaulichen, wie Sie Amazon Elastic Container Registry mit einem AWS Software Development Kit (SDK) verwenden.
Bei Grundlagen handelt es sich um Code-Beispiele, die Ihnen zeigen, wie Sie die wesentlichen Vorgänge innerhalb eines Services ausführen.
Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarios anzeigen.
Erste Schritte
Die folgenden Codebeispiele zeigen, wie Sie mit der Verwendung von Amazon ECR beginnen.
- Java
-
- SDK für Java 2.x
-
Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel- einrichten und ausführen.
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.ecr.EcrClient;
import software.amazon.awssdk.services.ecr.model.EcrException;
import software.amazon.awssdk.services.ecr.model.ListImagesRequest;
import software.amazon.awssdk.services.ecr.paginators.ListImagesIterable;
public class HelloECR {
public static void main(String[] args) {
final String usage = """
Usage: <repositoryName>
Where:
repositoryName - The name of the Amazon ECR repository.
""";
if (args.length != 1) {
System.out.println(usage);
System.exit(1);
}
String repoName = args[0];
EcrClient ecrClient = EcrClient.builder()
.region(Region.US_EAST_1)
.build();
listImageTags(ecrClient, repoName);
}
public static void listImageTags(EcrClient ecrClient, String repoName){
ListImagesRequest listImagesPaginator = ListImagesRequest.builder()
.repositoryName(repoName)
.build();
ListImagesIterable imagesIterable = ecrClient.listImagesPaginator(listImagesPaginator);
imagesIterable.stream()
.flatMap(r -> r.imageIds().stream())
.forEach(image -> System.out.println("The docker image tag is: " +image.imageTag()));
}
}
- Kotlin
-
- SDK für Kotlin
-
Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel- einrichten und ausführen.
import aws.sdk.kotlin.services.ecr.EcrClient
import aws.sdk.kotlin.services.ecr.model.ListImagesRequest
import kotlin.system.exitProcess
suspend fun main(args: Array<String>) {
val usage = """
Usage: <repositoryName>
Where:
repositoryName - The name of the Amazon ECR repository.
""".trimIndent()
if (args.size != 1) {
println(usage)
exitProcess(1)
}
val repoName = args[0]
listImageTags(repoName)
}
suspend fun listImageTags(repoName: String?) {
val listImages =
ListImagesRequest {
repositoryName = repoName
}
EcrClient.fromEnvironment { region = "us-east-1" }.use { ecrClient ->
val imageResponse = ecrClient.listImages(listImages)
imageResponse.imageIds?.forEach { imageId ->
println("Image tag: ${imageId.imageTag}")
}
}
}
- Python
-
- SDK für Python (Boto3)
-
Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel- einrichten und ausführen.
import boto3
import argparse
from boto3 import client
def hello_ecr(ecr_client: client, repository_name: str) -> None:
"""
Use the AWS SDK for Python (Boto3) to create an Amazon Elastic Container Registry (Amazon ECR)
client and list the images in a repository.
This example uses the default settings specified in your shared credentials
and config files.
:param ecr_client: A Boto3 Amazon ECR Client object. This object wraps
the low-level Amazon ECR service API.
:param repository_name: The name of an Amazon ECR repository in your account.
"""
print(
f"Hello, Amazon ECR! Let's list some images in the repository '{repository_name}':\n"
)
paginator = ecr_client.get_paginator("list_images")
page_iterator = paginator.paginate(
repositoryName=repository_name, PaginationConfig={"MaxItems": 10}
)
image_names: [str] = []
for page in page_iterator:
for schedule in page["imageIds"]:
image_names.append(schedule["imageTag"])
print(f"{len(image_names)} image(s) retrieved.")
for schedule_name in image_names:
print(f"\t{schedule_name}")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Run hello Amazon ECR.")
parser.add_argument(
"--repository-name",
type=str,
help="the name of an Amazon ECR repository in your account.",
required=True,
)
args = parser.parse_args()
hello_ecr(boto3.client("ecr"), args.repository_name)