Senden Sie einen Job an AWS Batch mit Java (Eclipse)

Ich habe versucht, einen Job mit Java (Eclipse) an AWS Batch zu senden, daher werde ich ihn freigeben.

Annahme

Folgendes wird in AWS Batch festgelegt. -Job-Definitionsname: Beispieljob-Definition -Queue name: sample-job-queue -Computing-Umgebungsname: Beispiel-Compute-Umgebung

In Eclipse machen wir Folgendes:

Bearbeiten Sie build.gradle und installieren Sie das SDK

Fügen Sie "aws-java-sdk-batch" zu "Abhängigkeiten" hinzu und installieren Sie es in Ihrem Projekt. (Klicken Sie mit der rechten Maustaste auf das Projekt und aktualisieren Sie das Gradle-Projekt, um den Vorgang zu starten.)

Zu Abhängigkeiten hinzufügen


dependencies {
… Abkürzung
    compile('com.amazonaws:aws-java-sdk-batch:1.11.683')
    // compile group: 'com.amazonaws', name: 'aws-java-sdk-batch', version: '1.11.683'    //Diese Schreibweise ist auch in Ordnung
… Abkürzung
}

Java-Beispielcode

Ich habe den folgenden Testcode mit Bezug auf das Dokument erstellt.

Beispielcode


package sample;

import java.util.HashMap;
import java.util.Map;

import com.amazonaws.regions.Regions;
import com.amazonaws.services.batch.AWSBatch;
import com.amazonaws.services.batch.AWSBatchClientBuilder;
import com.amazonaws.services.batch.model.SubmitJobRequest;
import com.amazonaws.services.batch.model.SubmitJobResult;

public class AwsBatchSample {

    public static void main(String[] args) {
        AwsBatchSample awsBatchSample = new AwsBatchSample();
        ab.awsBatchJobSend();
    }

    private void awsBatchJobSend() {
        AWSBatch client = null;
        try {
            client = AWSBatchClientBuilder.standard().withRegion(Regions.AP_NORTHEAST_1).build();
            Map<String,String> parameters = new HashMap<String, String>();
            parameters.put("param1", "JobParam1");
            //Befehl zur Jobdefinition: Echo-Beispiel-batch Ref::param1
            //Ausgabeergebnis im Protokoll: Beispiel-batch JobParam1
            SubmitJobRequest request = new SubmitJobRequest()
                                            .withJobName("sample-job-submit")
                                            .withJobQueue("sample-job-queue")
                                            .withJobDefinition("sample-job-definition")
                                            .withParameters(parameters)
                                            ;
            SubmitJobResult response = client.submitJob(request);
            System.out.println(response);
        } catch (Exception e) {
            System.out.println(e);
        } finally {
            if (client != null) {
                client.shutdown();
            }
        }
    }
}

Wenn die Auftragsübertragung erfolgreich ist, wird Folgendes zurückgegeben.


{JobName: sample-job-submit,JobId: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa}

Anpassungspunkt

Nicht in der Beispieldokumentation angegeben, Wenn Sie nicht ".withRegion (Regions.AP_NORTHEAST_1)" angeben, wird der folgende Fehler ausgegeben.

Fehlerprotokoll


