Search in sources :

Example 6 with SchemaName

use of com.google.pubsub.v1.SchemaName in project java-pubsub by googleapis.

the class SchemaServiceClientTest method getSchemaExceptionTest.

@Test
public void getSchemaExceptionTest() throws Exception {
    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
    mockSchemaService.addException(exception);
    try {
        SchemaName name = SchemaName.of("[PROJECT]", "[SCHEMA]");
        client.getSchema(name);
        Assert.fail("No exception raised");
    } catch (InvalidArgumentException e) {
    // Expected exception.
    }
}
Also used : InvalidArgumentException(com.google.api.gax.rpc.InvalidArgumentException) StatusRuntimeException(io.grpc.StatusRuntimeException) SchemaName(com.google.pubsub.v1.SchemaName) Test(org.junit.Test)

Example 7 with SchemaName

use of com.google.pubsub.v1.SchemaName in project java-pubsub by googleapis.

the class CreateAvroSchemaExample method createAvroSchemaExample.

public static void createAvroSchemaExample(String projectId, String schemaId, String avscFile) throws IOException {
    ProjectName projectName = ProjectName.of(projectId);
    SchemaName schemaName = SchemaName.of(projectId, schemaId);
    // Read an Avro schema file formatted in JSON as a string.
    String avscSource = new String(Files.readAllBytes(Paths.get(avscFile)));
    try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
        Schema schema = schemaServiceClient.createSchema(projectName, Schema.newBuilder().setName(schemaName.toString()).setType(Schema.Type.AVRO).setDefinition(avscSource).build(), schemaId);
        System.out.println("Created a schema using an Avro schema:\n" + schema);
    } catch (AlreadyExistsException e) {
        System.out.println(schemaName + "already exists.");
    }
}
Also used : AlreadyExistsException(com.google.api.gax.rpc.AlreadyExistsException) ProjectName(com.google.pubsub.v1.ProjectName) Schema(com.google.pubsub.v1.Schema) SchemaServiceClient(com.google.cloud.pubsub.v1.SchemaServiceClient) SchemaName(com.google.pubsub.v1.SchemaName)

Example 8 with SchemaName

use of com.google.pubsub.v1.SchemaName in project java-pubsub by googleapis.

the class CreateProtoSchemaExample method createProtoSchemaExample.

public static void createProtoSchemaExample(String projectId, String schemaId, String protoFile) throws IOException {
    ProjectName projectName = ProjectName.of(projectId);
    SchemaName schemaName = SchemaName.of(projectId, schemaId);
    // Read a proto file as a string.
    String protoSource = new String(Files.readAllBytes(Paths.get(protoFile)));
    try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
        Schema schema = schemaServiceClient.createSchema(projectName, Schema.newBuilder().setName(schemaName.toString()).setType(Schema.Type.PROTOCOL_BUFFER).setDefinition(protoSource).build(), schemaId);
        System.out.println("Created a schema using a protobuf schema:\n" + schema);
    } catch (AlreadyExistsException e) {
        System.out.println(schemaName + "already exists.");
    }
}
Also used : AlreadyExistsException(com.google.api.gax.rpc.AlreadyExistsException) ProjectName(com.google.pubsub.v1.ProjectName) Schema(com.google.pubsub.v1.Schema) SchemaServiceClient(com.google.cloud.pubsub.v1.SchemaServiceClient) SchemaName(com.google.pubsub.v1.SchemaName)

Example 9 with SchemaName

use of com.google.pubsub.v1.SchemaName in project java-pubsub by googleapis.

the class SchemaServiceClient method deleteSchema.

// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
 * Deletes a schema.
 *
 * <p>Sample code:
 *
 * <pre>{@code
 * // This snippet has been automatically generated for illustrative purposes only.
 * // It may require modifications to work in your environment.
 * try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
 *   SchemaName name = SchemaName.of("[PROJECT]", "[SCHEMA]");
 *   schemaServiceClient.deleteSchema(name);
 * }
 * }</pre>
 *
 * @param name Required. Name of the schema to delete. Format is
 *     `projects/{project}/schemas/{schema}`.
 * @throws com.google.api.gax.rpc.ApiException if the remote call fails
 */
public final void deleteSchema(SchemaName name) {
    DeleteSchemaRequest request = DeleteSchemaRequest.newBuilder().setName(name == null ? null : name.toString()).build();
    deleteSchema(request);
}
Also used : DeleteSchemaRequest(com.google.pubsub.v1.DeleteSchemaRequest)

Example 10 with SchemaName

use of com.google.pubsub.v1.SchemaName in project java-pubsub by googleapis.

the class DeleteSchemaExample method deleteSchemaExample.

public static void deleteSchemaExample(String projectId, String schemaId) throws IOException {
    SchemaName schemaName = SchemaName.of(projectId, schemaId);
    try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
        schemaServiceClient.deleteSchema(schemaName);
        System.out.println("Deleted a schema:" + schemaName);
    } catch (NotFoundException e) {
        System.out.println(schemaName + "not found.");
    }
}
Also used : NotFoundException(com.google.api.gax.rpc.NotFoundException) SchemaServiceClient(com.google.cloud.pubsub.v1.SchemaServiceClient) SchemaName(com.google.pubsub.v1.SchemaName)

Aggregations

SchemaName (com.google.pubsub.v1.SchemaName)15 Test (org.junit.Test)8 SchemaServiceClient (com.google.cloud.pubsub.v1.SchemaServiceClient)6 Schema (com.google.pubsub.v1.Schema)6 InvalidArgumentException (com.google.api.gax.rpc.InvalidArgumentException)4 AbstractMessage (com.google.protobuf.AbstractMessage)4 DeleteSchemaRequest (com.google.pubsub.v1.DeleteSchemaRequest)4 StatusRuntimeException (io.grpc.StatusRuntimeException)4 AlreadyExistsException (com.google.api.gax.rpc.AlreadyExistsException)3 NotFoundException (com.google.api.gax.rpc.NotFoundException)2 Empty (com.google.protobuf.Empty)2 GetSchemaRequest (com.google.pubsub.v1.GetSchemaRequest)2 ProjectName (com.google.pubsub.v1.ProjectName)2 TopicAdminClient (com.google.cloud.pubsub.v1.TopicAdminClient)1 SchemaSettings (com.google.pubsub.v1.SchemaSettings)1 Topic (com.google.pubsub.v1.Topic)1 TopicName (com.google.pubsub.v1.TopicName)1