Skip to content

Commit d6e0049

Browse files
author
awstools
committed
feat(client-glue): This new release supports customizable RefreshInterval for all Saas ZETL integrations from 15 minutes to 6 days.
1 parent 753bf4e commit d6e0049

File tree

8 files changed

+146
-47
lines changed

8 files changed

+146
-47
lines changed

clients/client-glue/src/commands/CreateIntegrationCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ export interface CreateIntegrationCommandOutput extends CreateIntegrationRespons
5151
* value: "STRING_VALUE",
5252
* },
5353
* ],
54+
* IntegrationConfig: { // IntegrationConfig
55+
* RefreshInterval: "STRING_VALUE",
56+
* },
5457
* };
5558
* const command = new CreateIntegrationCommand(input);
5659
* const response = await client.send(command);
@@ -79,6 +82,9 @@ export interface CreateIntegrationCommandOutput extends CreateIntegrationRespons
7982
* // },
8083
* // ],
8184
* // DataFilter: "STRING_VALUE",
85+
* // IntegrationConfig: { // IntegrationConfig
86+
* // RefreshInterval: "STRING_VALUE",
87+
* // },
8288
* // };
8389
*
8490
* ```

clients/client-glue/src/commands/DescribeInboundIntegrationsCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ export interface DescribeInboundIntegrationsCommandOutput
5353
* // IntegrationArn: "STRING_VALUE", // required
5454
* // Status: "CREATING" || "ACTIVE" || "MODIFYING" || "FAILED" || "DELETING" || "SYNCING" || "NEEDS_ATTENTION", // required
5555
* // CreateTime: new Date("TIMESTAMP"), // required
56+
* // IntegrationConfig: { // IntegrationConfig
57+
* // RefreshInterval: "STRING_VALUE",
58+
* // },
5659
* // Errors: [ // IntegrationErrorList
5760
* // { // IntegrationError
5861
* // ErrorCode: "STRING_VALUE",

clients/client-glue/src/commands/DescribeIntegrationsCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ export interface DescribeIntegrationsCommandOutput extends DescribeIntegrationsR
7070
* // ],
7171
* // Status: "CREATING" || "ACTIVE" || "MODIFYING" || "FAILED" || "DELETING" || "SYNCING" || "NEEDS_ATTENTION", // required
7272
* // CreateTime: new Date("TIMESTAMP"), // required
73+
* // IntegrationConfig: { // IntegrationConfig
74+
* // RefreshInterval: "STRING_VALUE",
75+
* // },
7376
* // Errors: [ // IntegrationErrorList
7477
* // { // IntegrationError
7578
* // ErrorCode: "STRING_VALUE",

clients/client-glue/src/models/models_1.ts

Lines changed: 50 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2132,6 +2132,20 @@ export class ConflictException extends __BaseException {
21322132
}
21332133
}
21342134

2135+
/**
2136+
* <p>Properties associated with the integration.</p>
2137+
* @public
2138+
*/
2139+
export interface IntegrationConfig {
2140+
/**
2141+
* <p>Specifies the frequency at which CDC (Change Data Capture) pulls or incremental loads should occur. This parameter provides flexibility to align
2142+
* the refresh rate with your specific data update patterns, system load considerations, and performance optimization goals. Time increment can be set from
2143+
* 15 minutes to 8640 minutes (six days). Currently supports creation of <code>RefreshInterval</code> only.</p>
2144+
* @public
2145+
*/
2146+
RefreshInterval?: string | undefined;
2147+
}
2148+
21352149
/**
21362150
* <p>The <code>Tag</code> object represents a label that you can assign to an Amazon Web Services resource. Each tag consists of a key and an optional value, both of which you define.</p>
21372151
* <p>For more information about tags, and controlling access to resources in Glue, see
@@ -2204,6 +2218,12 @@ export interface CreateIntegrationRequest {
22042218
* @public
22052219
*/
22062220
Tags?: Tag[] | undefined;
2221+
2222+
/**
2223+
* <p>The configuration settings.</p>
2224+
* @public
2225+
*/
2226+
IntegrationConfig?: IntegrationConfig | undefined;
22072227
}
22082228

22092229
/**
@@ -2342,6 +2362,12 @@ export interface CreateIntegrationResponse {
23422362
* @public
23432363
*/
23442364
DataFilter?: string | undefined;
2365+
2366+
/**
2367+
* <p>The configuration settings.</p>
2368+
* @public
2369+
*/
2370+
IntegrationConfig?: IntegrationConfig | undefined;
23452371
}
23462372

23472373
/**
@@ -2568,25 +2594,26 @@ export interface CreateIntegrationResourcePropertyResponse {
25682594
*/
25692595
export interface SourceTableConfig {
25702596
/**
2571-
* <p>A list of fields used for column-level filtering.</p>
2597+
* <p>A list of fields used for column-level filtering. Currently unsupported.</p>
25722598
* @public
25732599
*/
25742600
Fields?: string[] | undefined;
25752601

25762602
/**
2577-
* <p>A condition clause used for row-level filtering.</p>
2603+
* <p>A condition clause used for row-level filtering. Currently unsupported.</p>
25782604
* @public
25792605
*/
25802606
FilterPredicate?: string | undefined;
25812607

25822608
/**
2583-
* <p>Unique identifier of a record.</p>
2609+
* <p>Provide the primary key set for this table. Currently supported specifically for SAP <code>EntityOf</code> entities upon request. Contact
2610+
* Amazon Web Services Support to make this feature available.</p>
25842611
* @public
25852612
*/
25862613
PrimaryKey?: string[] | undefined;
25872614

25882615
/**
2589-
* <p>Incremental pull timestamp-based field.</p>
2616+
* <p>Incremental pull timestamp-based field. Currently unsupported.</p>
25902617
* @public
25912618
*/
25922619
RecordUpdateField?: string | undefined;
@@ -2598,13 +2625,17 @@ export interface SourceTableConfig {
25982625
*/
25992626
export interface IntegrationPartition {
26002627
/**
2601-
* <p>The field name used to partition data on the target.</p>
2628+
* <p>The field name used to partition data on the target. Avoid using columns that have unique values for each row (for example, `LastModifiedTimestamp`,
2629+
* `SystemModTimeStamp`) as the partition column. These columns are not suitable for partitioning because they create a large number of small partitions,
2630+
* which can lead to performance issues.</p>
26022631
* @public
26032632
*/
26042633
FieldName?: string | undefined;
26052634

26062635
/**
2607-
* <p>Specifies a function used to partition data on the target.</p>
2636+
* <p>Specifies the function used to partition data on the target. The only accepted value for this parameter is `'identity'` (string).
2637+
* The `'identity'` function ensures that the data partitioning on the target follows the same scheme as the source. In other words, the partitioning
2638+
* structure of the source data is preserved in the target destination.</p>
26082639
* @public
26092640
*/
26102641
FunctionSpec?: string | undefined;
@@ -2666,7 +2697,7 @@ export interface CreateIntegrationTablePropertiesRequest {
26662697
TableName: string | undefined;
26672698

26682699
/**
2669-
* <p>A structure for the source table configuration.</p>
2700+
* <p>A structure for the source table configuration. See the <code>SourceTableConfig</code> structure to see list of supported source properties.</p>
26702701
* @public
26712702
*/
26722703
SourceTableConfig?: SourceTableConfig | undefined;
@@ -6239,6 +6270,12 @@ export interface InboundIntegration {
62396270
*/
62406271
CreateTime: Date | undefined;
62416272

6273+
/**
6274+
* <p>Properties associated with the integration.</p>
6275+
* @public
6276+
*/
6277+
IntegrationConfig?: IntegrationConfig | undefined;
6278+
62426279
/**
62436280
* <p>A list of errors associated with the integration.</p>
62446281
* @public
@@ -6424,6 +6461,12 @@ export interface Integration {
64246461
*/
64256462
CreateTime: Date | undefined;
64266463

6464+
/**
6465+
* <p>Properties associated with the integration.</p>
6466+
* @public
6467+
*/
6468+
IntegrationConfig?: IntegrationConfig | undefined;
6469+
64276470
/**
64286471
* <p>A list of errors associated with the integration.</p>
64296472
* @public
@@ -7924,20 +7967,6 @@ export interface GetColumnStatisticsTaskSettingsRequest {
79247967
TableName: string | undefined;
79257968
}
79267969

7927-
/**
7928-
* @public
7929-
* @enum
7930-
*/
7931-
export const ExecutionStatus = {
7932-
FAILED: "FAILED",
7933-
STARTED: "STARTED",
7934-
} as const;
7935-
7936-
/**
7937-
* @public
7938-
*/
7939-
export type ExecutionStatus = (typeof ExecutionStatus)[keyof typeof ExecutionStatus];
7940-
79417970
/**
79427971
* @internal
79437972
*/

clients/client-glue/src/models/models_2.ts

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ import {
5151
DataFormat,
5252
DataQualityTargetTable,
5353
EncryptionConfiguration,
54-
ExecutionStatus,
5554
FederatedDatabase,
5655
IntegrationError,
5756
IntegrationStatus,
@@ -79,6 +78,20 @@ import {
7978
ViewDialect,
8079
} from "./models_1";
8180

81+
/**
82+
* @public
83+
* @enum
84+
*/
85+
export const ExecutionStatus = {
86+
FAILED: "FAILED",
87+
STARTED: "STARTED",
88+
} as const;
89+
90+
/**
91+
* @public
92+
*/
93+
export type ExecutionStatus = (typeof ExecutionStatus)[keyof typeof ExecutionStatus];
94+
8295
/**
8396
* <p>A run attempt for a column statistics task run.</p>
8497
* @public
@@ -8575,23 +8588,6 @@ export interface RunStatementResponse {
85758588
Id?: number | undefined;
85768589
}
85778590

8578-
/**
8579-
* @public
8580-
* @enum
8581-
*/
8582-
export const Comparator = {
8583-
EQUALS: "EQUALS",
8584-
GREATER_THAN: "GREATER_THAN",
8585-
GREATER_THAN_EQUALS: "GREATER_THAN_EQUALS",
8586-
LESS_THAN: "LESS_THAN",
8587-
LESS_THAN_EQUALS: "LESS_THAN_EQUALS",
8588-
} as const;
8589-
8590-
/**
8591-
* @public
8592-
*/
8593-
export type Comparator = (typeof Comparator)[keyof typeof Comparator];
8594-
85958591
/**
85968592
* @internal
85978593
*/

clients/client-glue/src/models/models_3.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@ import {
131131

132132
import {
133133
ColumnRowFilter,
134-
Comparator,
135134
DataQualityEvaluationRunAdditionalRunOptions,
136135
FederatedTable,
137136
ResourceAction,
@@ -142,6 +141,23 @@ import {
142141
ViewValidation,
143142
} from "./models_2";
144143

144+
/**
145+
* @public
146+
* @enum
147+
*/
148+
export const Comparator = {
149+
EQUALS: "EQUALS",
150+
GREATER_THAN: "GREATER_THAN",
151+
GREATER_THAN_EQUALS: "GREATER_THAN_EQUALS",
152+
LESS_THAN: "LESS_THAN",
153+
LESS_THAN_EQUALS: "LESS_THAN_EQUALS",
154+
} as const;
155+
156+
/**
157+
* @public
158+
*/
159+
export type Comparator = (typeof Comparator)[keyof typeof Comparator];
160+
145161
/**
146162
* <p>Defines a property predicate.</p>
147163
* @public

clients/client-glue/src/protocols/Aws_json1_1.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -973,6 +973,7 @@ import {
973973
IllegalSessionStateException,
974974
InboundIntegration,
975975
Integration,
976+
IntegrationConfig,
976977
IntegrationConflictOperationFault,
977978
IntegrationFilter,
978979
IntegrationNotFoundFault,
@@ -11814,6 +11815,8 @@ const se_GetUnfilteredTableMetadataRequest = (
1181411815

1181511816
// se_IntegrationAdditionalEncryptionContextMap omitted.
1181611817

11818+
// se_IntegrationConfig omitted.
11819+
1181711820
// se_IntegrationFilter omitted.
1181811821

1181911822
// se_IntegrationFilterList omitted.
@@ -13869,6 +13872,7 @@ const de_CreateIntegrationResponse = (output: any, context: __SerdeContext): Cre
1386913872
Description: __expectString,
1387013873
Errors: _json,
1387113874
IntegrationArn: __expectString,
13875+
IntegrationConfig: _json,
1387213876
IntegrationName: __expectString,
1387313877
KmsKeyId: __expectString,
1387413878
SourceArn: __expectString,
@@ -15536,6 +15540,7 @@ const de_InboundIntegration = (output: any, context: __SerdeContext): InboundInt
1553615540
CreateTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1553715541
Errors: _json,
1553815542
IntegrationArn: __expectString,
15543+
IntegrationConfig: _json,
1553915544
SourceArn: __expectString,
1554015545
Status: __expectString,
1554115546
TargetArn: __expectString,
@@ -15565,6 +15570,7 @@ const de_Integration = (output: any, context: __SerdeContext): Integration => {
1556515570
Description: __expectString,
1556615571
Errors: _json,
1556715572
IntegrationArn: __expectString,
15573+
IntegrationConfig: _json,
1556815574
IntegrationName: __expectString,
1556915575
KmsKeyId: __expectString,
1557015576
SourceArn: __expectString,
@@ -15576,6 +15582,8 @@ const de_Integration = (output: any, context: __SerdeContext): Integration => {
1557615582

1557715583
// de_IntegrationAdditionalEncryptionContextMap omitted.
1557815584

15585+
// de_IntegrationConfig omitted.
15586+
1557915587
// de_IntegrationConflictOperationFault omitted.
1558015588

1558115589
// de_IntegrationError omitted.

0 commit comments

Comments
 (0)