20:31:11.636 [main] DEBUG com.amazonaws.AmazonWebServiceClient - Internal logging successfully configured to commons logger: true
20:31:11.998 [main] DEBUG com.amazonaws.monitoring.CsmConfigurationProviderChain - Unable to load configuration from com.amazonaws.monitoring.EnvironmentVariableCsmConfigurationProvider@17fc391b: Unable to load Client Side Monitoring configurations from environment variables!
20:31:11.998 [main] DEBUG com.amazonaws.monitoring.CsmConfigurationProviderChain - Unable to load configuration from com.amazonaws.monitoring.SystemPropertyCsmConfigurationProvider@2b30a42c: Unable to load Client Side Monitoring configurations from system properties variables!
20:31:11.998 [java-sdk-http-connection-reaper] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Closing connections idle longer than 60000 MILLISECONDS
20:31:11.999 [main] DEBUG com.amazonaws.monitoring.CsmConfigurationProviderChain - Unable to load configuration from com.amazonaws.monitoring.ProfileCsmConfigurationProvider@43df23d3: Unable to load config file
20:31:12.025 [main] WARN com.amazonaws.internal.InstanceMetadataServiceResourceFetcher - Fail to retrieve token 
com.amazonaws.SdkClientException: Failed to connect to service endpoint: 
	at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100)
	at com.amazonaws.internal.InstanceMetadataServiceResourceFetcher.getToken(InstanceMetadataServiceResourceFetcher.java:91)
	at com.amazonaws.internal.InstanceMetadataServiceResourceFetcher.readResource(InstanceMetadataServiceResourceFetcher.java:69)
	at com.amazonaws.internal.EC2ResourceFetcher.readResource(EC2ResourceFetcher.java:62)
	at com.amazonaws.util.EC2MetadataUtils.getItems(EC2MetadataUtils.java:400)
	at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:369)
	at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:365)
	at com.amazonaws.util.EC2MetadataUtils.getEC2InstanceRegion(EC2MetadataUtils.java:280)
	at com.amazonaws.regions.InstanceMetadataRegionProvider.tryDetectRegion(InstanceMetadataRegionProvider.java:59)
	at com.amazonaws.regions.InstanceMetadataRegionProvider.getRegion(InstanceMetadataRegionProvider.java:50)
	at com.amazonaws.regions.AwsRegionProviderChain.getRegion(AwsRegionProviderChain.java:46)
	at com.amazonaws.client.builder.AwsClientBuilder.determineRegionFromRegionProvider(AwsClientBuilder.java:475)
	at com.amazonaws.client.builder.AwsClientBuilder.setRegion(AwsClientBuilder.java:458)
	at com.amazonaws.client.builder.AwsClientBuilder.configureMutableProperties(AwsClientBuilder.java:424)
	at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46)
	at sample.AwsBatchSample.awsBatchJobSend(AwsBatchSample.java:17)
	at sample.AwsBatchSample.main(AwsBatchSample.java:12)
Caused by: java.net.SocketException: Network is unreachable: connect
	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
	at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
	at sun.net.www.http.HttpClient.New(HttpClient.java:339)
	at sun.net.www.http.HttpClient.New(HttpClient.java:357)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1181)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
	at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966)
	at com.amazonaws.internal.ConnectionUtils.connectToEndpoint(ConnectionUtils.java:52)
	at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:80)
	... 16 common frames omitted
20:31:12.025 [main] WARN com.amazonaws.util.EC2MetadataUtils - Unable to retrieve the requested metadata (/latest/dynamic/instance-identity/document). Failed to connect to service endpoint: 
com.amazonaws.SdkClientException: Failed to connect to service endpoint: 
	at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100)
	at com.amazonaws.internal.InstanceMetadataServiceResourceFetcher.getToken(InstanceMetadataServiceResourceFetcher.java:91)
	at com.amazonaws.internal.InstanceMetadataServiceResourceFetcher.readResource(InstanceMetadataServiceResourceFetcher.java:69)
	at com.amazonaws.internal.EC2ResourceFetcher.readResource(EC2ResourceFetcher.java:62)
	at com.amazonaws.util.EC2MetadataUtils.getItems(EC2MetadataUtils.java:400)
	at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:369)
	at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:365)
	at com.amazonaws.util.EC2MetadataUtils.getEC2InstanceRegion(EC2MetadataUtils.java:280)
	at com.amazonaws.regions.InstanceMetadataRegionProvider.tryDetectRegion(InstanceMetadataRegionProvider.java:59)
	at com.amazonaws.regions.InstanceMetadataRegionProvider.getRegion(InstanceMetadataRegionProvider.java:50)
	at com.amazonaws.regions.AwsRegionProviderChain.getRegion(AwsRegionProviderChain.java:46)
	at com.amazonaws.client.builder.AwsClientBuilder.determineRegionFromRegionProvider(AwsClientBuilder.java:475)
	at com.amazonaws.client.builder.AwsClientBuilder.setRegion(AwsClientBuilder.java:458)
	at com.amazonaws.client.builder.AwsClientBuilder.configureMutableProperties(AwsClientBuilder.java:424)
	at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46)
	at sample.AwsBatchSample.awsBatchJobSend(AwsBatchSample.java:17)
	at sample.AwsBatchSample.main(AwsBatchSample.java:12)
Caused by: java.net.SocketException: Network is unreachable: connect
	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
	at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
	at sun.net.www.http.HttpClient.New(HttpClient.java:339)
	at sun.net.www.http.HttpClient.New(HttpClient.java:357)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1181)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
	at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966)
	at com.amazonaws.internal.ConnectionUtils.connectToEndpoint(ConnectionUtils.java:52)
	at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:80)
	... 16 common frames omitted
com.amazonaws.SdkClientException: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.

Grob gesagt ist das alles für diese Zeit.

Referenz

