$customHeader
Skip to end of banner
Go to start of banner

Alloy DB Select

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

In this article

Overview

This Snap allows you to fetch data from a database by providing a table name and configuring the connection. The Snap produces the records from the database on its output view which can then be processed by a downstream Snap. 

JSON paths can be used in a query and will have values from an incoming document substituted into the query. However, documents missing values for a given JSON path will be written to Snap's error view. After a query is executed, the query's results are merged into the incoming document overwriting any existing keys' values. The original document is output if there are no results from the query.

Queries produced by Snap have an equivalent format:

SELECT * FROM [table] WHERE [where clause] ORDER BY [ordering] LIMIT [limit] OFFSET [offset]

If more powerful functionality is desired, then Execute Snap should be used.

Snap Type

AlloyDB Select Snap is a Read Snap.

Prerequisites

None.

Support for Ultra Pipelines

Works in Ultra Pipelines

Limitations

None.

Known Issues

The SQL statement will return a PGObject when returning non-standard types. You must use Execute Snap in these cases.

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 0

  • Max: 1

  • Mapper

  • JSON Generator

This Snap has at most one document input view. If the input view is defined, then the where clause can substitute incoming values for a given expression (in such as to use it as a lookup).

Output

Document

  • Min: 1

  • Max: 2

  • Bulk Load

  • File Writer

This Snap has one output view by default and produces one document for each row in the table.  A second view can be added to dump out the metadata for the table as a document.  The metadata document can then be fed into the second input view of PostgreSQL Insert Snap so that the table is created in PsotgreSQL with a similar schema as the source table.

Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter while running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab:

  • Stop Pipeline Execution: Stops the current pipeline execution if the Snap encounters an error.

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the remaining records.

  • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap Settings

  • Asterisk ( * ): Indicates a mandatory field.

  • Suggestion icon ((blue star)): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon ((blue star) ): Indicates the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon ( (blue star) ): Indicates that you can add fields in the fieldset.

  • Remove icon ( (blue star)): Indicates that you can remove fields from the fieldset.

  • Upload icon ((blue star) ): Indicates that you can upload files.

Field Name

Field Type

Field Dependency

Description

Label*

Default ValueAlloyDB Select
ExampleSelect Query

String

N/A

Specify a unique name for the Snap.

Schema name

Default Value: N/A
ExampleSYS

String/Expression/Suggestion

N/A

The database schema name. Selecting a schema filters the Table name list to show only those tables within the selected schema. The property is suggestible and will retrieve available database schemas during suggest values.

Table name*

Default Value: N/A
Example: people

String/Expression/Suggestion

N/A

Specify the name of the table to execute a select query on.

Where clause

Default Value: N/A
Example:

Without using expressions

  • email = 'you@example.com' or email = $email 

  • emp=$emp

Using expressions

  • "EMPNO=$EMPNO and ENAME=$EMPNAME"

  • "emp='" + $emp + "'"

  • "EMPNO=" + $EMPNO + " and ENAME='" + $EMPNAME+ "'"

Caution

Using expressions that join strings together to create SQL queries or conditions has a potential SQL injection risk and hence unsafe. Ensure that you understand all implications and risks involved before using concatenation of strings with '=' Expression enabled. 

String/Expression/Suggestion

N/A

Where clause of the select statement. This supports document value substitution (such as $person.firstname will be substituted with the value found in the incoming document at the path). 

Order By

Enter in the columns in the order in which you want to order by. The default database sort order will be used..

Limit offset

Default Value: None
Example10

Integer/Expression/Suggestion

N/A

Number of rows to return from the query.

Limit rows 

Default Value: None.
Example10

Integer/Expression/Suggestion

N/A

Number of rows to return from the query.

Output fields

Default Value: None
Example: email, address, first, last, etc.

String/Expression/Suggestion

N/A

Enter or select output field names for SQL SELECT statement. To select all fields, leave it at default.

Fetch output fields In schema

Default Value: Not Selected
Example: Selected

Checkbox

N/A

Select this check box to include only the selected fields or columns in the Output Schema (second output view). If you do not provide any Output fields, all the columns are visible in the output.
If you provide output fields, we recommend you to select Fetch Output Fields In Schema check box.

Pass through

Default Value: Selected
Example: Not Selected

Checkbox

N/A

If checked, the input document will be passed through to the output view under the key 'original'.

Ignore empty result

Default Value: Not Selected
Example: Selected

Checkbox

N/A

