com.amazonaws.services.neptunedata.model.StartLoaderJobRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-neptunedata Show documentation
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.neptunedata.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class StartLoaderJobRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The source
parameter accepts an S3 URI that identifies a single file, multiple files, a folder, or
* multiple folders. Neptune loads every data file in any folder that is specified.
*
*
* The URI can be in any of the following formats.
*
*
* -
*
* s3://(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.amazonaws.com/(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.us-east-1.amazonaws.com/(bucket_name)/(object-key-name)
*
*
*
*
* The object-key-name
element of the URI is equivalent to the prefix parameter in an S3 ListObjects API call. It
* identifies all the objects in the specified S3 bucket whose names begin with that prefix. That can be a single
* file or folder, or multiple files and/or folders.
*
*
* The specified folder or folders can contain multiple vertex files and multiple edge files.
*
*/
private String source;
/**
*
* The format of the data. For more information about data formats for the Neptune Loader
command, see
* Load Data
* Formats.
*
*
* Allowed values
*
*
* -
*
* csv
for the Gremlin CSV
* data format.
*
*
* -
*
* opencypher
for the openCypher
* CSV data format.
*
*
* -
*
* ntriples
for the N-Triples RDF data format.
*
*
* -
*
* nquads
for the N-Quads RDF data format.
*
*
* -
*
* rdfxml
for the RDF\XML RDF data
* format.
*
*
* -
*
* turtle
for the Turtle RDF data format.
*
*
*
*/
private String format;
/**
*
* The Amazon region of the S3 bucket. This must match the Amazon Region of the DB cluster.
*
*/
private String s3BucketRegion;
/**
*
* The Amazon Resource Name (ARN) for an IAM role to be assumed by the Neptune DB instance for access to the S3
* bucket. The IAM role ARN provided here should be attached to the DB cluster (see Adding
* the IAM Role to an Amazon Neptune Cluster.
*
*/
private String iamRoleArn;
/**
*
* The load job mode.
*
*
* Allowed values: RESUME
, NEW
, AUTO
.
*
*
* Default value: AUTO
.
*
*
*
*
*
* -
*
* RESUME
– In RESUME mode, the loader looks for a previous load from this source, and if it finds
* one, resumes that load job. If no previous load job is found, the loader stops.
*
*
* The loader avoids reloading files that were successfully loaded in a previous job. It only tries to process
* failed files. If you dropped previously loaded data from your Neptune cluster, that data is not reloaded in this
* mode. If a previous load job loaded all files from the same source successfully, nothing is reloaded, and the
* loader returns success.
*
*
* -
*
* NEW
– In NEW mode, the creates a new load request regardless of any previous loads. You can use
* this mode to reload all the data from a source after dropping previously loaded data from your Neptune cluster,
* or to load new data available at the same source.
*
*
* -
*
* AUTO
– In AUTO mode, the loader looks for a previous load job from the same source, and if it
* finds one, resumes that job, just as in RESUME
mode.
*
*
* If the loader doesn't find a previous load job from the same source, it loads all data from the source, just as
* in NEW
mode.
*
*
*
*/
private String mode;
/**
*
* failOnError
– A flag to toggle a complete stop on an error.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "TRUE"
.
*
*
* When this parameter is set to "FALSE"
, the loader tries to load all the data in the location
* specified, skipping any entries with errors.
*
*
* When this parameter is set to "TRUE"
, the loader stops as soon as it encounters an error. Data
* loaded up to that point persists.
*
*/
private Boolean failOnError;
/**
*
* The optional parallelism
parameter can be set to reduce the number of threads used by the bulk load
* process.
*
*
* Allowed values:
*
*
* -
*
* LOW
– The number of threads used is the number of available vCPUs divided by 8.
*
*
* -
*
* MEDIUM
– The number of threads used is the number of available vCPUs divided by 2.
*
*
* -
*
* HIGH
– The number of threads used is the same as the number of available vCPUs.
*
*
* -
*
* OVERSUBSCRIBE
– The number of threads used is the number of available vCPUs multiplied by 2. If
* this value is used, the bulk loader takes up all available resources.
*
*
* This does not mean, however, that the OVERSUBSCRIBE
setting results in 100% CPU utilization. Because
* the load operation is I/O bound, the highest CPU utilization to expect is in the 60% to 70% range.
*
*
*
*
* Default value: HIGH
*
*
* The parallelism
setting can sometimes result in a deadlock between threads when loading openCypher
* data. When this happens, Neptune returns the LOAD_DATA_DEADLOCK
error. You can generally fix the
* issue by setting parallelism
to a lower setting and retrying the load command.
*
*/
private String parallelism;
/**
*
* parserConfiguration
– An optional object with additional parser configuration values.
* Each of the child parameters is also optional:
*
*
*
*
*
* -
*
* namedGraphUri
– The default graph for all RDF formats when no graph is specified (for
* non-quads formats and NQUAD entries with no graph).
*
*
* The default is https://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
.
*
*
* -
*
* baseUri
– The base URI for RDF/XML and Turtle formats.
*
*
* The default is https://aws.amazon.com/neptune/default
.
*
*
* -
*
* allowEmptyStrings
– Gremlin users need to be able to pass empty string values("") as
* node and edge properties when loading CSV data. If allowEmptyStrings
is set to false
* (the default), such empty strings are treated as nulls and are not loaded.
*
*
* If allowEmptyStrings
is set to true
, the loader treats empty strings as valid property
* values and loads them accordingly.
*
*
*
*/
private java.util.Map parserConfiguration;
/**
*
* updateSingleCardinalityProperties
is an optional parameter that controls how the bulk loader treats
* a new value for single-cardinality vertex or edge properties. This is not supported for loading openCypher data.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* By default, or when updateSingleCardinalityProperties
is explicitly set to "FALSE"
, the
* loader treats a new value as an error, because it violates single cardinality.
*
*
* When updateSingleCardinalityProperties
is set to "TRUE"
, on the other hand, the bulk
* loader replaces the existing value with the new one. If multiple edge or single-cardinality vertex property
* values are provided in the source file(s) being loaded, the final value at the end of the bulk load could be any
* one of those new values. The loader only guarantees that the existing value has been replaced by one of the new
* ones.
*
*/
private Boolean updateSingleCardinalityProperties;
/**
*
* This is an optional flag parameter that indicates whether the load request can be queued up or not.
*
*
* You don't have to wait for one load job to complete before issuing the next one, because Neptune can queue up as
* many as 64 jobs at a time, provided that their queueRequest
parameters are all set to
* "TRUE"
. The queue order of the jobs will be first-in-first-out (FIFO).
*
*
* If the queueRequest
parameter is omitted or set to "FALSE"
, the load request will fail
* if another load job is already running.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*/
private Boolean queueRequest;
/**
*
* This is an optional parameter that can make a queued load request contingent on the successful completion of one
* or more previous jobs in the queue.
*
*
* Neptune can queue up as many as 64 load requests at a time, if their queueRequest
parameters are set
* to "TRUE"
. The dependencies
parameter lets you make execution of such a queued request
* dependent on the successful completion of one or more specified previous requests in the queue.
*
*
* For example, if load Job-A
and Job-B
are independent of each other, but load
* Job-C
needs Job-A
and Job-B
to be finished before it begins, proceed as
* follows:
*
*
* -
*
* Submit load-job-A
and load-job-B
one after another in any order, and save their
* load-ids.
*
*
* -
*
* Submit load-job-C
with the load-ids of the two jobs in its dependencies
field:
*
*
*
*
* Because of the dependencies
parameter, the bulk loader will not start Job-C
until
* Job-A
and Job-B
have completed successfully. If either one of them fails, Job-C will
* not be executed, and its status will be set to LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
.
*
*
* You can set up multiple levels of dependency in this way, so that the failure of one job will cause all requests
* that are directly or indirectly dependent on it to be cancelled.
*
*/
private java.util.List dependencies;
/**
*
* This parameter is required only when loading openCypher data that contains relationship IDs. It must be included
* and set to True
when openCypher relationship IDs are explicitly provided in the load data
* (recommended).
*
*
* When userProvidedEdgeIds
is absent or set to True
, an :ID
column must be
* present in every relationship file in the load.
*
*
* When userProvidedEdgeIds
is present and set to False
, relationship files in the load
* must not contain an :ID
column. Instead, the Neptune loader automatically generates an ID for
* each relationship.
*
*
* It's useful to provide relationship IDs explicitly so that the loader can resume loading after error in the CSV
* data have been fixed, without having to reload any relationships that have already been loaded. If relationship
* IDs have not been explicitly assigned, the loader cannot resume a failed load if any relationship file has had to
* be corrected, and must instead reload all the relationships.
*
*/
private Boolean userProvidedEdgeIds;
/**
*
* The source
parameter accepts an S3 URI that identifies a single file, multiple files, a folder, or
* multiple folders. Neptune loads every data file in any folder that is specified.
*
*
* The URI can be in any of the following formats.
*
*
* -
*
* s3://(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.amazonaws.com/(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.us-east-1.amazonaws.com/(bucket_name)/(object-key-name)
*
*
*
*
* The object-key-name
element of the URI is equivalent to the prefix parameter in an S3 ListObjects API call. It
* identifies all the objects in the specified S3 bucket whose names begin with that prefix. That can be a single
* file or folder, or multiple files and/or folders.
*
*
* The specified folder or folders can contain multiple vertex files and multiple edge files.
*
*
* @param source
* The source
parameter accepts an S3 URI that identifies a single file, multiple files, a
* folder, or multiple folders. Neptune loads every data file in any folder that is specified.
*
* The URI can be in any of the following formats.
*
*
* -
*
* s3://(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.amazonaws.com/(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.us-east-1.amazonaws.com/(bucket_name)/(object-key-name)
*
*
*
*
* The object-key-name
element of the URI is equivalent to the prefix parameter in an S3 ListObjects API call. It
* identifies all the objects in the specified S3 bucket whose names begin with that prefix. That can be a
* single file or folder, or multiple files and/or folders.
*
*
* The specified folder or folders can contain multiple vertex files and multiple edge files.
*/
public void setSource(String source) {
this.source = source;
}
/**
*
* The source
parameter accepts an S3 URI that identifies a single file, multiple files, a folder, or
* multiple folders. Neptune loads every data file in any folder that is specified.
*
*
* The URI can be in any of the following formats.
*
*
* -
*
* s3://(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.amazonaws.com/(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.us-east-1.amazonaws.com/(bucket_name)/(object-key-name)
*
*
*
*
* The object-key-name
element of the URI is equivalent to the prefix parameter in an S3 ListObjects API call. It
* identifies all the objects in the specified S3 bucket whose names begin with that prefix. That can be a single
* file or folder, or multiple files and/or folders.
*
*
* The specified folder or folders can contain multiple vertex files and multiple edge files.
*
*
* @return The source
parameter accepts an S3 URI that identifies a single file, multiple files, a
* folder, or multiple folders. Neptune loads every data file in any folder that is specified.
*
* The URI can be in any of the following formats.
*
*
* -
*
* s3://(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.amazonaws.com/(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.us-east-1.amazonaws.com/(bucket_name)/(object-key-name)
*
*
*
*
* The object-key-name
element of the URI is equivalent to the prefix parameter in an S3 ListObjects API call. It
* identifies all the objects in the specified S3 bucket whose names begin with that prefix. That can be a
* single file or folder, or multiple files and/or folders.
*
*
* The specified folder or folders can contain multiple vertex files and multiple edge files.
*/
public String getSource() {
return this.source;
}
/**
*
* The source
parameter accepts an S3 URI that identifies a single file, multiple files, a folder, or
* multiple folders. Neptune loads every data file in any folder that is specified.
*
*
* The URI can be in any of the following formats.
*
*
* -
*
* s3://(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.amazonaws.com/(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.us-east-1.amazonaws.com/(bucket_name)/(object-key-name)
*
*
*
*
* The object-key-name
element of the URI is equivalent to the prefix parameter in an S3 ListObjects API call. It
* identifies all the objects in the specified S3 bucket whose names begin with that prefix. That can be a single
* file or folder, or multiple files and/or folders.
*
*
* The specified folder or folders can contain multiple vertex files and multiple edge files.
*
*
* @param source
* The source
parameter accepts an S3 URI that identifies a single file, multiple files, a
* folder, or multiple folders. Neptune loads every data file in any folder that is specified.
*
* The URI can be in any of the following formats.
*
*
* -
*
* s3://(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.amazonaws.com/(bucket_name)/(object-key-name)
*
*
* -
*
* https://s3.us-east-1.amazonaws.com/(bucket_name)/(object-key-name)
*
*
*
*
* The object-key-name
element of the URI is equivalent to the prefix parameter in an S3 ListObjects API call. It
* identifies all the objects in the specified S3 bucket whose names begin with that prefix. That can be a
* single file or folder, or multiple files and/or folders.
*
*
* The specified folder or folders can contain multiple vertex files and multiple edge files.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest withSource(String source) {
setSource(source);
return this;
}
/**
*
* The format of the data. For more information about data formats for the Neptune Loader
command, see
* Load Data
* Formats.
*
*
* Allowed values
*
*
* -
*
* csv
for the Gremlin CSV
* data format.
*
*
* -
*
* opencypher
for the openCypher
* CSV data format.
*
*
* -
*
* ntriples
for the N-Triples RDF data format.
*
*
* -
*
* nquads
for the N-Quads RDF data format.
*
*
* -
*
* rdfxml
for the RDF\XML RDF data
* format.
*
*
* -
*
* turtle
for the Turtle RDF data format.
*
*
*
*
* @param format
* The format of the data. For more information about data formats for the Neptune Loader
* command, see Load Data
* Formats.
*
* Allowed values
*
*
* -
*
* csv
for the Gremlin
* CSV data format.
*
*
* -
*
* opencypher
for the openCypher CSV data format.
*
*
* -
*
* ntriples
for the N-Triples RDF data
* format.
*
*
* -
*
* nquads
for the N-Quads RDF data format.
*
*
* -
*
* rdfxml
for the RDF\XML RDF data
* format.
*
*
* -
*
* turtle
for the Turtle RDF data format.
*
*
* @see Format
*/
public void setFormat(String format) {
this.format = format;
}
/**
*
* The format of the data. For more information about data formats for the Neptune Loader
command, see
* Load Data
* Formats.
*
*
* Allowed values
*
*
* -
*
* csv
for the Gremlin CSV
* data format.
*
*
* -
*
* opencypher
for the openCypher
* CSV data format.
*
*
* -
*
* ntriples
for the N-Triples RDF data format.
*
*
* -
*
* nquads
for the N-Quads RDF data format.
*
*
* -
*
* rdfxml
for the RDF\XML RDF data
* format.
*
*
* -
*
* turtle
for the Turtle RDF data format.
*
*
*
*
* @return The format of the data. For more information about data formats for the Neptune Loader
* command, see Load Data
* Formats.
*
* Allowed values
*
*
* -
*
* csv
for the Gremlin CSV data format.
*
*
* -
*
* opencypher
for the openCypher CSV data format.
*
*
* -
*
* ntriples
for the N-Triples RDF data
* format.
*
*
* -
*
* nquads
for the N-Quads RDF data
* format.
*
*
* -
*
* rdfxml
for the RDF\XML RDF data
* format.
*
*
* -
*
* turtle
for the Turtle RDF data format.
*
*
* @see Format
*/
public String getFormat() {
return this.format;
}
/**
*
* The format of the data. For more information about data formats for the Neptune Loader
command, see
* Load Data
* Formats.
*
*
* Allowed values
*
*
* -
*
* csv
for the Gremlin CSV
* data format.
*
*
* -
*
* opencypher
for the openCypher
* CSV data format.
*
*
* -
*
* ntriples
for the N-Triples RDF data format.
*
*
* -
*
* nquads
for the N-Quads RDF data format.
*
*
* -
*
* rdfxml
for the RDF\XML RDF data
* format.
*
*
* -
*
* turtle
for the Turtle RDF data format.
*
*
*
*
* @param format
* The format of the data. For more information about data formats for the Neptune Loader
* command, see Load Data
* Formats.
*
* Allowed values
*
*
* -
*
* csv
for the Gremlin
* CSV data format.
*
*
* -
*
* opencypher
for the openCypher CSV data format.
*
*
* -
*
* ntriples
for the N-Triples RDF data
* format.
*
*
* -
*
* nquads
for the N-Quads RDF data format.
*
*
* -
*
* rdfxml
for the RDF\XML RDF data
* format.
*
*
* -
*
* turtle
for the Turtle RDF data format.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see Format
*/
public StartLoaderJobRequest withFormat(String format) {
setFormat(format);
return this;
}
/**
*
* The format of the data. For more information about data formats for the Neptune Loader
command, see
* Load Data
* Formats.
*
*
* Allowed values
*
*
* -
*
* csv
for the Gremlin CSV
* data format.
*
*
* -
*
* opencypher
for the openCypher
* CSV data format.
*
*
* -
*
* ntriples
for the N-Triples RDF data format.
*
*
* -
*
* nquads
for the N-Quads RDF data format.
*
*
* -
*
* rdfxml
for the RDF\XML RDF data
* format.
*
*
* -
*
* turtle
for the Turtle RDF data format.
*
*
*
*
* @param format
* The format of the data. For more information about data formats for the Neptune Loader
* command, see Load Data
* Formats.
*
* Allowed values
*
*
* -
*
* csv
for the Gremlin
* CSV data format.
*
*
* -
*
* opencypher
for the openCypher CSV data format.
*
*
* -
*
* ntriples
for the N-Triples RDF data
* format.
*
*
* -
*
* nquads
for the N-Quads RDF data format.
*
*
* -
*
* rdfxml
for the RDF\XML RDF data
* format.
*
*
* -
*
* turtle
for the Turtle RDF data format.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see Format
*/
public StartLoaderJobRequest withFormat(Format format) {
this.format = format.toString();
return this;
}
/**
*
* The Amazon region of the S3 bucket. This must match the Amazon Region of the DB cluster.
*
*
* @param s3BucketRegion
* The Amazon region of the S3 bucket. This must match the Amazon Region of the DB cluster.
* @see S3BucketRegion
*/
public void setS3BucketRegion(String s3BucketRegion) {
this.s3BucketRegion = s3BucketRegion;
}
/**
*
* The Amazon region of the S3 bucket. This must match the Amazon Region of the DB cluster.
*
*
* @return The Amazon region of the S3 bucket. This must match the Amazon Region of the DB cluster.
* @see S3BucketRegion
*/
public String getS3BucketRegion() {
return this.s3BucketRegion;
}
/**
*
* The Amazon region of the S3 bucket. This must match the Amazon Region of the DB cluster.
*
*
* @param s3BucketRegion
* The Amazon region of the S3 bucket. This must match the Amazon Region of the DB cluster.
* @return Returns a reference to this object so that method calls can be chained together.
* @see S3BucketRegion
*/
public StartLoaderJobRequest withS3BucketRegion(String s3BucketRegion) {
setS3BucketRegion(s3BucketRegion);
return this;
}
/**
*
* The Amazon region of the S3 bucket. This must match the Amazon Region of the DB cluster.
*
*
* @param s3BucketRegion
* The Amazon region of the S3 bucket. This must match the Amazon Region of the DB cluster.
* @return Returns a reference to this object so that method calls can be chained together.
* @see S3BucketRegion
*/
public StartLoaderJobRequest withS3BucketRegion(S3BucketRegion s3BucketRegion) {
this.s3BucketRegion = s3BucketRegion.toString();
return this;
}
/**
*
* The Amazon Resource Name (ARN) for an IAM role to be assumed by the Neptune DB instance for access to the S3
* bucket. The IAM role ARN provided here should be attached to the DB cluster (see Adding
* the IAM Role to an Amazon Neptune Cluster.
*
*
* @param iamRoleArn
* The Amazon Resource Name (ARN) for an IAM role to be assumed by the Neptune DB instance for access to the
* S3 bucket. The IAM role ARN provided here should be attached to the DB cluster (see Adding the IAM Role to an Amazon Neptune Cluster.
*/
public void setIamRoleArn(String iamRoleArn) {
this.iamRoleArn = iamRoleArn;
}
/**
*
* The Amazon Resource Name (ARN) for an IAM role to be assumed by the Neptune DB instance for access to the S3
* bucket. The IAM role ARN provided here should be attached to the DB cluster (see Adding
* the IAM Role to an Amazon Neptune Cluster.
*
*
* @return The Amazon Resource Name (ARN) for an IAM role to be assumed by the Neptune DB instance for access to the
* S3 bucket. The IAM role ARN provided here should be attached to the DB cluster (see Adding the IAM Role to an Amazon Neptune Cluster.
*/
public String getIamRoleArn() {
return this.iamRoleArn;
}
/**
*
* The Amazon Resource Name (ARN) for an IAM role to be assumed by the Neptune DB instance for access to the S3
* bucket. The IAM role ARN provided here should be attached to the DB cluster (see Adding
* the IAM Role to an Amazon Neptune Cluster.
*
*
* @param iamRoleArn
* The Amazon Resource Name (ARN) for an IAM role to be assumed by the Neptune DB instance for access to the
* S3 bucket. The IAM role ARN provided here should be attached to the DB cluster (see Adding the IAM Role to an Amazon Neptune Cluster.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest withIamRoleArn(String iamRoleArn) {
setIamRoleArn(iamRoleArn);
return this;
}
/**
*
* The load job mode.
*
*
* Allowed values: RESUME
, NEW
, AUTO
.
*
*
* Default value: AUTO
.
*
*
*
*
*
* -
*
* RESUME
– In RESUME mode, the loader looks for a previous load from this source, and if it finds
* one, resumes that load job. If no previous load job is found, the loader stops.
*
*
* The loader avoids reloading files that were successfully loaded in a previous job. It only tries to process
* failed files. If you dropped previously loaded data from your Neptune cluster, that data is not reloaded in this
* mode. If a previous load job loaded all files from the same source successfully, nothing is reloaded, and the
* loader returns success.
*
*
* -
*
* NEW
– In NEW mode, the creates a new load request regardless of any previous loads. You can use
* this mode to reload all the data from a source after dropping previously loaded data from your Neptune cluster,
* or to load new data available at the same source.
*
*
* -
*
* AUTO
– In AUTO mode, the loader looks for a previous load job from the same source, and if it
* finds one, resumes that job, just as in RESUME
mode.
*
*
* If the loader doesn't find a previous load job from the same source, it loads all data from the source, just as
* in NEW
mode.
*
*
*
*
* @param mode
* The load job mode.
*
* Allowed values: RESUME
, NEW
, AUTO
.
*
*
* Default value: AUTO
.
*
*
*
*
*
* -
*
* RESUME
– In RESUME mode, the loader looks for a previous load from this source, and if it
* finds one, resumes that load job. If no previous load job is found, the loader stops.
*
*
* The loader avoids reloading files that were successfully loaded in a previous job. It only tries to
* process failed files. If you dropped previously loaded data from your Neptune cluster, that data is not
* reloaded in this mode. If a previous load job loaded all files from the same source successfully, nothing
* is reloaded, and the loader returns success.
*
*
* -
*
* NEW
– In NEW mode, the creates a new load request regardless of any previous loads. You
* can use this mode to reload all the data from a source after dropping previously loaded data from your
* Neptune cluster, or to load new data available at the same source.
*
*
* -
*
* AUTO
– In AUTO mode, the loader looks for a previous load job from the same source, and
* if it finds one, resumes that job, just as in RESUME
mode.
*
*
* If the loader doesn't find a previous load job from the same source, it loads all data from the source,
* just as in NEW
mode.
*
*
* @see Mode
*/
public void setMode(String mode) {
this.mode = mode;
}
/**
*
* The load job mode.
*
*
* Allowed values: RESUME
, NEW
, AUTO
.
*
*
* Default value: AUTO
.
*
*
*
*
*
* -
*
* RESUME
– In RESUME mode, the loader looks for a previous load from this source, and if it finds
* one, resumes that load job. If no previous load job is found, the loader stops.
*
*
* The loader avoids reloading files that were successfully loaded in a previous job. It only tries to process
* failed files. If you dropped previously loaded data from your Neptune cluster, that data is not reloaded in this
* mode. If a previous load job loaded all files from the same source successfully, nothing is reloaded, and the
* loader returns success.
*
*
* -
*
* NEW
– In NEW mode, the creates a new load request regardless of any previous loads. You can use
* this mode to reload all the data from a source after dropping previously loaded data from your Neptune cluster,
* or to load new data available at the same source.
*
*
* -
*
* AUTO
– In AUTO mode, the loader looks for a previous load job from the same source, and if it
* finds one, resumes that job, just as in RESUME
mode.
*
*
* If the loader doesn't find a previous load job from the same source, it loads all data from the source, just as
* in NEW
mode.
*
*
*
*
* @return The load job mode.
*
* Allowed values: RESUME
, NEW
, AUTO
.
*
*
* Default value: AUTO
.
*
*
*
*
*
* -
*
* RESUME
– In RESUME mode, the loader looks for a previous load from this source, and if
* it finds one, resumes that load job. If no previous load job is found, the loader stops.
*
*
* The loader avoids reloading files that were successfully loaded in a previous job. It only tries to
* process failed files. If you dropped previously loaded data from your Neptune cluster, that data is not
* reloaded in this mode. If a previous load job loaded all files from the same source successfully, nothing
* is reloaded, and the loader returns success.
*
*
* -
*
* NEW
– In NEW mode, the creates a new load request regardless of any previous loads. You
* can use this mode to reload all the data from a source after dropping previously loaded data from your
* Neptune cluster, or to load new data available at the same source.
*
*
* -
*
* AUTO
– In AUTO mode, the loader looks for a previous load job from the same source, and
* if it finds one, resumes that job, just as in RESUME
mode.
*
*
* If the loader doesn't find a previous load job from the same source, it loads all data from the source,
* just as in NEW
mode.
*
*
* @see Mode
*/
public String getMode() {
return this.mode;
}
/**
*
* The load job mode.
*
*
* Allowed values: RESUME
, NEW
, AUTO
.
*
*
* Default value: AUTO
.
*
*
*
*
*
* -
*
* RESUME
– In RESUME mode, the loader looks for a previous load from this source, and if it finds
* one, resumes that load job. If no previous load job is found, the loader stops.
*
*
* The loader avoids reloading files that were successfully loaded in a previous job. It only tries to process
* failed files. If you dropped previously loaded data from your Neptune cluster, that data is not reloaded in this
* mode. If a previous load job loaded all files from the same source successfully, nothing is reloaded, and the
* loader returns success.
*
*
* -
*
* NEW
– In NEW mode, the creates a new load request regardless of any previous loads. You can use
* this mode to reload all the data from a source after dropping previously loaded data from your Neptune cluster,
* or to load new data available at the same source.
*
*
* -
*
* AUTO
– In AUTO mode, the loader looks for a previous load job from the same source, and if it
* finds one, resumes that job, just as in RESUME
mode.
*
*
* If the loader doesn't find a previous load job from the same source, it loads all data from the source, just as
* in NEW
mode.
*
*
*
*
* @param mode
* The load job mode.
*
* Allowed values: RESUME
, NEW
, AUTO
.
*
*
* Default value: AUTO
.
*
*
*
*
*
* -
*
* RESUME
– In RESUME mode, the loader looks for a previous load from this source, and if it
* finds one, resumes that load job. If no previous load job is found, the loader stops.
*
*
* The loader avoids reloading files that were successfully loaded in a previous job. It only tries to
* process failed files. If you dropped previously loaded data from your Neptune cluster, that data is not
* reloaded in this mode. If a previous load job loaded all files from the same source successfully, nothing
* is reloaded, and the loader returns success.
*
*
* -
*
* NEW
– In NEW mode, the creates a new load request regardless of any previous loads. You
* can use this mode to reload all the data from a source after dropping previously loaded data from your
* Neptune cluster, or to load new data available at the same source.
*
*
* -
*
* AUTO
– In AUTO mode, the loader looks for a previous load job from the same source, and
* if it finds one, resumes that job, just as in RESUME
mode.
*
*
* If the loader doesn't find a previous load job from the same source, it loads all data from the source,
* just as in NEW
mode.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see Mode
*/
public StartLoaderJobRequest withMode(String mode) {
setMode(mode);
return this;
}
/**
*
* The load job mode.
*
*
* Allowed values: RESUME
, NEW
, AUTO
.
*
*
* Default value: AUTO
.
*
*
*
*
*
* -
*
* RESUME
– In RESUME mode, the loader looks for a previous load from this source, and if it finds
* one, resumes that load job. If no previous load job is found, the loader stops.
*
*
* The loader avoids reloading files that were successfully loaded in a previous job. It only tries to process
* failed files. If you dropped previously loaded data from your Neptune cluster, that data is not reloaded in this
* mode. If a previous load job loaded all files from the same source successfully, nothing is reloaded, and the
* loader returns success.
*
*
* -
*
* NEW
– In NEW mode, the creates a new load request regardless of any previous loads. You can use
* this mode to reload all the data from a source after dropping previously loaded data from your Neptune cluster,
* or to load new data available at the same source.
*
*
* -
*
* AUTO
– In AUTO mode, the loader looks for a previous load job from the same source, and if it
* finds one, resumes that job, just as in RESUME
mode.
*
*
* If the loader doesn't find a previous load job from the same source, it loads all data from the source, just as
* in NEW
mode.
*
*
*
*
* @param mode
* The load job mode.
*
* Allowed values: RESUME
, NEW
, AUTO
.
*
*
* Default value: AUTO
.
*
*
*
*
*
* -
*
* RESUME
– In RESUME mode, the loader looks for a previous load from this source, and if it
* finds one, resumes that load job. If no previous load job is found, the loader stops.
*
*
* The loader avoids reloading files that were successfully loaded in a previous job. It only tries to
* process failed files. If you dropped previously loaded data from your Neptune cluster, that data is not
* reloaded in this mode. If a previous load job loaded all files from the same source successfully, nothing
* is reloaded, and the loader returns success.
*
*
* -
*
* NEW
– In NEW mode, the creates a new load request regardless of any previous loads. You
* can use this mode to reload all the data from a source after dropping previously loaded data from your
* Neptune cluster, or to load new data available at the same source.
*
*
* -
*
* AUTO
– In AUTO mode, the loader looks for a previous load job from the same source, and
* if it finds one, resumes that job, just as in RESUME
mode.
*
*
* If the loader doesn't find a previous load job from the same source, it loads all data from the source,
* just as in NEW
mode.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see Mode
*/
public StartLoaderJobRequest withMode(Mode mode) {
this.mode = mode.toString();
return this;
}
/**
*
* failOnError
– A flag to toggle a complete stop on an error.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "TRUE"
.
*
*
* When this parameter is set to "FALSE"
, the loader tries to load all the data in the location
* specified, skipping any entries with errors.
*
*
* When this parameter is set to "TRUE"
, the loader stops as soon as it encounters an error. Data
* loaded up to that point persists.
*
*
* @param failOnError
* failOnError
– A flag to toggle a complete stop on an error.
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "TRUE"
.
*
*
* When this parameter is set to "FALSE"
, the loader tries to load all the data in the location
* specified, skipping any entries with errors.
*
*
* When this parameter is set to "TRUE"
, the loader stops as soon as it encounters an error.
* Data loaded up to that point persists.
*/
public void setFailOnError(Boolean failOnError) {
this.failOnError = failOnError;
}
/**
*
* failOnError
– A flag to toggle a complete stop on an error.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "TRUE"
.
*
*
* When this parameter is set to "FALSE"
, the loader tries to load all the data in the location
* specified, skipping any entries with errors.
*
*
* When this parameter is set to "TRUE"
, the loader stops as soon as it encounters an error. Data
* loaded up to that point persists.
*
*
* @return failOnError
– A flag to toggle a complete stop on an error.
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "TRUE"
.
*
*
* When this parameter is set to "FALSE"
, the loader tries to load all the data in the location
* specified, skipping any entries with errors.
*
*
* When this parameter is set to "TRUE"
, the loader stops as soon as it encounters an error.
* Data loaded up to that point persists.
*/
public Boolean getFailOnError() {
return this.failOnError;
}
/**
*
* failOnError
– A flag to toggle a complete stop on an error.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "TRUE"
.
*
*
* When this parameter is set to "FALSE"
, the loader tries to load all the data in the location
* specified, skipping any entries with errors.
*
*
* When this parameter is set to "TRUE"
, the loader stops as soon as it encounters an error. Data
* loaded up to that point persists.
*
*
* @param failOnError
* failOnError
– A flag to toggle a complete stop on an error.
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "TRUE"
.
*
*
* When this parameter is set to "FALSE"
, the loader tries to load all the data in the location
* specified, skipping any entries with errors.
*
*
* When this parameter is set to "TRUE"
, the loader stops as soon as it encounters an error.
* Data loaded up to that point persists.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest withFailOnError(Boolean failOnError) {
setFailOnError(failOnError);
return this;
}
/**
*
* failOnError
– A flag to toggle a complete stop on an error.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "TRUE"
.
*
*
* When this parameter is set to "FALSE"
, the loader tries to load all the data in the location
* specified, skipping any entries with errors.
*
*
* When this parameter is set to "TRUE"
, the loader stops as soon as it encounters an error. Data
* loaded up to that point persists.
*
*
* @return failOnError
– A flag to toggle a complete stop on an error.
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "TRUE"
.
*
*
* When this parameter is set to "FALSE"
, the loader tries to load all the data in the location
* specified, skipping any entries with errors.
*
*
* When this parameter is set to "TRUE"
, the loader stops as soon as it encounters an error.
* Data loaded up to that point persists.
*/
public Boolean isFailOnError() {
return this.failOnError;
}
/**
*
* The optional parallelism
parameter can be set to reduce the number of threads used by the bulk load
* process.
*
*
* Allowed values:
*
*
* -
*
* LOW
– The number of threads used is the number of available vCPUs divided by 8.
*
*
* -
*
* MEDIUM
– The number of threads used is the number of available vCPUs divided by 2.
*
*
* -
*
* HIGH
– The number of threads used is the same as the number of available vCPUs.
*
*
* -
*
* OVERSUBSCRIBE
– The number of threads used is the number of available vCPUs multiplied by 2. If
* this value is used, the bulk loader takes up all available resources.
*
*
* This does not mean, however, that the OVERSUBSCRIBE
setting results in 100% CPU utilization. Because
* the load operation is I/O bound, the highest CPU utilization to expect is in the 60% to 70% range.
*
*
*
*
* Default value: HIGH
*
*
* The parallelism
setting can sometimes result in a deadlock between threads when loading openCypher
* data. When this happens, Neptune returns the LOAD_DATA_DEADLOCK
error. You can generally fix the
* issue by setting parallelism
to a lower setting and retrying the load command.
*
*
* @param parallelism
* The optional parallelism
parameter can be set to reduce the number of threads used by the
* bulk load process.
*
* Allowed values:
*
*
* -
*
* LOW
– The number of threads used is the number of available vCPUs divided by 8.
*
*
* -
*
* MEDIUM
– The number of threads used is the number of available vCPUs divided by 2.
*
*
* -
*
* HIGH
– The number of threads used is the same as the number of available vCPUs.
*
*
* -
*
* OVERSUBSCRIBE
– The number of threads used is the number of available vCPUs multiplied by
* 2. If this value is used, the bulk loader takes up all available resources.
*
*
* This does not mean, however, that the OVERSUBSCRIBE
setting results in 100% CPU utilization.
* Because the load operation is I/O bound, the highest CPU utilization to expect is in the 60% to 70% range.
*
*
*
*
* Default value: HIGH
*
*
* The parallelism
setting can sometimes result in a deadlock between threads when loading
* openCypher data. When this happens, Neptune returns the LOAD_DATA_DEADLOCK
error. You can
* generally fix the issue by setting parallelism
to a lower setting and retrying the load
* command.
* @see Parallelism
*/
public void setParallelism(String parallelism) {
this.parallelism = parallelism;
}
/**
*
* The optional parallelism
parameter can be set to reduce the number of threads used by the bulk load
* process.
*
*
* Allowed values:
*
*
* -
*
* LOW
– The number of threads used is the number of available vCPUs divided by 8.
*
*
* -
*
* MEDIUM
– The number of threads used is the number of available vCPUs divided by 2.
*
*
* -
*
* HIGH
– The number of threads used is the same as the number of available vCPUs.
*
*
* -
*
* OVERSUBSCRIBE
– The number of threads used is the number of available vCPUs multiplied by 2. If
* this value is used, the bulk loader takes up all available resources.
*
*
* This does not mean, however, that the OVERSUBSCRIBE
setting results in 100% CPU utilization. Because
* the load operation is I/O bound, the highest CPU utilization to expect is in the 60% to 70% range.
*
*
*
*
* Default value: HIGH
*
*
* The parallelism
setting can sometimes result in a deadlock between threads when loading openCypher
* data. When this happens, Neptune returns the LOAD_DATA_DEADLOCK
error. You can generally fix the
* issue by setting parallelism
to a lower setting and retrying the load command.
*
*
* @return The optional parallelism
parameter can be set to reduce the number of threads used by the
* bulk load process.
*
* Allowed values:
*
*
* -
*
* LOW
– The number of threads used is the number of available vCPUs divided by 8.
*
*
* -
*
* MEDIUM
– The number of threads used is the number of available vCPUs divided by 2.
*
*
* -
*
* HIGH
– The number of threads used is the same as the number of available vCPUs.
*
*
* -
*
* OVERSUBSCRIBE
– The number of threads used is the number of available vCPUs multiplied by
* 2. If this value is used, the bulk loader takes up all available resources.
*
*
* This does not mean, however, that the OVERSUBSCRIBE
setting results in 100% CPU utilization.
* Because the load operation is I/O bound, the highest CPU utilization to expect is in the 60% to 70%
* range.
*
*
*
*
* Default value: HIGH
*
*
* The parallelism
setting can sometimes result in a deadlock between threads when loading
* openCypher data. When this happens, Neptune returns the LOAD_DATA_DEADLOCK
error. You can
* generally fix the issue by setting parallelism
to a lower setting and retrying the load
* command.
* @see Parallelism
*/
public String getParallelism() {
return this.parallelism;
}
/**
*
* The optional parallelism
parameter can be set to reduce the number of threads used by the bulk load
* process.
*
*
* Allowed values:
*
*
* -
*
* LOW
– The number of threads used is the number of available vCPUs divided by 8.
*
*
* -
*
* MEDIUM
– The number of threads used is the number of available vCPUs divided by 2.
*
*
* -
*
* HIGH
– The number of threads used is the same as the number of available vCPUs.
*
*
* -
*
* OVERSUBSCRIBE
– The number of threads used is the number of available vCPUs multiplied by 2. If
* this value is used, the bulk loader takes up all available resources.
*
*
* This does not mean, however, that the OVERSUBSCRIBE
setting results in 100% CPU utilization. Because
* the load operation is I/O bound, the highest CPU utilization to expect is in the 60% to 70% range.
*
*
*
*
* Default value: HIGH
*
*
* The parallelism
setting can sometimes result in a deadlock between threads when loading openCypher
* data. When this happens, Neptune returns the LOAD_DATA_DEADLOCK
error. You can generally fix the
* issue by setting parallelism
to a lower setting and retrying the load command.
*
*
* @param parallelism
* The optional parallelism
parameter can be set to reduce the number of threads used by the
* bulk load process.
*
* Allowed values:
*
*
* -
*
* LOW
– The number of threads used is the number of available vCPUs divided by 8.
*
*
* -
*
* MEDIUM
– The number of threads used is the number of available vCPUs divided by 2.
*
*
* -
*
* HIGH
– The number of threads used is the same as the number of available vCPUs.
*
*
* -
*
* OVERSUBSCRIBE
– The number of threads used is the number of available vCPUs multiplied by
* 2. If this value is used, the bulk loader takes up all available resources.
*
*
* This does not mean, however, that the OVERSUBSCRIBE
setting results in 100% CPU utilization.
* Because the load operation is I/O bound, the highest CPU utilization to expect is in the 60% to 70% range.
*
*
*
*
* Default value: HIGH
*
*
* The parallelism
setting can sometimes result in a deadlock between threads when loading
* openCypher data. When this happens, Neptune returns the LOAD_DATA_DEADLOCK
error. You can
* generally fix the issue by setting parallelism
to a lower setting and retrying the load
* command.
* @return Returns a reference to this object so that method calls can be chained together.
* @see Parallelism
*/
public StartLoaderJobRequest withParallelism(String parallelism) {
setParallelism(parallelism);
return this;
}
/**
*
* The optional parallelism
parameter can be set to reduce the number of threads used by the bulk load
* process.
*
*
* Allowed values:
*
*
* -
*
* LOW
– The number of threads used is the number of available vCPUs divided by 8.
*
*
* -
*
* MEDIUM
– The number of threads used is the number of available vCPUs divided by 2.
*
*
* -
*
* HIGH
– The number of threads used is the same as the number of available vCPUs.
*
*
* -
*
* OVERSUBSCRIBE
– The number of threads used is the number of available vCPUs multiplied by 2. If
* this value is used, the bulk loader takes up all available resources.
*
*
* This does not mean, however, that the OVERSUBSCRIBE
setting results in 100% CPU utilization. Because
* the load operation is I/O bound, the highest CPU utilization to expect is in the 60% to 70% range.
*
*
*
*
* Default value: HIGH
*
*
* The parallelism
setting can sometimes result in a deadlock between threads when loading openCypher
* data. When this happens, Neptune returns the LOAD_DATA_DEADLOCK
error. You can generally fix the
* issue by setting parallelism
to a lower setting and retrying the load command.
*
*
* @param parallelism
* The optional parallelism
parameter can be set to reduce the number of threads used by the
* bulk load process.
*
* Allowed values:
*
*
* -
*
* LOW
– The number of threads used is the number of available vCPUs divided by 8.
*
*
* -
*
* MEDIUM
– The number of threads used is the number of available vCPUs divided by 2.
*
*
* -
*
* HIGH
– The number of threads used is the same as the number of available vCPUs.
*
*
* -
*
* OVERSUBSCRIBE
– The number of threads used is the number of available vCPUs multiplied by
* 2. If this value is used, the bulk loader takes up all available resources.
*
*
* This does not mean, however, that the OVERSUBSCRIBE
setting results in 100% CPU utilization.
* Because the load operation is I/O bound, the highest CPU utilization to expect is in the 60% to 70% range.
*
*
*
*
* Default value: HIGH
*
*
* The parallelism
setting can sometimes result in a deadlock between threads when loading
* openCypher data. When this happens, Neptune returns the LOAD_DATA_DEADLOCK
error. You can
* generally fix the issue by setting parallelism
to a lower setting and retrying the load
* command.
* @return Returns a reference to this object so that method calls can be chained together.
* @see Parallelism
*/
public StartLoaderJobRequest withParallelism(Parallelism parallelism) {
this.parallelism = parallelism.toString();
return this;
}
/**
*
* parserConfiguration
– An optional object with additional parser configuration values.
* Each of the child parameters is also optional:
*
*
*
*
*
* -
*
* namedGraphUri
– The default graph for all RDF formats when no graph is specified (for
* non-quads formats and NQUAD entries with no graph).
*
*
* The default is https://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
.
*
*
* -
*
* baseUri
– The base URI for RDF/XML and Turtle formats.
*
*
* The default is https://aws.amazon.com/neptune/default
.
*
*
* -
*
* allowEmptyStrings
– Gremlin users need to be able to pass empty string values("") as
* node and edge properties when loading CSV data. If allowEmptyStrings
is set to false
* (the default), such empty strings are treated as nulls and are not loaded.
*
*
* If allowEmptyStrings
is set to true
, the loader treats empty strings as valid property
* values and loads them accordingly.
*
*
*
*
* @return parserConfiguration
– An optional object with additional parser configuration
* values. Each of the child parameters is also optional:
*
*
*
*
* -
*
* namedGraphUri
– The default graph for all RDF formats when no graph is
* specified (for non-quads formats and NQUAD entries with no graph).
*
*
* The default is https://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
.
*
*
* -
*
* baseUri
– The base URI for RDF/XML and Turtle formats.
*
*
* The default is https://aws.amazon.com/neptune/default
.
*
*
* -
*
* allowEmptyStrings
– Gremlin users need to be able to pass empty string
* values("") as node and edge properties when loading CSV data. If allowEmptyStrings
is set to
* false
(the default), such empty strings are treated as nulls and are not loaded.
*
*
* If allowEmptyStrings
is set to true
, the loader treats empty strings as valid
* property values and loads them accordingly.
*
*
*/
public java.util.Map getParserConfiguration() {
return parserConfiguration;
}
/**
*
* parserConfiguration
– An optional object with additional parser configuration values.
* Each of the child parameters is also optional:
*
*
*
*
*
* -
*
* namedGraphUri
– The default graph for all RDF formats when no graph is specified (for
* non-quads formats and NQUAD entries with no graph).
*
*
* The default is https://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
.
*
*
* -
*
* baseUri
– The base URI for RDF/XML and Turtle formats.
*
*
* The default is https://aws.amazon.com/neptune/default
.
*
*
* -
*
* allowEmptyStrings
– Gremlin users need to be able to pass empty string values("") as
* node and edge properties when loading CSV data. If allowEmptyStrings
is set to false
* (the default), such empty strings are treated as nulls and are not loaded.
*
*
* If allowEmptyStrings
is set to true
, the loader treats empty strings as valid property
* values and loads them accordingly.
*
*
*
*
* @param parserConfiguration
* parserConfiguration
– An optional object with additional parser configuration
* values. Each of the child parameters is also optional:
*
*
*
*
* -
*
* namedGraphUri
– The default graph for all RDF formats when no graph is specified
* (for non-quads formats and NQUAD entries with no graph).
*
*
* The default is https://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
.
*
*
* -
*
* baseUri
– The base URI for RDF/XML and Turtle formats.
*
*
* The default is https://aws.amazon.com/neptune/default
.
*
*
* -
*
* allowEmptyStrings
– Gremlin users need to be able to pass empty string
* values("") as node and edge properties when loading CSV data. If allowEmptyStrings
is set to
* false
(the default), such empty strings are treated as nulls and are not loaded.
*
*
* If allowEmptyStrings
is set to true
, the loader treats empty strings as valid
* property values and loads them accordingly.
*
*
*/
public void setParserConfiguration(java.util.Map parserConfiguration) {
this.parserConfiguration = parserConfiguration;
}
/**
*
* parserConfiguration
– An optional object with additional parser configuration values.
* Each of the child parameters is also optional:
*
*
*
*
*
* -
*
* namedGraphUri
– The default graph for all RDF formats when no graph is specified (for
* non-quads formats and NQUAD entries with no graph).
*
*
* The default is https://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
.
*
*
* -
*
* baseUri
– The base URI for RDF/XML and Turtle formats.
*
*
* The default is https://aws.amazon.com/neptune/default
.
*
*
* -
*
* allowEmptyStrings
– Gremlin users need to be able to pass empty string values("") as
* node and edge properties when loading CSV data. If allowEmptyStrings
is set to false
* (the default), such empty strings are treated as nulls and are not loaded.
*
*
* If allowEmptyStrings
is set to true
, the loader treats empty strings as valid property
* values and loads them accordingly.
*
*
*
*
* @param parserConfiguration
* parserConfiguration
– An optional object with additional parser configuration
* values. Each of the child parameters is also optional:
*
*
*
*
* -
*
* namedGraphUri
– The default graph for all RDF formats when no graph is specified
* (for non-quads formats and NQUAD entries with no graph).
*
*
* The default is https://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
.
*
*
* -
*
* baseUri
– The base URI for RDF/XML and Turtle formats.
*
*
* The default is https://aws.amazon.com/neptune/default
.
*
*
* -
*
* allowEmptyStrings
– Gremlin users need to be able to pass empty string
* values("") as node and edge properties when loading CSV data. If allowEmptyStrings
is set to
* false
(the default), such empty strings are treated as nulls and are not loaded.
*
*
* If allowEmptyStrings
is set to true
, the loader treats empty strings as valid
* property values and loads them accordingly.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest withParserConfiguration(java.util.Map parserConfiguration) {
setParserConfiguration(parserConfiguration);
return this;
}
/**
* Add a single ParserConfiguration entry
*
* @see StartLoaderJobRequest#withParserConfiguration
* @returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest addParserConfigurationEntry(String key, String value) {
if (null == this.parserConfiguration) {
this.parserConfiguration = new java.util.HashMap();
}
if (this.parserConfiguration.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.parserConfiguration.put(key, value);
return this;
}
/**
* Removes all the entries added into ParserConfiguration.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest clearParserConfigurationEntries() {
this.parserConfiguration = null;
return this;
}
/**
*
* updateSingleCardinalityProperties
is an optional parameter that controls how the bulk loader treats
* a new value for single-cardinality vertex or edge properties. This is not supported for loading openCypher data.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* By default, or when updateSingleCardinalityProperties
is explicitly set to "FALSE"
, the
* loader treats a new value as an error, because it violates single cardinality.
*
*
* When updateSingleCardinalityProperties
is set to "TRUE"
, on the other hand, the bulk
* loader replaces the existing value with the new one. If multiple edge or single-cardinality vertex property
* values are provided in the source file(s) being loaded, the final value at the end of the bulk load could be any
* one of those new values. The loader only guarantees that the existing value has been replaced by one of the new
* ones.
*
*
* @param updateSingleCardinalityProperties
* updateSingleCardinalityProperties
is an optional parameter that controls how the bulk loader
* treats a new value for single-cardinality vertex or edge properties. This is not supported for loading
* openCypher data.
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* By default, or when updateSingleCardinalityProperties
is explicitly set to
* "FALSE"
, the loader treats a new value as an error, because it violates single cardinality.
*
*
* When updateSingleCardinalityProperties
is set to "TRUE"
, on the other hand, the
* bulk loader replaces the existing value with the new one. If multiple edge or single-cardinality vertex
* property values are provided in the source file(s) being loaded, the final value at the end of the bulk
* load could be any one of those new values. The loader only guarantees that the existing value has been
* replaced by one of the new ones.
*/
public void setUpdateSingleCardinalityProperties(Boolean updateSingleCardinalityProperties) {
this.updateSingleCardinalityProperties = updateSingleCardinalityProperties;
}
/**
*
* updateSingleCardinalityProperties
is an optional parameter that controls how the bulk loader treats
* a new value for single-cardinality vertex or edge properties. This is not supported for loading openCypher data.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* By default, or when updateSingleCardinalityProperties
is explicitly set to "FALSE"
, the
* loader treats a new value as an error, because it violates single cardinality.
*
*
* When updateSingleCardinalityProperties
is set to "TRUE"
, on the other hand, the bulk
* loader replaces the existing value with the new one. If multiple edge or single-cardinality vertex property
* values are provided in the source file(s) being loaded, the final value at the end of the bulk load could be any
* one of those new values. The loader only guarantees that the existing value has been replaced by one of the new
* ones.
*
*
* @return updateSingleCardinalityProperties
is an optional parameter that controls how the bulk loader
* treats a new value for single-cardinality vertex or edge properties. This is not supported for loading
* openCypher data.
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* By default, or when updateSingleCardinalityProperties
is explicitly set to
* "FALSE"
, the loader treats a new value as an error, because it violates single cardinality.
*
*
* When updateSingleCardinalityProperties
is set to "TRUE"
, on the other hand, the
* bulk loader replaces the existing value with the new one. If multiple edge or single-cardinality vertex
* property values are provided in the source file(s) being loaded, the final value at the end of the bulk
* load could be any one of those new values. The loader only guarantees that the existing value has been
* replaced by one of the new ones.
*/
public Boolean getUpdateSingleCardinalityProperties() {
return this.updateSingleCardinalityProperties;
}
/**
*
* updateSingleCardinalityProperties
is an optional parameter that controls how the bulk loader treats
* a new value for single-cardinality vertex or edge properties. This is not supported for loading openCypher data.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* By default, or when updateSingleCardinalityProperties
is explicitly set to "FALSE"
, the
* loader treats a new value as an error, because it violates single cardinality.
*
*
* When updateSingleCardinalityProperties
is set to "TRUE"
, on the other hand, the bulk
* loader replaces the existing value with the new one. If multiple edge or single-cardinality vertex property
* values are provided in the source file(s) being loaded, the final value at the end of the bulk load could be any
* one of those new values. The loader only guarantees that the existing value has been replaced by one of the new
* ones.
*
*
* @param updateSingleCardinalityProperties
* updateSingleCardinalityProperties
is an optional parameter that controls how the bulk loader
* treats a new value for single-cardinality vertex or edge properties. This is not supported for loading
* openCypher data.
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* By default, or when updateSingleCardinalityProperties
is explicitly set to
* "FALSE"
, the loader treats a new value as an error, because it violates single cardinality.
*
*
* When updateSingleCardinalityProperties
is set to "TRUE"
, on the other hand, the
* bulk loader replaces the existing value with the new one. If multiple edge or single-cardinality vertex
* property values are provided in the source file(s) being loaded, the final value at the end of the bulk
* load could be any one of those new values. The loader only guarantees that the existing value has been
* replaced by one of the new ones.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest withUpdateSingleCardinalityProperties(Boolean updateSingleCardinalityProperties) {
setUpdateSingleCardinalityProperties(updateSingleCardinalityProperties);
return this;
}
/**
*
* updateSingleCardinalityProperties
is an optional parameter that controls how the bulk loader treats
* a new value for single-cardinality vertex or edge properties. This is not supported for loading openCypher data.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* By default, or when updateSingleCardinalityProperties
is explicitly set to "FALSE"
, the
* loader treats a new value as an error, because it violates single cardinality.
*
*
* When updateSingleCardinalityProperties
is set to "TRUE"
, on the other hand, the bulk
* loader replaces the existing value with the new one. If multiple edge or single-cardinality vertex property
* values are provided in the source file(s) being loaded, the final value at the end of the bulk load could be any
* one of those new values. The loader only guarantees that the existing value has been replaced by one of the new
* ones.
*
*
* @return updateSingleCardinalityProperties
is an optional parameter that controls how the bulk loader
* treats a new value for single-cardinality vertex or edge properties. This is not supported for loading
* openCypher data.
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* By default, or when updateSingleCardinalityProperties
is explicitly set to
* "FALSE"
, the loader treats a new value as an error, because it violates single cardinality.
*
*
* When updateSingleCardinalityProperties
is set to "TRUE"
, on the other hand, the
* bulk loader replaces the existing value with the new one. If multiple edge or single-cardinality vertex
* property values are provided in the source file(s) being loaded, the final value at the end of the bulk
* load could be any one of those new values. The loader only guarantees that the existing value has been
* replaced by one of the new ones.
*/
public Boolean isUpdateSingleCardinalityProperties() {
return this.updateSingleCardinalityProperties;
}
/**
*
* This is an optional flag parameter that indicates whether the load request can be queued up or not.
*
*
* You don't have to wait for one load job to complete before issuing the next one, because Neptune can queue up as
* many as 64 jobs at a time, provided that their queueRequest
parameters are all set to
* "TRUE"
. The queue order of the jobs will be first-in-first-out (FIFO).
*
*
* If the queueRequest
parameter is omitted or set to "FALSE"
, the load request will fail
* if another load job is already running.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* @param queueRequest
* This is an optional flag parameter that indicates whether the load request can be queued up or not.
*
* You don't have to wait for one load job to complete before issuing the next one, because Neptune can queue
* up as many as 64 jobs at a time, provided that their queueRequest
parameters are all set to
* "TRUE"
. The queue order of the jobs will be first-in-first-out (FIFO).
*
*
* If the queueRequest
parameter is omitted or set to "FALSE"
, the load request
* will fail if another load job is already running.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*/
public void setQueueRequest(Boolean queueRequest) {
this.queueRequest = queueRequest;
}
/**
*
* This is an optional flag parameter that indicates whether the load request can be queued up or not.
*
*
* You don't have to wait for one load job to complete before issuing the next one, because Neptune can queue up as
* many as 64 jobs at a time, provided that their queueRequest
parameters are all set to
* "TRUE"
. The queue order of the jobs will be first-in-first-out (FIFO).
*
*
* If the queueRequest
parameter is omitted or set to "FALSE"
, the load request will fail
* if another load job is already running.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* @return This is an optional flag parameter that indicates whether the load request can be queued up or not.
*
* You don't have to wait for one load job to complete before issuing the next one, because Neptune can
* queue up as many as 64 jobs at a time, provided that their queueRequest
parameters are all
* set to "TRUE"
. The queue order of the jobs will be first-in-first-out (FIFO).
*
*
* If the queueRequest
parameter is omitted or set to "FALSE"
, the load request
* will fail if another load job is already running.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*/
public Boolean getQueueRequest() {
return this.queueRequest;
}
/**
*
* This is an optional flag parameter that indicates whether the load request can be queued up or not.
*
*
* You don't have to wait for one load job to complete before issuing the next one, because Neptune can queue up as
* many as 64 jobs at a time, provided that their queueRequest
parameters are all set to
* "TRUE"
. The queue order of the jobs will be first-in-first-out (FIFO).
*
*
* If the queueRequest
parameter is omitted or set to "FALSE"
, the load request will fail
* if another load job is already running.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* @param queueRequest
* This is an optional flag parameter that indicates whether the load request can be queued up or not.
*
* You don't have to wait for one load job to complete before issuing the next one, because Neptune can queue
* up as many as 64 jobs at a time, provided that their queueRequest
parameters are all set to
* "TRUE"
. The queue order of the jobs will be first-in-first-out (FIFO).
*
*
* If the queueRequest
parameter is omitted or set to "FALSE"
, the load request
* will fail if another load job is already running.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest withQueueRequest(Boolean queueRequest) {
setQueueRequest(queueRequest);
return this;
}
/**
*
* This is an optional flag parameter that indicates whether the load request can be queued up or not.
*
*
* You don't have to wait for one load job to complete before issuing the next one, because Neptune can queue up as
* many as 64 jobs at a time, provided that their queueRequest
parameters are all set to
* "TRUE"
. The queue order of the jobs will be first-in-first-out (FIFO).
*
*
* If the queueRequest
parameter is omitted or set to "FALSE"
, the load request will fail
* if another load job is already running.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*
*
* @return This is an optional flag parameter that indicates whether the load request can be queued up or not.
*
* You don't have to wait for one load job to complete before issuing the next one, because Neptune can
* queue up as many as 64 jobs at a time, provided that their queueRequest
parameters are all
* set to "TRUE"
. The queue order of the jobs will be first-in-first-out (FIFO).
*
*
* If the queueRequest
parameter is omitted or set to "FALSE"
, the load request
* will fail if another load job is already running.
*
*
* Allowed values: "TRUE"
, "FALSE"
.
*
*
* Default value: "FALSE"
.
*/
public Boolean isQueueRequest() {
return this.queueRequest;
}
/**
*
* This is an optional parameter that can make a queued load request contingent on the successful completion of one
* or more previous jobs in the queue.
*
*
* Neptune can queue up as many as 64 load requests at a time, if their queueRequest
parameters are set
* to "TRUE"
. The dependencies
parameter lets you make execution of such a queued request
* dependent on the successful completion of one or more specified previous requests in the queue.
*
*
* For example, if load Job-A
and Job-B
are independent of each other, but load
* Job-C
needs Job-A
and Job-B
to be finished before it begins, proceed as
* follows:
*
*
* -
*
* Submit load-job-A
and load-job-B
one after another in any order, and save their
* load-ids.
*
*
* -
*
* Submit load-job-C
with the load-ids of the two jobs in its dependencies
field:
*
*
*
*
* Because of the dependencies
parameter, the bulk loader will not start Job-C
until
* Job-A
and Job-B
have completed successfully. If either one of them fails, Job-C will
* not be executed, and its status will be set to LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
.
*
*
* You can set up multiple levels of dependency in this way, so that the failure of one job will cause all requests
* that are directly or indirectly dependent on it to be cancelled.
*
*
* @return This is an optional parameter that can make a queued load request contingent on the successful completion
* of one or more previous jobs in the queue.
*
* Neptune can queue up as many as 64 load requests at a time, if their queueRequest
parameters
* are set to "TRUE"
. The dependencies
parameter lets you make execution of such a
* queued request dependent on the successful completion of one or more specified previous requests in the
* queue.
*
*
* For example, if load Job-A
and Job-B
are independent of each other, but load
* Job-C
needs Job-A
and Job-B
to be finished before it begins,
* proceed as follows:
*
*
* -
*
* Submit load-job-A
and load-job-B
one after another in any order, and save their
* load-ids.
*
*
* -
*
* Submit load-job-C
with the load-ids of the two jobs in its dependencies
field:
*
*
*
*
* Because of the dependencies
parameter, the bulk loader will not start Job-C
* until Job-A
and Job-B
have completed successfully. If either one of them fails,
* Job-C will not be executed, and its status will be set to
* LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
.
*
*
* You can set up multiple levels of dependency in this way, so that the failure of one job will cause all
* requests that are directly or indirectly dependent on it to be cancelled.
*/
public java.util.List getDependencies() {
return dependencies;
}
/**
*
* This is an optional parameter that can make a queued load request contingent on the successful completion of one
* or more previous jobs in the queue.
*
*
* Neptune can queue up as many as 64 load requests at a time, if their queueRequest
parameters are set
* to "TRUE"
. The dependencies
parameter lets you make execution of such a queued request
* dependent on the successful completion of one or more specified previous requests in the queue.
*
*
* For example, if load Job-A
and Job-B
are independent of each other, but load
* Job-C
needs Job-A
and Job-B
to be finished before it begins, proceed as
* follows:
*
*
* -
*
* Submit load-job-A
and load-job-B
one after another in any order, and save their
* load-ids.
*
*
* -
*
* Submit load-job-C
with the load-ids of the two jobs in its dependencies
field:
*
*
*
*
* Because of the dependencies
parameter, the bulk loader will not start Job-C
until
* Job-A
and Job-B
have completed successfully. If either one of them fails, Job-C will
* not be executed, and its status will be set to LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
.
*
*
* You can set up multiple levels of dependency in this way, so that the failure of one job will cause all requests
* that are directly or indirectly dependent on it to be cancelled.
*
*
* @param dependencies
* This is an optional parameter that can make a queued load request contingent on the successful completion
* of one or more previous jobs in the queue.
*
* Neptune can queue up as many as 64 load requests at a time, if their queueRequest
parameters
* are set to "TRUE"
. The dependencies
parameter lets you make execution of such a
* queued request dependent on the successful completion of one or more specified previous requests in the
* queue.
*
*
* For example, if load Job-A
and Job-B
are independent of each other, but load
* Job-C
needs Job-A
and Job-B
to be finished before it begins,
* proceed as follows:
*
*
* -
*
* Submit load-job-A
and load-job-B
one after another in any order, and save their
* load-ids.
*
*
* -
*
* Submit load-job-C
with the load-ids of the two jobs in its dependencies
field:
*
*
*
*
* Because of the dependencies
parameter, the bulk loader will not start Job-C
* until Job-A
and Job-B
have completed successfully. If either one of them fails,
* Job-C will not be executed, and its status will be set to
* LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
.
*
*
* You can set up multiple levels of dependency in this way, so that the failure of one job will cause all
* requests that are directly or indirectly dependent on it to be cancelled.
*/
public void setDependencies(java.util.Collection dependencies) {
if (dependencies == null) {
this.dependencies = null;
return;
}
this.dependencies = new java.util.ArrayList(dependencies);
}
/**
*
* This is an optional parameter that can make a queued load request contingent on the successful completion of one
* or more previous jobs in the queue.
*
*
* Neptune can queue up as many as 64 load requests at a time, if their queueRequest
parameters are set
* to "TRUE"
. The dependencies
parameter lets you make execution of such a queued request
* dependent on the successful completion of one or more specified previous requests in the queue.
*
*
* For example, if load Job-A
and Job-B
are independent of each other, but load
* Job-C
needs Job-A
and Job-B
to be finished before it begins, proceed as
* follows:
*
*
* -
*
* Submit load-job-A
and load-job-B
one after another in any order, and save their
* load-ids.
*
*
* -
*
* Submit load-job-C
with the load-ids of the two jobs in its dependencies
field:
*
*
*
*
* Because of the dependencies
parameter, the bulk loader will not start Job-C
until
* Job-A
and Job-B
have completed successfully. If either one of them fails, Job-C will
* not be executed, and its status will be set to LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
.
*
*
* You can set up multiple levels of dependency in this way, so that the failure of one job will cause all requests
* that are directly or indirectly dependent on it to be cancelled.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setDependencies(java.util.Collection)} or {@link #withDependencies(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param dependencies
* This is an optional parameter that can make a queued load request contingent on the successful completion
* of one or more previous jobs in the queue.
*
* Neptune can queue up as many as 64 load requests at a time, if their queueRequest
parameters
* are set to "TRUE"
. The dependencies
parameter lets you make execution of such a
* queued request dependent on the successful completion of one or more specified previous requests in the
* queue.
*
*
* For example, if load Job-A
and Job-B
are independent of each other, but load
* Job-C
needs Job-A
and Job-B
to be finished before it begins,
* proceed as follows:
*
*
* -
*
* Submit load-job-A
and load-job-B
one after another in any order, and save their
* load-ids.
*
*
* -
*
* Submit load-job-C
with the load-ids of the two jobs in its dependencies
field:
*
*
*
*
* Because of the dependencies
parameter, the bulk loader will not start Job-C
* until Job-A
and Job-B
have completed successfully. If either one of them fails,
* Job-C will not be executed, and its status will be set to
* LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
.
*
*
* You can set up multiple levels of dependency in this way, so that the failure of one job will cause all
* requests that are directly or indirectly dependent on it to be cancelled.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest withDependencies(String... dependencies) {
if (this.dependencies == null) {
setDependencies(new java.util.ArrayList(dependencies.length));
}
for (String ele : dependencies) {
this.dependencies.add(ele);
}
return this;
}
/**
*
* This is an optional parameter that can make a queued load request contingent on the successful completion of one
* or more previous jobs in the queue.
*
*
* Neptune can queue up as many as 64 load requests at a time, if their queueRequest
parameters are set
* to "TRUE"
. The dependencies
parameter lets you make execution of such a queued request
* dependent on the successful completion of one or more specified previous requests in the queue.
*
*
* For example, if load Job-A
and Job-B
are independent of each other, but load
* Job-C
needs Job-A
and Job-B
to be finished before it begins, proceed as
* follows:
*
*
* -
*
* Submit load-job-A
and load-job-B
one after another in any order, and save their
* load-ids.
*
*
* -
*
* Submit load-job-C
with the load-ids of the two jobs in its dependencies
field:
*
*
*
*
* Because of the dependencies
parameter, the bulk loader will not start Job-C
until
* Job-A
and Job-B
have completed successfully. If either one of them fails, Job-C will
* not be executed, and its status will be set to LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
.
*
*
* You can set up multiple levels of dependency in this way, so that the failure of one job will cause all requests
* that are directly or indirectly dependent on it to be cancelled.
*
*
* @param dependencies
* This is an optional parameter that can make a queued load request contingent on the successful completion
* of one or more previous jobs in the queue.
*
* Neptune can queue up as many as 64 load requests at a time, if their queueRequest
parameters
* are set to "TRUE"
. The dependencies
parameter lets you make execution of such a
* queued request dependent on the successful completion of one or more specified previous requests in the
* queue.
*
*
* For example, if load Job-A
and Job-B
are independent of each other, but load
* Job-C
needs Job-A
and Job-B
to be finished before it begins,
* proceed as follows:
*
*
* -
*
* Submit load-job-A
and load-job-B
one after another in any order, and save their
* load-ids.
*
*
* -
*
* Submit load-job-C
with the load-ids of the two jobs in its dependencies
field:
*
*
*
*
* Because of the dependencies
parameter, the bulk loader will not start Job-C
* until Job-A
and Job-B
have completed successfully. If either one of them fails,
* Job-C will not be executed, and its status will be set to
* LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
.
*
*
* You can set up multiple levels of dependency in this way, so that the failure of one job will cause all
* requests that are directly or indirectly dependent on it to be cancelled.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest withDependencies(java.util.Collection dependencies) {
setDependencies(dependencies);
return this;
}
/**
*
* This parameter is required only when loading openCypher data that contains relationship IDs. It must be included
* and set to True
when openCypher relationship IDs are explicitly provided in the load data
* (recommended).
*
*
* When userProvidedEdgeIds
is absent or set to True
, an :ID
column must be
* present in every relationship file in the load.
*
*
* When userProvidedEdgeIds
is present and set to False
, relationship files in the load
* must not contain an :ID
column. Instead, the Neptune loader automatically generates an ID for
* each relationship.
*
*
* It's useful to provide relationship IDs explicitly so that the loader can resume loading after error in the CSV
* data have been fixed, without having to reload any relationships that have already been loaded. If relationship
* IDs have not been explicitly assigned, the loader cannot resume a failed load if any relationship file has had to
* be corrected, and must instead reload all the relationships.
*
*
* @param userProvidedEdgeIds
* This parameter is required only when loading openCypher data that contains relationship IDs. It must be
* included and set to True
when openCypher relationship IDs are explicitly provided in the load
* data (recommended).
*
* When userProvidedEdgeIds
is absent or set to True
, an :ID
column
* must be present in every relationship file in the load.
*
*
* When userProvidedEdgeIds
is present and set to False
, relationship files in the
* load must not contain an :ID
column. Instead, the Neptune loader automatically
* generates an ID for each relationship.
*
*
* It's useful to provide relationship IDs explicitly so that the loader can resume loading after error in
* the CSV data have been fixed, without having to reload any relationships that have already been loaded. If
* relationship IDs have not been explicitly assigned, the loader cannot resume a failed load if any
* relationship file has had to be corrected, and must instead reload all the relationships.
*/
public void setUserProvidedEdgeIds(Boolean userProvidedEdgeIds) {
this.userProvidedEdgeIds = userProvidedEdgeIds;
}
/**
*
* This parameter is required only when loading openCypher data that contains relationship IDs. It must be included
* and set to True
when openCypher relationship IDs are explicitly provided in the load data
* (recommended).
*
*
* When userProvidedEdgeIds
is absent or set to True
, an :ID
column must be
* present in every relationship file in the load.
*
*
* When userProvidedEdgeIds
is present and set to False
, relationship files in the load
* must not contain an :ID
column. Instead, the Neptune loader automatically generates an ID for
* each relationship.
*
*
* It's useful to provide relationship IDs explicitly so that the loader can resume loading after error in the CSV
* data have been fixed, without having to reload any relationships that have already been loaded. If relationship
* IDs have not been explicitly assigned, the loader cannot resume a failed load if any relationship file has had to
* be corrected, and must instead reload all the relationships.
*
*
* @return This parameter is required only when loading openCypher data that contains relationship IDs. It must be
* included and set to True
when openCypher relationship IDs are explicitly provided in the
* load data (recommended).
*
* When userProvidedEdgeIds
is absent or set to True
, an :ID
column
* must be present in every relationship file in the load.
*
*
* When userProvidedEdgeIds
is present and set to False
, relationship files in the
* load must not contain an :ID
column. Instead, the Neptune loader automatically
* generates an ID for each relationship.
*
*
* It's useful to provide relationship IDs explicitly so that the loader can resume loading after error in
* the CSV data have been fixed, without having to reload any relationships that have already been loaded.
* If relationship IDs have not been explicitly assigned, the loader cannot resume a failed load if any
* relationship file has had to be corrected, and must instead reload all the relationships.
*/
public Boolean getUserProvidedEdgeIds() {
return this.userProvidedEdgeIds;
}
/**
*
* This parameter is required only when loading openCypher data that contains relationship IDs. It must be included
* and set to True
when openCypher relationship IDs are explicitly provided in the load data
* (recommended).
*
*
* When userProvidedEdgeIds
is absent or set to True
, an :ID
column must be
* present in every relationship file in the load.
*
*
* When userProvidedEdgeIds
is present and set to False
, relationship files in the load
* must not contain an :ID
column. Instead, the Neptune loader automatically generates an ID for
* each relationship.
*
*
* It's useful to provide relationship IDs explicitly so that the loader can resume loading after error in the CSV
* data have been fixed, without having to reload any relationships that have already been loaded. If relationship
* IDs have not been explicitly assigned, the loader cannot resume a failed load if any relationship file has had to
* be corrected, and must instead reload all the relationships.
*
*
* @param userProvidedEdgeIds
* This parameter is required only when loading openCypher data that contains relationship IDs. It must be
* included and set to True
when openCypher relationship IDs are explicitly provided in the load
* data (recommended).
*
* When userProvidedEdgeIds
is absent or set to True
, an :ID
column
* must be present in every relationship file in the load.
*
*
* When userProvidedEdgeIds
is present and set to False
, relationship files in the
* load must not contain an :ID
column. Instead, the Neptune loader automatically
* generates an ID for each relationship.
*
*
* It's useful to provide relationship IDs explicitly so that the loader can resume loading after error in
* the CSV data have been fixed, without having to reload any relationships that have already been loaded. If
* relationship IDs have not been explicitly assigned, the loader cannot resume a failed load if any
* relationship file has had to be corrected, and must instead reload all the relationships.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartLoaderJobRequest withUserProvidedEdgeIds(Boolean userProvidedEdgeIds) {
setUserProvidedEdgeIds(userProvidedEdgeIds);
return this;
}
/**
*
* This parameter is required only when loading openCypher data that contains relationship IDs. It must be included
* and set to True
when openCypher relationship IDs are explicitly provided in the load data
* (recommended).
*
*
* When userProvidedEdgeIds
is absent or set to True
, an :ID
column must be
* present in every relationship file in the load.
*
*
* When userProvidedEdgeIds
is present and set to False
, relationship files in the load
* must not contain an :ID
column. Instead, the Neptune loader automatically generates an ID for
* each relationship.
*
*
* It's useful to provide relationship IDs explicitly so that the loader can resume loading after error in the CSV
* data have been fixed, without having to reload any relationships that have already been loaded. If relationship
* IDs have not been explicitly assigned, the loader cannot resume a failed load if any relationship file has had to
* be corrected, and must instead reload all the relationships.
*
*
* @return This parameter is required only when loading openCypher data that contains relationship IDs. It must be
* included and set to True
when openCypher relationship IDs are explicitly provided in the
* load data (recommended).
*
* When userProvidedEdgeIds
is absent or set to True
, an :ID
column
* must be present in every relationship file in the load.
*
*
* When userProvidedEdgeIds
is present and set to False
, relationship files in the
* load must not contain an :ID
column. Instead, the Neptune loader automatically
* generates an ID for each relationship.
*
*
* It's useful to provide relationship IDs explicitly so that the loader can resume loading after error in
* the CSV data have been fixed, without having to reload any relationships that have already been loaded.
* If relationship IDs have not been explicitly assigned, the loader cannot resume a failed load if any
* relationship file has had to be corrected, and must instead reload all the relationships.
*/
public Boolean isUserProvidedEdgeIds() {
return this.userProvidedEdgeIds;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getSource() != null)
sb.append("Source: ").append(getSource()).append(",");
if (getFormat() != null)
sb.append("Format: ").append(getFormat()).append(",");
if (getS3BucketRegion() != null)
sb.append("S3BucketRegion: ").append(getS3BucketRegion()).append(",");
if (getIamRoleArn() != null)
sb.append("IamRoleArn: ").append(getIamRoleArn()).append(",");
if (getMode() != null)
sb.append("Mode: ").append(getMode()).append(",");
if (getFailOnError() != null)
sb.append("FailOnError: ").append(getFailOnError()).append(",");
if (getParallelism() != null)
sb.append("Parallelism: ").append(getParallelism()).append(",");
if (getParserConfiguration() != null)
sb.append("ParserConfiguration: ").append(getParserConfiguration()).append(",");
if (getUpdateSingleCardinalityProperties() != null)
sb.append("UpdateSingleCardinalityProperties: ").append(getUpdateSingleCardinalityProperties()).append(",");
if (getQueueRequest() != null)
sb.append("QueueRequest: ").append(getQueueRequest()).append(",");
if (getDependencies() != null)
sb.append("Dependencies: ").append(getDependencies()).append(",");
if (getUserProvidedEdgeIds() != null)
sb.append("UserProvidedEdgeIds: ").append(getUserProvidedEdgeIds());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof StartLoaderJobRequest == false)
return false;
StartLoaderJobRequest other = (StartLoaderJobRequest) obj;
if (other.getSource() == null ^ this.getSource() == null)
return false;
if (other.getSource() != null && other.getSource().equals(this.getSource()) == false)
return false;
if (other.getFormat() == null ^ this.getFormat() == null)
return false;
if (other.getFormat() != null && other.getFormat().equals(this.getFormat()) == false)
return false;
if (other.getS3BucketRegion() == null ^ this.getS3BucketRegion() == null)
return false;
if (other.getS3BucketRegion() != null && other.getS3BucketRegion().equals(this.getS3BucketRegion()) == false)
return false;
if (other.getIamRoleArn() == null ^ this.getIamRoleArn() == null)
return false;
if (other.getIamRoleArn() != null && other.getIamRoleArn().equals(this.getIamRoleArn()) == false)
return false;
if (other.getMode() == null ^ this.getMode() == null)
return false;
if (other.getMode() != null && other.getMode().equals(this.getMode()) == false)
return false;
if (other.getFailOnError() == null ^ this.getFailOnError() == null)
return false;
if (other.getFailOnError() != null && other.getFailOnError().equals(this.getFailOnError()) == false)
return false;
if (other.getParallelism() == null ^ this.getParallelism() == null)
return false;
if (other.getParallelism() != null && other.getParallelism().equals(this.getParallelism()) == false)
return false;
if (other.getParserConfiguration() == null ^ this.getParserConfiguration() == null)
return false;
if (other.getParserConfiguration() != null && other.getParserConfiguration().equals(this.getParserConfiguration()) == false)
return false;
if (other.getUpdateSingleCardinalityProperties() == null ^ this.getUpdateSingleCardinalityProperties() == null)
return false;
if (other.getUpdateSingleCardinalityProperties() != null
&& other.getUpdateSingleCardinalityProperties().equals(this.getUpdateSingleCardinalityProperties()) == false)
return false;
if (other.getQueueRequest() == null ^ this.getQueueRequest() == null)
return false;
if (other.getQueueRequest() != null && other.getQueueRequest().equals(this.getQueueRequest()) == false)
return false;
if (other.getDependencies() == null ^ this.getDependencies() == null)
return false;
if (other.getDependencies() != null && other.getDependencies().equals(this.getDependencies()) == false)
return false;
if (other.getUserProvidedEdgeIds() == null ^ this.getUserProvidedEdgeIds() == null)
return false;
if (other.getUserProvidedEdgeIds() != null && other.getUserProvidedEdgeIds().equals(this.getUserProvidedEdgeIds()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getSource() == null) ? 0 : getSource().hashCode());
hashCode = prime * hashCode + ((getFormat() == null) ? 0 : getFormat().hashCode());
hashCode = prime * hashCode + ((getS3BucketRegion() == null) ? 0 : getS3BucketRegion().hashCode());
hashCode = prime * hashCode + ((getIamRoleArn() == null) ? 0 : getIamRoleArn().hashCode());
hashCode = prime * hashCode + ((getMode() == null) ? 0 : getMode().hashCode());
hashCode = prime * hashCode + ((getFailOnError() == null) ? 0 : getFailOnError().hashCode());
hashCode = prime * hashCode + ((getParallelism() == null) ? 0 : getParallelism().hashCode());
hashCode = prime * hashCode + ((getParserConfiguration() == null) ? 0 : getParserConfiguration().hashCode());
hashCode = prime * hashCode + ((getUpdateSingleCardinalityProperties() == null) ? 0 : getUpdateSingleCardinalityProperties().hashCode());
hashCode = prime * hashCode + ((getQueueRequest() == null) ? 0 : getQueueRequest().hashCode());
hashCode = prime * hashCode + ((getDependencies() == null) ? 0 : getDependencies().hashCode());
hashCode = prime * hashCode + ((getUserProvidedEdgeIds() == null) ? 0 : getUserProvidedEdgeIds().hashCode());
return hashCode;
}
@Override
public StartLoaderJobRequest clone() {
return (StartLoaderJobRequest) super.clone();
}
}