https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/batch/AWSBatchClient.html#submitJob-com.amazonaws.services.batch.model.SubmitJobRequest- https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/batch/model/SubmitJobRequest.html https://github.com/aws/aws-sdk-java/issues/2062 https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-batch

Recommended Posts

Senden Sie einen Job an AWS Batch mit Java (Eclipse)
Verwendung des Java-Frameworks mit AWS Lambda! ??
Ich habe versucht, den Block mit Java zu brechen (1)
Bis Sie ein Java-Programm mit dem für Windows lokalen AWS SDK ausführen
So springen Sie von Eclipse Java zu einer SQL-Datei
So stellen Sie Java mit Serverless Framework für AWS Lambda bereit
[Java] So unterbrechen Sie eine Zeile mit StringBuilder
Führen Sie Batch mit Docker-Compose mit Java-Batch aus
Java zum Spielen mit Function
Stellen Sie mit Java eine Verbindung zur Datenbank her
Stellen Sie mit Java eine Verbindung zu MySQL 8 her
Verbinde dich mit Eclipse mit Orakel!
Ich habe versucht, mit Chocolatey eine Java8-Entwicklungsumgebung zu erstellen
Java-Programm zum Ändern der Größe eines Fotos in ein Quadrat mit Rändern
Ich habe versucht, eine Java EE-Anwendung mit OpenShift zu modernisieren.
[Anfänger] Versuchen Sie, mit Java ein einfaches RPG-Spiel zu erstellen ①
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Erstellen Sie einen SlackBot mit AWS Lambda & API Gateway in Java
So stellen Sie eine Kotlin (Java) -App auf AWS fargate bereit
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben
Versuchen Sie Spark Submit to EMR mit AWS SDK für Java
Ein Memo zum Starten der Java-Programmierung mit VS Code (Version 2020-04)
Eine Geschichte, die ich mit Java nur schwer herausfordern konnte
Erstellen eines Java-Projekts mit Gradle
Java mit Ramen lernen [Teil 1]
[Java] Mit Arrays.asList () zu beachtende Punkte
So erstellen Sie einen Java-Container
So implementieren Sie einen Job, der die Java-API in JobScheduler verwendet
Wagen Sie es, Kaggle mit Java herauszufordern (1)
Führen Sie eine Batchdatei von Java aus
Ich habe versucht, mit Java zu interagieren
Herstellen einer Verbindung zu einer Datenbank mit Java (Teil 1) Möglicherweise die grundlegende Methode
Dinge, die beim Ausführen eines bestimmten Jobs mit Spring Batch zu beachten sind
Erstellen Sie ein Java-Projekt mit Eclipse
Ersetzen Sie durch einen Wert entsprechend der Übereinstimmung mit einem regulären Java-Ausdruck
Verwenden von Java mit AWS Lambda-Eclipse-Vorbereitung
Java, Arrays für Anfänger
Java Eclips So debuggen Sie JavaScript
So erstellen Sie ein Java-Array
Eine eigenständige Java-App, die Protokolle mit slf4j / logback an CloudWatch-Protokolle sendet
Holen Sie sich eine Liste der S3-Dateien mit ListObjectsV2Request (AWS SDK für Java)
[Persönliches Memo] Interaktion mit dem Zufallszahlengenerator in Java
[Java] So drehen Sie ein zweidimensionales Array mit einer erweiterten for-Anweisung
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (PowerMockito Edition)
Ich möchte mit Jakarta EE 8 mit Java 11 ein dunkles Web-SNS erstellen
Hanashi stolperte ein wenig auf dem Weg, Java mit VScode zu studieren
[Fotos organisieren] [Java] [Fenster] Verschieben Sie ausgewählte Fotos mit 2 Klicks in einen Ordner
[Java] Stellen Sie eine mit Eclipse + Maven + Ontology mit Heroku erstellte Webanwendung bereit
Ich möchte für jedes Array mit Lambda-Ausdruck in Java
So erstellen Sie eine App mit einem Plug-In-Mechanismus [C # und Java]
So starten Sie einen Docker-Container mit einem in einer Batchdatei bereitgestellten Volume
So erstellen Sie eine Java-Kalenderzusammenfassung
Ein Memorandum zur Verwendung von Eclipse
Verwenden von Java mit AWS Lambda-Implementation-Check CloudWatch-Argumenten
So kompilieren Sie Java mit VsCode & Ant
[Java] Fassen Sie zusammen, wie Sie mit der Methode equals vergleichen können
Verwenden von Java mit AWS Lambda-Implementierung-Stop / Launch EC2