If selected, no document will be written to the output view when a SELECT operation does not produce any result. If this property is not selected and the Pass through property is selected, the input document will be passed through to the output view.

Auto commit

Default Value: False
Example: True

Dropdown List

N/A

Select one of the options for this property to override the state of the Auto commit property on the account. The Auto commit at the Snap-level has three values: TrueFalse, and Use account setting. The expected functionality for these modes are:

  •  True - The Snap will execute with auto-commit enabled regardless of the value set for Auto commit in the Account used by the Snap.

  •  False - The Snap will execute with auto-commit disabled regardless of the value set for Auto commit in the Account used by the Snap.

  • Use account setting - The Snap will execute with Auto commit property value inherited by the Account used by the Snap.

Match data types

Default Value: Not Selected
Example: Selected

Checkbox

N/A

This property applies only when the Output fields property is provided with any field value(s).

If this property is selected, the Snap tries to match the output data types same as when the Output fields property is empty (SELECT * FROM ...). The output preview would be in the same format as the one when SELECT * FROM is implied and all the contents of the table are displayed.

Number of retries

Default Value: 0
Example: 3

Integer/Expression

N/A

Specifies the maximum number of attempts to be made to receive a response. The request is terminated if the attempts do not result in a response.

No macro found named "retries" on page "File Reader" in space "SD".

If you're experiencing issues please see our Troubleshooting Guide.

Retry interval (seconds)

Default Value: 1
Example: 10

Integer/Expression

N/A

Specifies the time interval between two successive retry requests. A retry happens only when the previous attempt resulted in an exception. 

Staging mode

Default Value: In memory
Example: On disk

Dropdown List

Required when the value in the Number of retries field is greater than 0.

Specify the location to store input documents between retries, from the following options:

  • In memory: The query results are stored in the Snaplex memory. If the query is too large to fit in the memory space, it may cause the Snap to fail, so choose the On disk option.

  • On disk: The query results are stored on the disk in a temporary (tmp) directory that is managed by the SnapLogic platform. This directory is deleted automatically when the Snap terminates.

To disable staging, enter 0 in the Number of retries field.

Snap Execution

Default Value
Example: Validate & Execute

Dropdown list

N/A

Select one of the following three modes in which the Snap executes:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Downloads

  1. Download and import the Pipeline into SnapLogic.

  2. Configure Snap accounts, as applicable.

  3. Provide Pipeline parameters, as applicable.

  File Modified
You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.
No files shared here yet.
  • Drag and drop to upload or browse for files
  • Snap Pack History

    Google AlloyDB Snap Pack

    Release

    Snap Pack Version

    Date

    Type

    Updates

    May 2024

    4postgresupgrade26570

    -

    The JDBC driver for the Google AlloyDB Snap Pack has been upgraded from v42.4.2 to v42.7.2 (Java 8). This upgrade will be part of the GA release on August 14, 2024 (Stable release). As part of this upgrade, the 42.7.2 JDBC driver is bundled with the AlloyDB Snap Pack as the default JDBC driver. Learn more about the behavior changes caused by the driver upgrade.

    May 2024

    main26341

    Stable

    Updated the Delete Condition (Truncates a Table if empty) field in the AlloyDB Delete Snap to Delete condition (deletes all records from a table if left blank) to indicate that all entries will be deleted from the table when this field is blank, but no truncate operation is performed.

    February 2024

    main25112

    Stable

    Updated and certified against the current SnapLogic Platform release.

    November 2023

    main23721

    Stable

    Updated and certified against the current SnapLogic Platform release.

    August 2023

    main22460

    Stable

    The AlloyDB Execute Snap now includes a new Query type field. When Auto is selected, the Snap tries to determine the query type automatically.

    May 2023

    main21015

    Stable

    Upgraded with the latest SnapLogic Platform release.

    February 2023

    main19844

    Stable

    Upgraded with the latest SnapLogic Platform release.

    November 2022

    main18944

    Stable

    The AlloyDB Insert Snap now creates the target table only from the table metadata of the second input view when the following conditions are met:

    • The Create table if not present checkbox is selected.

    • The target table does not exist.

    • The table metadata is provided in the second input view.

    September 2022

    430patches18149

    Latest

    The AlloyDB Select and AlloyDB Execute Snaps now read NaN values in Numeric columns.

    4.30Patches

    430patches17841

    Latest

    Introduced the Google AlloyDB Snap Pack— a fully managed PostgresSQL-compatible database service that you can use for all your database workloads. This Snap Pack offers the following Snaps:


    • No labels