@aws-cdk/aws-glue-alpha 2.53.0-alpha.0 → 2.54.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +213 -175
- package/.jsii.tabl.json.gz +0 -0
- package/README.md +3 -19
- package/lib/code.js +3 -3
- package/lib/connection.js +2 -2
- package/lib/data-format.js +5 -5
- package/lib/database.d.ts +4 -2
- package/lib/database.js +8 -5
- package/lib/job-executable.d.ts +4 -0
- package/lib/job-executable.js +9 -5
- package/lib/job.js +2 -2
- package/lib/schema.js +1 -1
- package/lib/security-configuration.d.ts +4 -2
- package/lib/security-configuration.js +9 -5
- package/lib/table.d.ts +3 -1
- package/lib/table.js +7 -4
- package/package.json +7 -7
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"aws-cdk-lib": "^2.54.0",
|
|
12
12
|
"constructs": "^10.0.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -2186,6 +2186,19 @@
|
|
|
2186
2186
|
}
|
|
2187
2187
|
}
|
|
2188
2188
|
},
|
|
2189
|
+
"aws-cdk-lib.aws_oam": {
|
|
2190
|
+
"targets": {
|
|
2191
|
+
"dotnet": {
|
|
2192
|
+
"namespace": "Amazon.CDK.AWS.Oam"
|
|
2193
|
+
},
|
|
2194
|
+
"java": {
|
|
2195
|
+
"package": "software.amazon.awscdk.services.oam"
|
|
2196
|
+
},
|
|
2197
|
+
"python": {
|
|
2198
|
+
"module": "aws_cdk.aws_oam"
|
|
2199
|
+
}
|
|
2200
|
+
}
|
|
2201
|
+
},
|
|
2189
2202
|
"aws-cdk-lib.aws_opensearchservice": {
|
|
2190
2203
|
"targets": {
|
|
2191
2204
|
"dotnet": {
|
|
@@ -3253,7 +3266,7 @@
|
|
|
3253
3266
|
},
|
|
3254
3267
|
"name": "@aws-cdk/aws-glue-alpha",
|
|
3255
3268
|
"readme": {
|
|
3256
|
-
"markdown": "# AWS Glue Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\nThis module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.\n\n## Job\n\nA `Job` encapsulates a script that connects to data sources, processes them, and then writes output to a data target.\n\nThere are 3 types of jobs supported by AWS Glue: Spark ETL, Spark Streaming, and Python Shell jobs.\n\nThe `glue.JobExecutable` allows you to specify the type of job, the language to use and the code assets required by the job.\n\n`glue.Code` allows you to refer to the different code assets required by the job, either from an existing S3 location or from a local file path.\n\n### Spark Jobs\n\nThese jobs run in an Apache Spark environment managed by AWS Glue.\n\n#### ETL Jobs\n\nAn ETL job processes data in batches using Apache Spark.\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V2_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n description: 'an example Scala ETL job',\n});\n```\n\n#### Streaming Jobs\n\nA Streaming job is similar to an ETL job, except that it performs ETL on data streams. It uses the Apache Spark Structured Streaming framework. Some Spark job features are not available to streaming ETL jobs.\n\n```ts\nnew glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V2_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});\n```\n\n### Python Shell Jobs\n\nA Python shell job runs Python scripts as a shell and supports a Python version that depends on the AWS Glue version you are using.\nThis can be used to schedule and run tasks that don't require an Apache Spark environment. Currently, three flavors are supported:\n\n* PythonVersion.TWO (2.7; EOL)\n* PythonVersion.THREE (3.6)\n* PythonVersion.THREE_NINE (3.9)\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'PythonShellJob', {\n executable: glue.JobExecutable.pythonShell({\n glueVersion: glue.GlueVersion.V1_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromBucket(bucket, 'script.py'),\n }),\n description: 'an example Python Shell job',\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for more information on adding jobs in Glue.\n\n## Connection\n\nA `Connection` allows Glue jobs, crawlers and development endpoints to access certain types of data stores. For example, to create a network connection to connect to a data source within a VPC:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n // The security groups granting AWS Glue inbound access to the data source within the VPC\n securityGroups: [securityGroup],\n // The VPC subnet which contains the data source\n subnet,\n});\n```\n\nFor RDS `Connection` by JDBC, it is recommended to manage credentials using AWS Secrets Manager. To use Secret, specify `SECRET_ID` in `properties` like the following code. Note that in this case, the subnet must have a route to the AWS Secrets Manager VPC endpoint or to the AWS Secrets Manager endpoint through a NAT gateway.\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\ndeclare const db: rds.DatabaseCluster;\nnew glue.Connection(this, \"RdsConnection\", {\n type: glue.ConnectionType.JDBC,\n securityGroups: [securityGroup],\n subnet,\n properties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${db.clusterEndpoint.socketAddress}/databasename`,\n JDBC_ENFORCE_SSL: \"false\",\n SECRET_ID: db.secret!.secretName,\n },\n});\n```\n\nIf you need to use a connection type that doesn't exist as a static member on `ConnectionType`, you can instantiate a `ConnectionType` object, e.g: `new glue.ConnectionType('NEW_TYPE')`.\n\nSee [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html) and [Connection Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection) documentation for more information on the supported data stores and their configurations.\n\n## SecurityConfiguration\n\nA `SecurityConfiguration` is a set of security properties that can be used by AWS Glue to encrypt data at rest.\n\n```ts\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});\n```\n\nBy default, a shared KMS key is created for use with the encryption configurations that require one. You can also supply your own key for each encryption config, for example, for CloudWatch encryption:\n\n```ts\ndeclare const key: kms.Key;\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n securityConfigurationName: 'name',\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n kmsKey: key,\n },\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html) for more info for Glue encrypting data written by Crawlers, Jobs, and Development Endpoints.\n\n## Database\n\nA `Database` is a logical grouping of `Tables` in the Glue Catalog.\n\n```ts\nnew glue.Database(this, 'MyDatabase', {\n databaseName: 'my_database',\n});\n```\n\n## Table\n\nA Glue table describes a table of data in S3: its structure (column names and types), location of data (S3 objects with a common prefix in a S3 bucket), and format for the files (Json, Avro, Parquet, etc.):\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }, {\n name: 'col2',\n type: glue.Schema.array(glue.Schema.STRING),\n comment: 'col2 is an array of strings' // comment is optional\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, a S3 bucket will be created to store the table's data but you can manually pass the `bucket` and `s3Prefix`:\n\n```ts\ndeclare const myBucket: s3.Bucket;\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n bucket: myBucket,\n s3Prefix: 'my-table/',\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, an S3 bucket will be created to store the table's data and stored in the bucket root. You can also manually pass the `bucket` and `s3Prefix`:\n\n### Partition Keys\n\nTo improve query performance, a table can specify `partitionKeys` on which data is stored and queried separately. For example, you might partition a table by `year` and `month` to optimize queries based on a time window:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Partition Indexes\n\nAnother way to improve query performance is to specify partition indexes. If no partition indexes are\npresent on the table, AWS Glue loads all partitions of the table and filters the loaded partitions using\nthe query expression. The query takes more time to run as the number of partitions increase. With an\nindex, the query will try to fetch a subset of the partitions instead of loading all partitions of the\ntable.\n\nThe keys of a partition index must be a subset of the partition keys of the table. You can have a\nmaximum of 3 partition indexes per table. To specify a partition index, you can use the `partitionIndexes`\nproperty:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n partitionIndexes: [{\n indexName: 'my-index', // optional\n keyNames: ['year'],\n }], // supply up to 3 indexes\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nAlternatively, you can call the `addPartitionIndex()` function on a table:\n\n```ts\ndeclare const myTable: glue.Table;\nmyTable.addPartitionIndex({\n indexName: 'my-index',\n keyNames: ['year'],\n});\n```\n\n### Partition Filtering\n\nIf you have a table with a large number of partitions that grows over time, consider using AWS Glue partition indexing and filtering.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});\n```\n\n## [Encryption](https://docs.aws.amazon.com/athena/latest/ug/encryption.html)\n\nYou can enable encryption on a Table's data:\n\n* `Unencrypted` - files are not encrypted. The default encryption setting.\n* [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - Server side encryption (`SSE-S3`) with an Amazon S3-managed key.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [Kms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [KmsManaged](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`), like `Kms`, except with an AWS KMS Key managed by the AWS Key Management Service.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS_MANAGED,\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [ClientSideKms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro) - Client-side encryption (`CSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n tableName: 'my_table',\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n*Note: you cannot provide a `Bucket` when creating the `Table` if you wish to use server-side encryption (`KMS`, `KMS_MANAGED` or `S3_MANAGED`)*.\n\n## Types\n\nA table's schema is a collection of columns, each of which have a `name` and a `type`. Types are recursive structures, consisting of primitive and complex types:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n columns: [{\n name: 'primitive_column',\n type: glue.Schema.STRING,\n }, {\n name: 'array_column',\n type: glue.Schema.array(glue.Schema.INTEGER),\n comment: 'array<integer>',\n }, {\n name: 'map_column',\n type: glue.Schema.map(\n glue.Schema.STRING,\n glue.Schema.TIMESTAMP),\n comment: 'map<string,string>',\n }, {\n name: 'struct_column',\n type: glue.Schema.struct([{\n name: 'nested_column',\n type: glue.Schema.DATE,\n comment: 'nested comment',\n }]),\n comment: \"struct<nested_column:date COMMENT 'nested comment'>\",\n }],\n // ...\n database: myDatabase,\n tableName: 'my_table',\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Primitives\n\n#### Numeric\n\n| Name \t| Type \t| Comments |\n|-----------\t|----------\t|------------------------------------------------------------------------------------------------------------------\t|\n| FLOAT \t| Constant \t| A 32-bit single-precision floating point number |\n| INTEGER \t| Constant \t| A 32-bit signed value in two's complement format, with a minimum value of -2^31 and a maximum value of 2^31-1 \t|\n| DOUBLE \t| Constant \t| A 64-bit double-precision floating point number |\n| BIG_INT \t| Constant \t| A 64-bit signed INTEGER in two’s complement format, with a minimum value of -2^63 and a maximum value of 2^63 -1 |\n| SMALL_INT \t| Constant \t| A 16-bit signed INTEGER in two’s complement format, with a minimum value of -2^15 and a maximum value of 2^15-1 |\n| TINY_INT \t| Constant \t| A 8-bit signed INTEGER in two’s complement format, with a minimum value of -2^7 and a maximum value of 2^7-1 |\n\n#### Date and time\n\n| Name \t| Type \t| Comments \t|\n|-----------\t|----------\t|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| DATE \t| Constant \t| A date in UNIX format, such as YYYY-MM-DD. \t|\n| TIMESTAMP \t| Constant \t| Date and time instant in the UNiX format, such as yyyy-mm-dd hh:mm:ss[.f...]. For example, TIMESTAMP '2008-09-15 03:04:05.324'. This format uses the session time zone. \t|\n\n#### String\n\n| Name \t| Type \t| Comments \t|\n|--------------------------------------------\t|----------\t|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| STRING \t| Constant \t| A string literal enclosed in single or double quotes \t|\n| decimal(precision: number, scale?: number) \t| Function \t| `precision` is the total number of digits. `scale` (optional) is the number of digits in fractional part with a default of 0. For example, use these type definitions: decimal(11,5), decimal(15) \t|\n| char(length: number) \t| Function \t| Fixed length character data, with a specified length between 1 and 255, such as char(10) \t|\n| varchar(length: number) \t| Function \t| Variable length character data, with a specified length between 1 and 65535, such as varchar(10) \t|\n\n#### Miscellaneous\n\n| Name \t| Type \t| Comments \t|\n|---------\t|----------\t|-------------------------------\t|\n| BOOLEAN \t| Constant \t| Values are `true` and `false` \t|\n| BINARY \t| Constant \t| Value is in binary \t|\n\n### Complex\n\n| Name \t| Type \t| Comments \t|\n|-------------------------------------\t|----------\t|-------------------------------------------------------------------\t|\n| array(itemType: Type) \t| Function \t| An array of some other type \t|\n| map(keyType: Type, valueType: Type) \t| Function \t| A map of some primitive key type to any value type \t|\n| struct(collumns: Column[]) \t| Function \t| Nested structure containing individually named and typed collumns \t|\n"
|
|
3269
|
+
"markdown": "# AWS Glue Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\nThis module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.\n\n## Job\n\nA `Job` encapsulates a script that connects to data sources, processes them, and then writes output to a data target.\n\nThere are 3 types of jobs supported by AWS Glue: Spark ETL, Spark Streaming, and Python Shell jobs.\n\nThe `glue.JobExecutable` allows you to specify the type of job, the language to use and the code assets required by the job.\n\n`glue.Code` allows you to refer to the different code assets required by the job, either from an existing S3 location or from a local file path.\n\n### Spark Jobs\n\nThese jobs run in an Apache Spark environment managed by AWS Glue.\n\n#### ETL Jobs\n\nAn ETL job processes data in batches using Apache Spark.\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V4_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n description: 'an example Scala ETL job',\n});\n```\n\n#### Streaming Jobs\n\nA Streaming job is similar to an ETL job, except that it performs ETL on data streams. It uses the Apache Spark Structured Streaming framework. Some Spark job features are not available to streaming ETL jobs.\n\n```ts\nnew glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V4_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});\n```\n\n### Python Shell Jobs\n\nA Python shell job runs Python scripts as a shell and supports a Python version that depends on the AWS Glue version you are using.\nThis can be used to schedule and run tasks that don't require an Apache Spark environment. Currently, three flavors are supported:\n\n* PythonVersion.TWO (2.7; EOL)\n* PythonVersion.THREE (3.6)\n* PythonVersion.THREE_NINE (3.9)\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'PythonShellJob', {\n executable: glue.JobExecutable.pythonShell({\n glueVersion: glue.GlueVersion.V1_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromBucket(bucket, 'script.py'),\n }),\n description: 'an example Python Shell job',\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for more information on adding jobs in Glue.\n\n## Connection\n\nA `Connection` allows Glue jobs, crawlers and development endpoints to access certain types of data stores. For example, to create a network connection to connect to a data source within a VPC:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n // The security groups granting AWS Glue inbound access to the data source within the VPC\n securityGroups: [securityGroup],\n // The VPC subnet which contains the data source\n subnet,\n});\n```\n\nFor RDS `Connection` by JDBC, it is recommended to manage credentials using AWS Secrets Manager. To use Secret, specify `SECRET_ID` in `properties` like the following code. Note that in this case, the subnet must have a route to the AWS Secrets Manager VPC endpoint or to the AWS Secrets Manager endpoint through a NAT gateway.\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\ndeclare const db: rds.DatabaseCluster;\nnew glue.Connection(this, \"RdsConnection\", {\n type: glue.ConnectionType.JDBC,\n securityGroups: [securityGroup],\n subnet,\n properties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${db.clusterEndpoint.socketAddress}/databasename`,\n JDBC_ENFORCE_SSL: \"false\",\n SECRET_ID: db.secret!.secretName,\n },\n});\n```\n\nIf you need to use a connection type that doesn't exist as a static member on `ConnectionType`, you can instantiate a `ConnectionType` object, e.g: `new glue.ConnectionType('NEW_TYPE')`.\n\nSee [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html) and [Connection Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection) documentation for more information on the supported data stores and their configurations.\n\n## SecurityConfiguration\n\nA `SecurityConfiguration` is a set of security properties that can be used by AWS Glue to encrypt data at rest.\n\n```ts\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});\n```\n\nBy default, a shared KMS key is created for use with the encryption configurations that require one. You can also supply your own key for each encryption config, for example, for CloudWatch encryption:\n\n```ts\ndeclare const key: kms.Key;\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n kmsKey: key,\n },\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html) for more info for Glue encrypting data written by Crawlers, Jobs, and Development Endpoints.\n\n## Database\n\nA `Database` is a logical grouping of `Tables` in the Glue Catalog.\n\n```ts\nnew glue.Database(this, 'MyDatabase');\n```\n\n## Table\n\nA Glue table describes a table of data in S3: its structure (column names and types), location of data (S3 objects with a common prefix in a S3 bucket), and format for the files (Json, Avro, Parquet, etc.):\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }, {\n name: 'col2',\n type: glue.Schema.array(glue.Schema.STRING),\n comment: 'col2 is an array of strings' // comment is optional\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, a S3 bucket will be created to store the table's data but you can manually pass the `bucket` and `s3Prefix`:\n\n```ts\ndeclare const myBucket: s3.Bucket;\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n bucket: myBucket,\n s3Prefix: 'my-table/',\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, an S3 bucket will be created to store the table's data and stored in the bucket root. You can also manually pass the `bucket` and `s3Prefix`:\n\n### Partition Keys\n\nTo improve query performance, a table can specify `partitionKeys` on which data is stored and queried separately. For example, you might partition a table by `year` and `month` to optimize queries based on a time window:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Partition Indexes\n\nAnother way to improve query performance is to specify partition indexes. If no partition indexes are\npresent on the table, AWS Glue loads all partitions of the table and filters the loaded partitions using\nthe query expression. The query takes more time to run as the number of partitions increase. With an\nindex, the query will try to fetch a subset of the partitions instead of loading all partitions of the\ntable.\n\nThe keys of a partition index must be a subset of the partition keys of the table. You can have a\nmaximum of 3 partition indexes per table. To specify a partition index, you can use the `partitionIndexes`\nproperty:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n partitionIndexes: [{\n indexName: 'my-index', // optional\n keyNames: ['year'],\n }], // supply up to 3 indexes\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nAlternatively, you can call the `addPartitionIndex()` function on a table:\n\n```ts\ndeclare const myTable: glue.Table;\nmyTable.addPartitionIndex({\n indexName: 'my-index',\n keyNames: ['year'],\n});\n```\n\n### Partition Filtering\n\nIf you have a table with a large number of partitions that grows over time, consider using AWS Glue partition indexing and filtering.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});\n```\n\n## [Encryption](https://docs.aws.amazon.com/athena/latest/ug/encryption.html)\n\nYou can enable encryption on a Table's data:\n\n* `Unencrypted` - files are not encrypted. The default encryption setting.\n* [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - Server side encryption (`SSE-S3`) with an Amazon S3-managed key.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [Kms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [KmsManaged](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`), like `Kms`, except with an AWS KMS Key managed by the AWS Key Management Service.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [ClientSideKms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro) - Client-side encryption (`CSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n*Note: you cannot provide a `Bucket` when creating the `Table` if you wish to use server-side encryption (`KMS`, `KMS_MANAGED` or `S3_MANAGED`)*.\n\n## Types\n\nA table's schema is a collection of columns, each of which have a `name` and a `type`. Types are recursive structures, consisting of primitive and complex types:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n columns: [{\n name: 'primitive_column',\n type: glue.Schema.STRING,\n }, {\n name: 'array_column',\n type: glue.Schema.array(glue.Schema.INTEGER),\n comment: 'array<integer>',\n }, {\n name: 'map_column',\n type: glue.Schema.map(\n glue.Schema.STRING,\n glue.Schema.TIMESTAMP),\n comment: 'map<string,string>',\n }, {\n name: 'struct_column',\n type: glue.Schema.struct([{\n name: 'nested_column',\n type: glue.Schema.DATE,\n comment: 'nested comment',\n }]),\n comment: \"struct<nested_column:date COMMENT 'nested comment'>\",\n }],\n // ...\n database: myDatabase,\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Primitives\n\n#### Numeric\n\n| Name \t| Type \t| Comments |\n|-----------\t|----------\t|------------------------------------------------------------------------------------------------------------------\t|\n| FLOAT \t| Constant \t| A 32-bit single-precision floating point number |\n| INTEGER \t| Constant \t| A 32-bit signed value in two's complement format, with a minimum value of -2^31 and a maximum value of 2^31-1 \t|\n| DOUBLE \t| Constant \t| A 64-bit double-precision floating point number |\n| BIG_INT \t| Constant \t| A 64-bit signed INTEGER in two’s complement format, with a minimum value of -2^63 and a maximum value of 2^63 -1 |\n| SMALL_INT \t| Constant \t| A 16-bit signed INTEGER in two’s complement format, with a minimum value of -2^15 and a maximum value of 2^15-1 |\n| TINY_INT \t| Constant \t| A 8-bit signed INTEGER in two’s complement format, with a minimum value of -2^7 and a maximum value of 2^7-1 |\n\n#### Date and time\n\n| Name \t| Type \t| Comments \t|\n|-----------\t|----------\t|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| DATE \t| Constant \t| A date in UNIX format, such as YYYY-MM-DD. \t|\n| TIMESTAMP \t| Constant \t| Date and time instant in the UNiX format, such as yyyy-mm-dd hh:mm:ss[.f...]. For example, TIMESTAMP '2008-09-15 03:04:05.324'. This format uses the session time zone. \t|\n\n#### String\n\n| Name \t| Type \t| Comments \t|\n|--------------------------------------------\t|----------\t|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| STRING \t| Constant \t| A string literal enclosed in single or double quotes \t|\n| decimal(precision: number, scale?: number) \t| Function \t| `precision` is the total number of digits. `scale` (optional) is the number of digits in fractional part with a default of 0. For example, use these type definitions: decimal(11,5), decimal(15) \t|\n| char(length: number) \t| Function \t| Fixed length character data, with a specified length between 1 and 255, such as char(10) \t|\n| varchar(length: number) \t| Function \t| Variable length character data, with a specified length between 1 and 65535, such as varchar(10) \t|\n\n#### Miscellaneous\n\n| Name \t| Type \t| Comments \t|\n|---------\t|----------\t|-------------------------------\t|\n| BOOLEAN \t| Constant \t| Values are `true` and `false` \t|\n| BINARY \t| Constant \t| Value is in binary \t|\n\n### Complex\n\n| Name \t| Type \t| Comments \t|\n|-------------------------------------\t|----------\t|-------------------------------------------------------------------\t|\n| array(itemType: Type) \t| Function \t| An array of some other type \t|\n| map(keyType: Type, valueType: Type) \t| Function \t| A map of some primitive key type to any value type \t|\n| struct(collumns: Column[]) \t| Function \t| Nested structure containing individually named and typed collumns \t|\n"
|
|
3257
3270
|
},
|
|
3258
3271
|
"repository": {
|
|
3259
3272
|
"directory": "packages/individual-packages/aws-glue",
|
|
@@ -3532,7 +3545,7 @@
|
|
|
3532
3545
|
"docs": {
|
|
3533
3546
|
"stability": "experimental",
|
|
3534
3547
|
"summary": "CloudWatch Logs encryption configuration.",
|
|
3535
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n
|
|
3548
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
|
|
3536
3549
|
"custom": {
|
|
3537
3550
|
"exampleMetadata": "infused"
|
|
3538
3551
|
}
|
|
@@ -3541,7 +3554,7 @@
|
|
|
3541
3554
|
"kind": "interface",
|
|
3542
3555
|
"locationInModule": {
|
|
3543
3556
|
"filename": "lib/security-configuration.ts",
|
|
3544
|
-
"line":
|
|
3557
|
+
"line": 83
|
|
3545
3558
|
},
|
|
3546
3559
|
"name": "CloudWatchEncryption",
|
|
3547
3560
|
"properties": [
|
|
@@ -3554,7 +3567,7 @@
|
|
|
3554
3567
|
"immutable": true,
|
|
3555
3568
|
"locationInModule": {
|
|
3556
3569
|
"filename": "lib/security-configuration.ts",
|
|
3557
|
-
"line":
|
|
3570
|
+
"line": 87
|
|
3558
3571
|
},
|
|
3559
3572
|
"name": "mode",
|
|
3560
3573
|
"type": {
|
|
@@ -3571,7 +3584,7 @@
|
|
|
3571
3584
|
"immutable": true,
|
|
3572
3585
|
"locationInModule": {
|
|
3573
3586
|
"filename": "lib/security-configuration.ts",
|
|
3574
|
-
"line":
|
|
3587
|
+
"line": 93
|
|
3575
3588
|
},
|
|
3576
3589
|
"name": "kmsKey",
|
|
3577
3590
|
"optional": true,
|
|
@@ -3588,7 +3601,7 @@
|
|
|
3588
3601
|
"see": "https://docs.aws.amazon.com/glue/latest/webapi/API_CloudWatchEncryption.html#Glue-Type-CloudWatchEncryption-CloudWatchEncryptionMode",
|
|
3589
3602
|
"stability": "experimental",
|
|
3590
3603
|
"summary": "Encryption mode for CloudWatch Logs.",
|
|
3591
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n
|
|
3604
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
|
|
3592
3605
|
"custom": {
|
|
3593
3606
|
"exampleMetadata": "infused"
|
|
3594
3607
|
}
|
|
@@ -3597,7 +3610,7 @@
|
|
|
3597
3610
|
"kind": "enum",
|
|
3598
3611
|
"locationInModule": {
|
|
3599
3612
|
"filename": "lib/security-configuration.ts",
|
|
3600
|
-
"line":
|
|
3613
|
+
"line": 42
|
|
3601
3614
|
},
|
|
3602
3615
|
"members": [
|
|
3603
3616
|
{
|
|
@@ -4509,7 +4522,7 @@
|
|
|
4509
4522
|
"docs": {
|
|
4510
4523
|
"stability": "experimental",
|
|
4511
4524
|
"summary": "Defines the input/output formats and ser/de for a single DataFormat.",
|
|
4512
|
-
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n
|
|
4525
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
|
|
4513
4526
|
"custom": {
|
|
4514
4527
|
"exampleMetadata": "infused"
|
|
4515
4528
|
}
|
|
@@ -4861,7 +4874,7 @@
|
|
|
4861
4874
|
"docs": {
|
|
4862
4875
|
"stability": "experimental",
|
|
4863
4876
|
"summary": "A Glue database.",
|
|
4864
|
-
"example": "new glue.Database(this, 'MyDatabase'
|
|
4877
|
+
"example": "new glue.Database(this, 'MyDatabase');",
|
|
4865
4878
|
"custom": {
|
|
4866
4879
|
"exampleMetadata": "infused"
|
|
4867
4880
|
}
|
|
@@ -4873,7 +4886,7 @@
|
|
|
4873
4886
|
},
|
|
4874
4887
|
"locationInModule": {
|
|
4875
4888
|
"filename": "lib/database.ts",
|
|
4876
|
-
"line":
|
|
4889
|
+
"line": 91
|
|
4877
4890
|
},
|
|
4878
4891
|
"parameters": [
|
|
4879
4892
|
{
|
|
@@ -4890,6 +4903,7 @@
|
|
|
4890
4903
|
},
|
|
4891
4904
|
{
|
|
4892
4905
|
"name": "props",
|
|
4906
|
+
"optional": true,
|
|
4893
4907
|
"type": {
|
|
4894
4908
|
"fqn": "@aws-cdk/aws-glue-alpha.DatabaseProps"
|
|
4895
4909
|
}
|
|
@@ -4902,7 +4916,7 @@
|
|
|
4902
4916
|
"kind": "class",
|
|
4903
4917
|
"locationInModule": {
|
|
4904
4918
|
"filename": "lib/database.ts",
|
|
4905
|
-
"line":
|
|
4919
|
+
"line": 51
|
|
4906
4920
|
},
|
|
4907
4921
|
"methods": [
|
|
4908
4922
|
{
|
|
@@ -4911,7 +4925,7 @@
|
|
|
4911
4925
|
},
|
|
4912
4926
|
"locationInModule": {
|
|
4913
4927
|
"filename": "lib/database.ts",
|
|
4914
|
-
"line":
|
|
4928
|
+
"line": 53
|
|
4915
4929
|
},
|
|
4916
4930
|
"name": "fromDatabaseArn",
|
|
4917
4931
|
"parameters": [
|
|
@@ -4952,7 +4966,7 @@
|
|
|
4952
4966
|
"immutable": true,
|
|
4953
4967
|
"locationInModule": {
|
|
4954
4968
|
"filename": "lib/database.ts",
|
|
4955
|
-
"line":
|
|
4969
|
+
"line": 69
|
|
4956
4970
|
},
|
|
4957
4971
|
"name": "catalogArn",
|
|
4958
4972
|
"overrides": "@aws-cdk/aws-glue-alpha.IDatabase",
|
|
@@ -4968,7 +4982,7 @@
|
|
|
4968
4982
|
"immutable": true,
|
|
4969
4983
|
"locationInModule": {
|
|
4970
4984
|
"filename": "lib/database.ts",
|
|
4971
|
-
"line":
|
|
4985
|
+
"line": 74
|
|
4972
4986
|
},
|
|
4973
4987
|
"name": "catalogId",
|
|
4974
4988
|
"overrides": "@aws-cdk/aws-glue-alpha.IDatabase",
|
|
@@ -4984,7 +4998,7 @@
|
|
|
4984
4998
|
"immutable": true,
|
|
4985
4999
|
"locationInModule": {
|
|
4986
5000
|
"filename": "lib/database.ts",
|
|
4987
|
-
"line":
|
|
5001
|
+
"line": 79
|
|
4988
5002
|
},
|
|
4989
5003
|
"name": "databaseArn",
|
|
4990
5004
|
"overrides": "@aws-cdk/aws-glue-alpha.IDatabase",
|
|
@@ -5000,7 +5014,7 @@
|
|
|
5000
5014
|
"immutable": true,
|
|
5001
5015
|
"locationInModule": {
|
|
5002
5016
|
"filename": "lib/database.ts",
|
|
5003
|
-
"line":
|
|
5017
|
+
"line": 84
|
|
5004
5018
|
},
|
|
5005
5019
|
"name": "databaseName",
|
|
5006
5020
|
"overrides": "@aws-cdk/aws-glue-alpha.IDatabase",
|
|
@@ -5016,7 +5030,7 @@
|
|
|
5016
5030
|
"immutable": true,
|
|
5017
5031
|
"locationInModule": {
|
|
5018
5032
|
"filename": "lib/database.ts",
|
|
5019
|
-
"line":
|
|
5033
|
+
"line": 89
|
|
5020
5034
|
},
|
|
5021
5035
|
"name": "locationUri",
|
|
5022
5036
|
"optional": true,
|
|
@@ -5032,9 +5046,9 @@
|
|
|
5032
5046
|
"datatype": true,
|
|
5033
5047
|
"docs": {
|
|
5034
5048
|
"stability": "experimental",
|
|
5035
|
-
"example": "
|
|
5049
|
+
"example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as glue_alpha from '@aws-cdk/aws-glue-alpha';\nconst databaseProps: glue_alpha.DatabaseProps = {\n databaseName: 'databaseName',\n locationUri: 'locationUri',\n};",
|
|
5036
5050
|
"custom": {
|
|
5037
|
-
"exampleMetadata": "
|
|
5051
|
+
"exampleMetadata": "fixture=_generated"
|
|
5038
5052
|
}
|
|
5039
5053
|
},
|
|
5040
5054
|
"fqn": "@aws-cdk/aws-glue-alpha.DatabaseProps",
|
|
@@ -5048,15 +5062,17 @@
|
|
|
5048
5062
|
{
|
|
5049
5063
|
"abstract": true,
|
|
5050
5064
|
"docs": {
|
|
5065
|
+
"default": "- generated by CDK.",
|
|
5051
5066
|
"stability": "experimental",
|
|
5052
5067
|
"summary": "The name of the database."
|
|
5053
5068
|
},
|
|
5054
5069
|
"immutable": true,
|
|
5055
5070
|
"locationInModule": {
|
|
5056
5071
|
"filename": "lib/database.ts",
|
|
5057
|
-
"line":
|
|
5072
|
+
"line": 37
|
|
5058
5073
|
},
|
|
5059
5074
|
"name": "databaseName",
|
|
5075
|
+
"optional": true,
|
|
5060
5076
|
"type": {
|
|
5061
5077
|
"primitive": "string"
|
|
5062
5078
|
}
|
|
@@ -5072,7 +5088,7 @@
|
|
|
5072
5088
|
"immutable": true,
|
|
5073
5089
|
"locationInModule": {
|
|
5074
5090
|
"filename": "lib/database.ts",
|
|
5075
|
-
"line":
|
|
5091
|
+
"line": 45
|
|
5076
5092
|
},
|
|
5077
5093
|
"name": "locationUri",
|
|
5078
5094
|
"optional": true,
|
|
@@ -5108,7 +5124,7 @@
|
|
|
5108
5124
|
},
|
|
5109
5125
|
"locationInModule": {
|
|
5110
5126
|
"filename": "lib/job-executable.ts",
|
|
5111
|
-
"line":
|
|
5127
|
+
"line": 41
|
|
5112
5128
|
},
|
|
5113
5129
|
"name": "of",
|
|
5114
5130
|
"parameters": [
|
|
@@ -5200,6 +5216,23 @@
|
|
|
5200
5216
|
"fqn": "@aws-cdk/aws-glue-alpha.GlueVersion"
|
|
5201
5217
|
}
|
|
5202
5218
|
},
|
|
5219
|
+
{
|
|
5220
|
+
"const": true,
|
|
5221
|
+
"docs": {
|
|
5222
|
+
"stability": "experimental",
|
|
5223
|
+
"summary": "Glue version using Spark 3.3.0 and Python 3.10."
|
|
5224
|
+
},
|
|
5225
|
+
"immutable": true,
|
|
5226
|
+
"locationInModule": {
|
|
5227
|
+
"filename": "lib/job-executable.ts",
|
|
5228
|
+
"line": 35
|
|
5229
|
+
},
|
|
5230
|
+
"name": "V4_0",
|
|
5231
|
+
"static": true,
|
|
5232
|
+
"type": {
|
|
5233
|
+
"fqn": "@aws-cdk/aws-glue-alpha.GlueVersion"
|
|
5234
|
+
}
|
|
5235
|
+
},
|
|
5203
5236
|
{
|
|
5204
5237
|
"docs": {
|
|
5205
5238
|
"stability": "experimental",
|
|
@@ -5208,7 +5241,7 @@
|
|
|
5208
5241
|
"immutable": true,
|
|
5209
5242
|
"locationInModule": {
|
|
5210
5243
|
"filename": "lib/job-executable.ts",
|
|
5211
|
-
"line":
|
|
5244
|
+
"line": 48
|
|
5212
5245
|
},
|
|
5213
5246
|
"name": "name",
|
|
5214
5247
|
"type": {
|
|
@@ -5736,7 +5769,7 @@
|
|
|
5736
5769
|
"kind": "interface",
|
|
5737
5770
|
"locationInModule": {
|
|
5738
5771
|
"filename": "lib/security-configuration.ts",
|
|
5739
|
-
"line":
|
|
5772
|
+
"line": 10
|
|
5740
5773
|
},
|
|
5741
5774
|
"name": "ISecurityConfiguration",
|
|
5742
5775
|
"properties": [
|
|
@@ -5752,7 +5785,7 @@
|
|
|
5752
5785
|
"immutable": true,
|
|
5753
5786
|
"locationInModule": {
|
|
5754
5787
|
"filename": "lib/security-configuration.ts",
|
|
5755
|
-
"line":
|
|
5788
|
+
"line": 15
|
|
5756
5789
|
},
|
|
5757
5790
|
"name": "securityConfigurationName",
|
|
5758
5791
|
"type": {
|
|
@@ -6537,7 +6570,7 @@
|
|
|
6537
6570
|
"docs": {
|
|
6538
6571
|
"stability": "experimental",
|
|
6539
6572
|
"summary": "Job bookmarks encryption configuration.",
|
|
6540
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n
|
|
6573
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
|
|
6541
6574
|
"custom": {
|
|
6542
6575
|
"exampleMetadata": "infused"
|
|
6543
6576
|
}
|
|
@@ -6546,7 +6579,7 @@
|
|
|
6546
6579
|
"kind": "interface",
|
|
6547
6580
|
"locationInModule": {
|
|
6548
6581
|
"filename": "lib/security-configuration.ts",
|
|
6549
|
-
"line":
|
|
6582
|
+
"line": 99
|
|
6550
6583
|
},
|
|
6551
6584
|
"name": "JobBookmarksEncryption",
|
|
6552
6585
|
"properties": [
|
|
@@ -6559,7 +6592,7 @@
|
|
|
6559
6592
|
"immutable": true,
|
|
6560
6593
|
"locationInModule": {
|
|
6561
6594
|
"filename": "lib/security-configuration.ts",
|
|
6562
|
-
"line":
|
|
6595
|
+
"line": 103
|
|
6563
6596
|
},
|
|
6564
6597
|
"name": "mode",
|
|
6565
6598
|
"type": {
|
|
@@ -6576,7 +6609,7 @@
|
|
|
6576
6609
|
"immutable": true,
|
|
6577
6610
|
"locationInModule": {
|
|
6578
6611
|
"filename": "lib/security-configuration.ts",
|
|
6579
|
-
"line":
|
|
6612
|
+
"line": 109
|
|
6580
6613
|
},
|
|
6581
6614
|
"name": "kmsKey",
|
|
6582
6615
|
"optional": true,
|
|
@@ -6593,7 +6626,7 @@
|
|
|
6593
6626
|
"see": "https://docs.aws.amazon.com/glue/latest/webapi/API_JobBookmarksEncryption.html#Glue-Type-JobBookmarksEncryption-JobBookmarksEncryptionMode",
|
|
6594
6627
|
"stability": "experimental",
|
|
6595
6628
|
"summary": "Encryption mode for Job Bookmarks.",
|
|
6596
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n
|
|
6629
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
|
|
6597
6630
|
"custom": {
|
|
6598
6631
|
"exampleMetadata": "infused"
|
|
6599
6632
|
}
|
|
@@ -6602,7 +6635,7 @@
|
|
|
6602
6635
|
"kind": "enum",
|
|
6603
6636
|
"locationInModule": {
|
|
6604
6637
|
"filename": "lib/security-configuration.ts",
|
|
6605
|
-
"line":
|
|
6638
|
+
"line": 55
|
|
6606
6639
|
},
|
|
6607
6640
|
"members": [
|
|
6608
6641
|
{
|
|
@@ -6631,7 +6664,7 @@
|
|
|
6631
6664
|
"kind": "class",
|
|
6632
6665
|
"locationInModule": {
|
|
6633
6666
|
"filename": "lib/job-executable.ts",
|
|
6634
|
-
"line":
|
|
6667
|
+
"line": 217
|
|
6635
6668
|
},
|
|
6636
6669
|
"methods": [
|
|
6637
6670
|
{
|
|
@@ -6641,7 +6674,7 @@
|
|
|
6641
6674
|
},
|
|
6642
6675
|
"locationInModule": {
|
|
6643
6676
|
"filename": "lib/job-executable.ts",
|
|
6644
|
-
"line":
|
|
6677
|
+
"line": 289
|
|
6645
6678
|
},
|
|
6646
6679
|
"name": "of",
|
|
6647
6680
|
"parameters": [
|
|
@@ -6669,7 +6702,7 @@
|
|
|
6669
6702
|
},
|
|
6670
6703
|
"locationInModule": {
|
|
6671
6704
|
"filename": "lib/job-executable.ts",
|
|
6672
|
-
"line":
|
|
6705
|
+
"line": 250
|
|
6673
6706
|
},
|
|
6674
6707
|
"name": "pythonEtl",
|
|
6675
6708
|
"parameters": [
|
|
@@ -6697,7 +6730,7 @@
|
|
|
6697
6730
|
},
|
|
6698
6731
|
"locationInModule": {
|
|
6699
6732
|
"filename": "lib/job-executable.ts",
|
|
6700
|
-
"line":
|
|
6733
|
+
"line": 276
|
|
6701
6734
|
},
|
|
6702
6735
|
"name": "pythonShell",
|
|
6703
6736
|
"parameters": [
|
|
@@ -6725,7 +6758,7 @@
|
|
|
6725
6758
|
},
|
|
6726
6759
|
"locationInModule": {
|
|
6727
6760
|
"filename": "lib/job-executable.ts",
|
|
6728
|
-
"line":
|
|
6761
|
+
"line": 263
|
|
6729
6762
|
},
|
|
6730
6763
|
"name": "pythonStreaming",
|
|
6731
6764
|
"parameters": [
|
|
@@ -6753,7 +6786,7 @@
|
|
|
6753
6786
|
},
|
|
6754
6787
|
"locationInModule": {
|
|
6755
6788
|
"filename": "lib/job-executable.ts",
|
|
6756
|
-
"line":
|
|
6789
|
+
"line": 224
|
|
6757
6790
|
},
|
|
6758
6791
|
"name": "scalaEtl",
|
|
6759
6792
|
"parameters": [
|
|
@@ -6781,7 +6814,7 @@
|
|
|
6781
6814
|
},
|
|
6782
6815
|
"locationInModule": {
|
|
6783
6816
|
"filename": "lib/job-executable.ts",
|
|
6784
|
-
"line":
|
|
6817
|
+
"line": 237
|
|
6785
6818
|
},
|
|
6786
6819
|
"name": "scalaStreaming",
|
|
6787
6820
|
"parameters": [
|
|
@@ -6809,7 +6842,7 @@
|
|
|
6809
6842
|
},
|
|
6810
6843
|
"locationInModule": {
|
|
6811
6844
|
"filename": "lib/job-executable.ts",
|
|
6812
|
-
"line":
|
|
6845
|
+
"line": 322
|
|
6813
6846
|
},
|
|
6814
6847
|
"name": "bind",
|
|
6815
6848
|
"returns": {
|
|
@@ -6837,7 +6870,7 @@
|
|
|
6837
6870
|
"kind": "interface",
|
|
6838
6871
|
"locationInModule": {
|
|
6839
6872
|
"filename": "lib/job-executable.ts",
|
|
6840
|
-
"line":
|
|
6873
|
+
"line": 330
|
|
6841
6874
|
},
|
|
6842
6875
|
"name": "JobExecutableConfig",
|
|
6843
6876
|
"properties": [
|
|
@@ -6851,7 +6884,7 @@
|
|
|
6851
6884
|
"immutable": true,
|
|
6852
6885
|
"locationInModule": {
|
|
6853
6886
|
"filename": "lib/job-executable.ts",
|
|
6854
|
-
"line":
|
|
6887
|
+
"line": 336
|
|
6855
6888
|
},
|
|
6856
6889
|
"name": "glueVersion",
|
|
6857
6890
|
"type": {
|
|
@@ -6868,7 +6901,7 @@
|
|
|
6868
6901
|
"immutable": true,
|
|
6869
6902
|
"locationInModule": {
|
|
6870
6903
|
"filename": "lib/job-executable.ts",
|
|
6871
|
-
"line":
|
|
6904
|
+
"line": 343
|
|
6872
6905
|
},
|
|
6873
6906
|
"name": "language",
|
|
6874
6907
|
"type": {
|
|
@@ -6884,7 +6917,7 @@
|
|
|
6884
6917
|
"immutable": true,
|
|
6885
6918
|
"locationInModule": {
|
|
6886
6919
|
"filename": "lib/job-executable.ts",
|
|
6887
|
-
"line":
|
|
6920
|
+
"line": 360
|
|
6888
6921
|
},
|
|
6889
6922
|
"name": "script",
|
|
6890
6923
|
"type": {
|
|
@@ -6900,7 +6933,7 @@
|
|
|
6900
6933
|
"immutable": true,
|
|
6901
6934
|
"locationInModule": {
|
|
6902
6935
|
"filename": "lib/job-executable.ts",
|
|
6903
|
-
"line":
|
|
6936
|
+
"line": 348
|
|
6904
6937
|
},
|
|
6905
6938
|
"name": "type",
|
|
6906
6939
|
"type": {
|
|
@@ -6919,7 +6952,7 @@
|
|
|
6919
6952
|
"immutable": true,
|
|
6920
6953
|
"locationInModule": {
|
|
6921
6954
|
"filename": "lib/job-executable.ts",
|
|
6922
|
-
"line":
|
|
6955
|
+
"line": 369
|
|
6923
6956
|
},
|
|
6924
6957
|
"name": "className",
|
|
6925
6958
|
"optional": true,
|
|
@@ -6938,7 +6971,7 @@
|
|
|
6938
6971
|
"immutable": true,
|
|
6939
6972
|
"locationInModule": {
|
|
6940
6973
|
"filename": "lib/job-executable.ts",
|
|
6941
|
-
"line":
|
|
6974
|
+
"line": 396
|
|
6942
6975
|
},
|
|
6943
6976
|
"name": "extraFiles",
|
|
6944
6977
|
"optional": true,
|
|
@@ -6962,7 +6995,7 @@
|
|
|
6962
6995
|
"immutable": true,
|
|
6963
6996
|
"locationInModule": {
|
|
6964
6997
|
"filename": "lib/job-executable.ts",
|
|
6965
|
-
"line":
|
|
6998
|
+
"line": 378
|
|
6966
6999
|
},
|
|
6967
7000
|
"name": "extraJars",
|
|
6968
7001
|
"optional": true,
|
|
@@ -6986,7 +7019,7 @@
|
|
|
6986
7019
|
"immutable": true,
|
|
6987
7020
|
"locationInModule": {
|
|
6988
7021
|
"filename": "lib/job-executable.ts",
|
|
6989
|
-
"line":
|
|
7022
|
+
"line": 405
|
|
6990
7023
|
},
|
|
6991
7024
|
"name": "extraJarsFirst",
|
|
6992
7025
|
"optional": true,
|
|
@@ -7005,7 +7038,7 @@
|
|
|
7005
7038
|
"immutable": true,
|
|
7006
7039
|
"locationInModule": {
|
|
7007
7040
|
"filename": "lib/job-executable.ts",
|
|
7008
|
-
"line":
|
|
7041
|
+
"line": 387
|
|
7009
7042
|
},
|
|
7010
7043
|
"name": "extraPythonFiles",
|
|
7011
7044
|
"optional": true,
|
|
@@ -7028,7 +7061,7 @@
|
|
|
7028
7061
|
"immutable": true,
|
|
7029
7062
|
"locationInModule": {
|
|
7030
7063
|
"filename": "lib/job-executable.ts",
|
|
7031
|
-
"line":
|
|
7064
|
+
"line": 355
|
|
7032
7065
|
},
|
|
7033
7066
|
"name": "pythonVersion",
|
|
7034
7067
|
"optional": true,
|
|
@@ -7049,7 +7082,7 @@
|
|
|
7049
7082
|
"kind": "enum",
|
|
7050
7083
|
"locationInModule": {
|
|
7051
7084
|
"filename": "lib/job-executable.ts",
|
|
7052
|
-
"line":
|
|
7085
|
+
"line": 58
|
|
7053
7086
|
},
|
|
7054
7087
|
"members": [
|
|
7055
7088
|
{
|
|
@@ -7520,7 +7553,7 @@
|
|
|
7520
7553
|
"kind": "class",
|
|
7521
7554
|
"locationInModule": {
|
|
7522
7555
|
"filename": "lib/job-executable.ts",
|
|
7523
|
-
"line":
|
|
7556
|
+
"line": 96
|
|
7524
7557
|
},
|
|
7525
7558
|
"methods": [
|
|
7526
7559
|
{
|
|
@@ -7530,7 +7563,7 @@
|
|
|
7530
7563
|
},
|
|
7531
7564
|
"locationInModule": {
|
|
7532
7565
|
"filename": "lib/job-executable.ts",
|
|
7533
|
-
"line":
|
|
7566
|
+
"line": 116
|
|
7534
7567
|
},
|
|
7535
7568
|
"name": "of",
|
|
7536
7569
|
"parameters": [
|
|
@@ -7563,7 +7596,7 @@
|
|
|
7563
7596
|
"immutable": true,
|
|
7564
7597
|
"locationInModule": {
|
|
7565
7598
|
"filename": "lib/job-executable.ts",
|
|
7566
|
-
"line":
|
|
7599
|
+
"line": 100
|
|
7567
7600
|
},
|
|
7568
7601
|
"name": "ETL",
|
|
7569
7602
|
"static": true,
|
|
@@ -7580,7 +7613,7 @@
|
|
|
7580
7613
|
"immutable": true,
|
|
7581
7614
|
"locationInModule": {
|
|
7582
7615
|
"filename": "lib/job-executable.ts",
|
|
7583
|
-
"line":
|
|
7616
|
+
"line": 110
|
|
7584
7617
|
},
|
|
7585
7618
|
"name": "PYTHON_SHELL",
|
|
7586
7619
|
"static": true,
|
|
@@ -7597,7 +7630,7 @@
|
|
|
7597
7630
|
"immutable": true,
|
|
7598
7631
|
"locationInModule": {
|
|
7599
7632
|
"filename": "lib/job-executable.ts",
|
|
7600
|
-
"line":
|
|
7633
|
+
"line": 105
|
|
7601
7634
|
},
|
|
7602
7635
|
"name": "STREAMING",
|
|
7603
7636
|
"static": true,
|
|
@@ -7613,7 +7646,7 @@
|
|
|
7613
7646
|
"immutable": true,
|
|
7614
7647
|
"locationInModule": {
|
|
7615
7648
|
"filename": "lib/job-executable.ts",
|
|
7616
|
-
"line":
|
|
7649
|
+
"line": 123
|
|
7617
7650
|
},
|
|
7618
7651
|
"name": "name",
|
|
7619
7652
|
"type": {
|
|
@@ -7856,7 +7889,7 @@
|
|
|
7856
7889
|
"kind": "interface",
|
|
7857
7890
|
"locationInModule": {
|
|
7858
7891
|
"filename": "lib/job-executable.ts",
|
|
7859
|
-
"line":
|
|
7892
|
+
"line": 212
|
|
7860
7893
|
},
|
|
7861
7894
|
"name": "PythonShellExecutableProps",
|
|
7862
7895
|
"properties": [
|
|
@@ -7870,7 +7903,7 @@
|
|
|
7870
7903
|
"immutable": true,
|
|
7871
7904
|
"locationInModule": {
|
|
7872
7905
|
"filename": "lib/job-executable.ts",
|
|
7873
|
-
"line":
|
|
7906
|
+
"line": 153
|
|
7874
7907
|
},
|
|
7875
7908
|
"name": "glueVersion",
|
|
7876
7909
|
"type": {
|
|
@@ -7886,7 +7919,7 @@
|
|
|
7886
7919
|
"immutable": true,
|
|
7887
7920
|
"locationInModule": {
|
|
7888
7921
|
"filename": "lib/job-executable.ts",
|
|
7889
|
-
"line":
|
|
7922
|
+
"line": 134
|
|
7890
7923
|
},
|
|
7891
7924
|
"name": "pythonVersion",
|
|
7892
7925
|
"type": {
|
|
@@ -7902,7 +7935,7 @@
|
|
|
7902
7935
|
"immutable": true,
|
|
7903
7936
|
"locationInModule": {
|
|
7904
7937
|
"filename": "lib/job-executable.ts",
|
|
7905
|
-
"line":
|
|
7938
|
+
"line": 158
|
|
7906
7939
|
},
|
|
7907
7940
|
"name": "script",
|
|
7908
7941
|
"type": {
|
|
@@ -7921,7 +7954,7 @@
|
|
|
7921
7954
|
"immutable": true,
|
|
7922
7955
|
"locationInModule": {
|
|
7923
7956
|
"filename": "lib/job-executable.ts",
|
|
7924
|
-
"line":
|
|
7957
|
+
"line": 168
|
|
7925
7958
|
},
|
|
7926
7959
|
"name": "extraFiles",
|
|
7927
7960
|
"optional": true,
|
|
@@ -7946,7 +7979,7 @@
|
|
|
7946
7979
|
"immutable": true,
|
|
7947
7980
|
"locationInModule": {
|
|
7948
7981
|
"filename": "lib/job-executable.ts",
|
|
7949
|
-
"line":
|
|
7982
|
+
"line": 144
|
|
7950
7983
|
},
|
|
7951
7984
|
"name": "extraPythonFiles",
|
|
7952
7985
|
"optional": true,
|
|
@@ -7968,7 +8001,7 @@
|
|
|
7968
8001
|
"docs": {
|
|
7969
8002
|
"stability": "experimental",
|
|
7970
8003
|
"summary": "Props for creating a Python Spark (ETL or Streaming) job executable.",
|
|
7971
|
-
"example": "new glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.
|
|
8004
|
+
"example": "new glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V4_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});",
|
|
7972
8005
|
"custom": {
|
|
7973
8006
|
"exampleMetadata": "infused"
|
|
7974
8007
|
}
|
|
@@ -7977,7 +8010,7 @@
|
|
|
7977
8010
|
"kind": "interface",
|
|
7978
8011
|
"locationInModule": {
|
|
7979
8012
|
"filename": "lib/job-executable.ts",
|
|
7980
|
-
"line":
|
|
8013
|
+
"line": 207
|
|
7981
8014
|
},
|
|
7982
8015
|
"name": "PythonSparkJobExecutableProps",
|
|
7983
8016
|
"properties": [
|
|
@@ -7991,7 +8024,7 @@
|
|
|
7991
8024
|
"immutable": true,
|
|
7992
8025
|
"locationInModule": {
|
|
7993
8026
|
"filename": "lib/job-executable.ts",
|
|
7994
|
-
"line":
|
|
8027
|
+
"line": 153
|
|
7995
8028
|
},
|
|
7996
8029
|
"name": "glueVersion",
|
|
7997
8030
|
"type": {
|
|
@@ -8007,7 +8040,7 @@
|
|
|
8007
8040
|
"immutable": true,
|
|
8008
8041
|
"locationInModule": {
|
|
8009
8042
|
"filename": "lib/job-executable.ts",
|
|
8010
|
-
"line":
|
|
8043
|
+
"line": 134
|
|
8011
8044
|
},
|
|
8012
8045
|
"name": "pythonVersion",
|
|
8013
8046
|
"type": {
|
|
@@ -8023,7 +8056,7 @@
|
|
|
8023
8056
|
"immutable": true,
|
|
8024
8057
|
"locationInModule": {
|
|
8025
8058
|
"filename": "lib/job-executable.ts",
|
|
8026
|
-
"line":
|
|
8059
|
+
"line": 158
|
|
8027
8060
|
},
|
|
8028
8061
|
"name": "script",
|
|
8029
8062
|
"type": {
|
|
@@ -8042,7 +8075,7 @@
|
|
|
8042
8075
|
"immutable": true,
|
|
8043
8076
|
"locationInModule": {
|
|
8044
8077
|
"filename": "lib/job-executable.ts",
|
|
8045
|
-
"line":
|
|
8078
|
+
"line": 168
|
|
8046
8079
|
},
|
|
8047
8080
|
"name": "extraFiles",
|
|
8048
8081
|
"optional": true,
|
|
@@ -8066,7 +8099,7 @@
|
|
|
8066
8099
|
"immutable": true,
|
|
8067
8100
|
"locationInModule": {
|
|
8068
8101
|
"filename": "lib/job-executable.ts",
|
|
8069
|
-
"line":
|
|
8102
|
+
"line": 180
|
|
8070
8103
|
},
|
|
8071
8104
|
"name": "extraJars",
|
|
8072
8105
|
"optional": true,
|
|
@@ -8090,7 +8123,7 @@
|
|
|
8090
8123
|
"immutable": true,
|
|
8091
8124
|
"locationInModule": {
|
|
8092
8125
|
"filename": "lib/job-executable.ts",
|
|
8093
|
-
"line":
|
|
8126
|
+
"line": 189
|
|
8094
8127
|
},
|
|
8095
8128
|
"name": "extraJarsFirst",
|
|
8096
8129
|
"optional": true,
|
|
@@ -8110,7 +8143,7 @@
|
|
|
8110
8143
|
"immutable": true,
|
|
8111
8144
|
"locationInModule": {
|
|
8112
8145
|
"filename": "lib/job-executable.ts",
|
|
8113
|
-
"line":
|
|
8146
|
+
"line": 144
|
|
8114
8147
|
},
|
|
8115
8148
|
"name": "extraPythonFiles",
|
|
8116
8149
|
"optional": true,
|
|
@@ -8131,7 +8164,7 @@
|
|
|
8131
8164
|
"docs": {
|
|
8132
8165
|
"stability": "experimental",
|
|
8133
8166
|
"summary": "Python version.",
|
|
8134
|
-
"example": "new glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.
|
|
8167
|
+
"example": "new glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V4_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});",
|
|
8135
8168
|
"custom": {
|
|
8136
8169
|
"exampleMetadata": "infused"
|
|
8137
8170
|
}
|
|
@@ -8140,7 +8173,7 @@
|
|
|
8140
8173
|
"kind": "enum",
|
|
8141
8174
|
"locationInModule": {
|
|
8142
8175
|
"filename": "lib/job-executable.ts",
|
|
8143
|
-
"line":
|
|
8176
|
+
"line": 73
|
|
8144
8177
|
},
|
|
8145
8178
|
"members": [
|
|
8146
8179
|
{
|
|
@@ -8250,7 +8283,7 @@
|
|
|
8250
8283
|
"docs": {
|
|
8251
8284
|
"stability": "experimental",
|
|
8252
8285
|
"summary": "S3 encryption configuration.",
|
|
8253
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n
|
|
8286
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
|
|
8254
8287
|
"custom": {
|
|
8255
8288
|
"exampleMetadata": "infused"
|
|
8256
8289
|
}
|
|
@@ -8259,7 +8292,7 @@
|
|
|
8259
8292
|
"kind": "interface",
|
|
8260
8293
|
"locationInModule": {
|
|
8261
8294
|
"filename": "lib/security-configuration.ts",
|
|
8262
|
-
"line":
|
|
8295
|
+
"line": 67
|
|
8263
8296
|
},
|
|
8264
8297
|
"name": "S3Encryption",
|
|
8265
8298
|
"properties": [
|
|
@@ -8272,7 +8305,7 @@
|
|
|
8272
8305
|
"immutable": true,
|
|
8273
8306
|
"locationInModule": {
|
|
8274
8307
|
"filename": "lib/security-configuration.ts",
|
|
8275
|
-
"line":
|
|
8308
|
+
"line": 71
|
|
8276
8309
|
},
|
|
8277
8310
|
"name": "mode",
|
|
8278
8311
|
"type": {
|
|
@@ -8289,7 +8322,7 @@
|
|
|
8289
8322
|
"immutable": true,
|
|
8290
8323
|
"locationInModule": {
|
|
8291
8324
|
"filename": "lib/security-configuration.ts",
|
|
8292
|
-
"line":
|
|
8325
|
+
"line": 77
|
|
8293
8326
|
},
|
|
8294
8327
|
"name": "kmsKey",
|
|
8295
8328
|
"optional": true,
|
|
@@ -8306,7 +8339,7 @@
|
|
|
8306
8339
|
"see": "https://docs.aws.amazon.com/glue/latest/webapi/API_S3Encryption.html#Glue-Type-S3Encryption-S3EncryptionMode",
|
|
8307
8340
|
"stability": "experimental",
|
|
8308
8341
|
"summary": "Encryption mode for S3.",
|
|
8309
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n
|
|
8342
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
|
|
8310
8343
|
"custom": {
|
|
8311
8344
|
"exampleMetadata": "infused"
|
|
8312
8345
|
}
|
|
@@ -8315,7 +8348,7 @@
|
|
|
8315
8348
|
"kind": "enum",
|
|
8316
8349
|
"locationInModule": {
|
|
8317
8350
|
"filename": "lib/security-configuration.ts",
|
|
8318
|
-
"line":
|
|
8351
|
+
"line": 22
|
|
8319
8352
|
},
|
|
8320
8353
|
"members": [
|
|
8321
8354
|
{
|
|
@@ -8344,7 +8377,7 @@
|
|
|
8344
8377
|
"docs": {
|
|
8345
8378
|
"stability": "experimental",
|
|
8346
8379
|
"summary": "Props for creating a Scala Spark (ETL or Streaming) job executable.",
|
|
8347
|
-
"example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.
|
|
8380
|
+
"example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V4_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n description: 'an example Scala ETL job',\n});",
|
|
8348
8381
|
"custom": {
|
|
8349
8382
|
"exampleMetadata": "infused"
|
|
8350
8383
|
}
|
|
@@ -8353,7 +8386,7 @@
|
|
|
8353
8386
|
"kind": "interface",
|
|
8354
8387
|
"locationInModule": {
|
|
8355
8388
|
"filename": "lib/job-executable.ts",
|
|
8356
|
-
"line":
|
|
8389
|
+
"line": 195
|
|
8357
8390
|
},
|
|
8358
8391
|
"name": "ScalaJobExecutableProps",
|
|
8359
8392
|
"properties": [
|
|
@@ -8367,7 +8400,7 @@
|
|
|
8367
8400
|
"immutable": true,
|
|
8368
8401
|
"locationInModule": {
|
|
8369
8402
|
"filename": "lib/job-executable.ts",
|
|
8370
|
-
"line":
|
|
8403
|
+
"line": 201
|
|
8371
8404
|
},
|
|
8372
8405
|
"name": "className",
|
|
8373
8406
|
"type": {
|
|
@@ -8384,7 +8417,7 @@
|
|
|
8384
8417
|
"immutable": true,
|
|
8385
8418
|
"locationInModule": {
|
|
8386
8419
|
"filename": "lib/job-executable.ts",
|
|
8387
|
-
"line":
|
|
8420
|
+
"line": 153
|
|
8388
8421
|
},
|
|
8389
8422
|
"name": "glueVersion",
|
|
8390
8423
|
"type": {
|
|
@@ -8400,7 +8433,7 @@
|
|
|
8400
8433
|
"immutable": true,
|
|
8401
8434
|
"locationInModule": {
|
|
8402
8435
|
"filename": "lib/job-executable.ts",
|
|
8403
|
-
"line":
|
|
8436
|
+
"line": 158
|
|
8404
8437
|
},
|
|
8405
8438
|
"name": "script",
|
|
8406
8439
|
"type": {
|
|
@@ -8419,7 +8452,7 @@
|
|
|
8419
8452
|
"immutable": true,
|
|
8420
8453
|
"locationInModule": {
|
|
8421
8454
|
"filename": "lib/job-executable.ts",
|
|
8422
|
-
"line":
|
|
8455
|
+
"line": 168
|
|
8423
8456
|
},
|
|
8424
8457
|
"name": "extraFiles",
|
|
8425
8458
|
"optional": true,
|
|
@@ -8443,7 +8476,7 @@
|
|
|
8443
8476
|
"immutable": true,
|
|
8444
8477
|
"locationInModule": {
|
|
8445
8478
|
"filename": "lib/job-executable.ts",
|
|
8446
|
-
"line":
|
|
8479
|
+
"line": 180
|
|
8447
8480
|
},
|
|
8448
8481
|
"name": "extraJars",
|
|
8449
8482
|
"optional": true,
|
|
@@ -8467,7 +8500,7 @@
|
|
|
8467
8500
|
"immutable": true,
|
|
8468
8501
|
"locationInModule": {
|
|
8469
8502
|
"filename": "lib/job-executable.ts",
|
|
8470
|
-
"line":
|
|
8503
|
+
"line": 189
|
|
8471
8504
|
},
|
|
8472
8505
|
"name": "extraJarsFirst",
|
|
8473
8506
|
"optional": true,
|
|
@@ -8483,7 +8516,7 @@
|
|
|
8483
8516
|
"docs": {
|
|
8484
8517
|
"see": "https://docs.aws.amazon.com/athena/latest/ug/data-types.html",
|
|
8485
8518
|
"stability": "experimental",
|
|
8486
|
-
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n
|
|
8519
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
|
|
8487
8520
|
"custom": {
|
|
8488
8521
|
"exampleMetadata": "infused"
|
|
8489
8522
|
}
|
|
@@ -8889,7 +8922,7 @@
|
|
|
8889
8922
|
"remarks": "The following scenarios show some of the ways that you can use a security configuration.\n- Attach a security configuration to an AWS Glue crawler to write encrypted Amazon CloudWatch Logs.\n- Attach a security configuration to an extract, transform, and load (ETL) job to write encrypted Amazon Simple Storage Service (Amazon S3) targets and encrypted CloudWatch Logs.\n- Attach a security configuration to an ETL job to write its jobs bookmarks as encrypted Amazon S3 data.\n- Attach a security configuration to a development endpoint to write encrypted Amazon S3 targets.",
|
|
8890
8923
|
"stability": "experimental",
|
|
8891
8924
|
"summary": "A security configuration is a set of security properties that can be used by AWS Glue to encrypt data at rest.",
|
|
8892
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n
|
|
8925
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
|
|
8893
8926
|
"custom": {
|
|
8894
8927
|
"exampleMetadata": "infused"
|
|
8895
8928
|
}
|
|
@@ -8901,7 +8934,7 @@
|
|
|
8901
8934
|
},
|
|
8902
8935
|
"locationInModule": {
|
|
8903
8936
|
"filename": "lib/security-configuration.ts",
|
|
8904
|
-
"line":
|
|
8937
|
+
"line": 190
|
|
8905
8938
|
},
|
|
8906
8939
|
"parameters": [
|
|
8907
8940
|
{
|
|
@@ -8918,6 +8951,7 @@
|
|
|
8918
8951
|
},
|
|
8919
8952
|
{
|
|
8920
8953
|
"name": "props",
|
|
8954
|
+
"optional": true,
|
|
8921
8955
|
"type": {
|
|
8922
8956
|
"fqn": "@aws-cdk/aws-glue-alpha.SecurityConfigurationProps"
|
|
8923
8957
|
}
|
|
@@ -8930,7 +8964,7 @@
|
|
|
8930
8964
|
"kind": "class",
|
|
8931
8965
|
"locationInModule": {
|
|
8932
8966
|
"filename": "lib/security-configuration.ts",
|
|
8933
|
-
"line":
|
|
8967
|
+
"line": 151
|
|
8934
8968
|
},
|
|
8935
8969
|
"methods": [
|
|
8936
8970
|
{
|
|
@@ -8940,7 +8974,7 @@
|
|
|
8940
8974
|
},
|
|
8941
8975
|
"locationInModule": {
|
|
8942
8976
|
"filename": "lib/security-configuration.ts",
|
|
8943
|
-
"line":
|
|
8977
|
+
"line": 160
|
|
8944
8978
|
},
|
|
8945
8979
|
"name": "fromSecurityConfigurationName",
|
|
8946
8980
|
"parameters": [
|
|
@@ -8993,7 +9027,7 @@
|
|
|
8993
9027
|
"immutable": true,
|
|
8994
9028
|
"locationInModule": {
|
|
8995
9029
|
"filename": "lib/security-configuration.ts",
|
|
8996
|
-
"line":
|
|
9030
|
+
"line": 173
|
|
8997
9031
|
},
|
|
8998
9032
|
"name": "securityConfigurationName",
|
|
8999
9033
|
"overrides": "@aws-cdk/aws-glue-alpha.ISecurityConfiguration",
|
|
@@ -9009,7 +9043,7 @@
|
|
|
9009
9043
|
"immutable": true,
|
|
9010
9044
|
"locationInModule": {
|
|
9011
9045
|
"filename": "lib/security-configuration.ts",
|
|
9012
|
-
"line":
|
|
9046
|
+
"line": 178
|
|
9013
9047
|
},
|
|
9014
9048
|
"name": "cloudWatchEncryptionKey",
|
|
9015
9049
|
"optional": true,
|
|
@@ -9025,7 +9059,7 @@
|
|
|
9025
9059
|
"immutable": true,
|
|
9026
9060
|
"locationInModule": {
|
|
9027
9061
|
"filename": "lib/security-configuration.ts",
|
|
9028
|
-
"line":
|
|
9062
|
+
"line": 183
|
|
9029
9063
|
},
|
|
9030
9064
|
"name": "jobBookmarksEncryptionKey",
|
|
9031
9065
|
"optional": true,
|
|
@@ -9041,7 +9075,7 @@
|
|
|
9041
9075
|
"immutable": true,
|
|
9042
9076
|
"locationInModule": {
|
|
9043
9077
|
"filename": "lib/security-configuration.ts",
|
|
9044
|
-
"line":
|
|
9078
|
+
"line": 188
|
|
9045
9079
|
},
|
|
9046
9080
|
"name": "s3EncryptionKey",
|
|
9047
9081
|
"optional": true,
|
|
@@ -9058,7 +9092,7 @@
|
|
|
9058
9092
|
"docs": {
|
|
9059
9093
|
"stability": "experimental",
|
|
9060
9094
|
"summary": "Constructions properties of {@link SecurityConfiguration}.",
|
|
9061
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n
|
|
9095
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});",
|
|
9062
9096
|
"custom": {
|
|
9063
9097
|
"exampleMetadata": "infused"
|
|
9064
9098
|
}
|
|
@@ -9067,26 +9101,10 @@
|
|
|
9067
9101
|
"kind": "interface",
|
|
9068
9102
|
"locationInModule": {
|
|
9069
9103
|
"filename": "lib/security-configuration.ts",
|
|
9070
|
-
"line":
|
|
9104
|
+
"line": 115
|
|
9071
9105
|
},
|
|
9072
9106
|
"name": "SecurityConfigurationProps",
|
|
9073
9107
|
"properties": [
|
|
9074
|
-
{
|
|
9075
|
-
"abstract": true,
|
|
9076
|
-
"docs": {
|
|
9077
|
-
"stability": "experimental",
|
|
9078
|
-
"summary": "The name of the security configuration."
|
|
9079
|
-
},
|
|
9080
|
-
"immutable": true,
|
|
9081
|
-
"locationInModule": {
|
|
9082
|
-
"filename": "lib/security-configuration.ts",
|
|
9083
|
-
"line": 118
|
|
9084
|
-
},
|
|
9085
|
-
"name": "securityConfigurationName",
|
|
9086
|
-
"type": {
|
|
9087
|
-
"primitive": "string"
|
|
9088
|
-
}
|
|
9089
|
-
},
|
|
9090
9108
|
{
|
|
9091
9109
|
"abstract": true,
|
|
9092
9110
|
"docs": {
|
|
@@ -9097,7 +9115,7 @@
|
|
|
9097
9115
|
"immutable": true,
|
|
9098
9116
|
"locationInModule": {
|
|
9099
9117
|
"filename": "lib/security-configuration.ts",
|
|
9100
|
-
"line":
|
|
9118
|
+
"line": 127
|
|
9101
9119
|
},
|
|
9102
9120
|
"name": "cloudWatchEncryption",
|
|
9103
9121
|
"optional": true,
|
|
@@ -9115,7 +9133,7 @@
|
|
|
9115
9133
|
"immutable": true,
|
|
9116
9134
|
"locationInModule": {
|
|
9117
9135
|
"filename": "lib/security-configuration.ts",
|
|
9118
|
-
"line":
|
|
9136
|
+
"line": 133
|
|
9119
9137
|
},
|
|
9120
9138
|
"name": "jobBookmarksEncryption",
|
|
9121
9139
|
"optional": true,
|
|
@@ -9133,13 +9151,31 @@
|
|
|
9133
9151
|
"immutable": true,
|
|
9134
9152
|
"locationInModule": {
|
|
9135
9153
|
"filename": "lib/security-configuration.ts",
|
|
9136
|
-
"line":
|
|
9154
|
+
"line": 139
|
|
9137
9155
|
},
|
|
9138
9156
|
"name": "s3Encryption",
|
|
9139
9157
|
"optional": true,
|
|
9140
9158
|
"type": {
|
|
9141
9159
|
"fqn": "@aws-cdk/aws-glue-alpha.S3Encryption"
|
|
9142
9160
|
}
|
|
9161
|
+
},
|
|
9162
|
+
{
|
|
9163
|
+
"abstract": true,
|
|
9164
|
+
"docs": {
|
|
9165
|
+
"default": "- generated by CDK.",
|
|
9166
|
+
"stability": "experimental",
|
|
9167
|
+
"summary": "The name of the security configuration."
|
|
9168
|
+
},
|
|
9169
|
+
"immutable": true,
|
|
9170
|
+
"locationInModule": {
|
|
9171
|
+
"filename": "lib/security-configuration.ts",
|
|
9172
|
+
"line": 121
|
|
9173
|
+
},
|
|
9174
|
+
"name": "securityConfigurationName",
|
|
9175
|
+
"optional": true,
|
|
9176
|
+
"type": {
|
|
9177
|
+
"primitive": "string"
|
|
9178
|
+
}
|
|
9143
9179
|
}
|
|
9144
9180
|
],
|
|
9145
9181
|
"symbolId": "lib/security-configuration:SecurityConfigurationProps"
|
|
@@ -9505,7 +9541,7 @@
|
|
|
9505
9541
|
"docs": {
|
|
9506
9542
|
"stability": "experimental",
|
|
9507
9543
|
"summary": "A Glue table.",
|
|
9508
|
-
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n
|
|
9544
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
|
|
9509
9545
|
"custom": {
|
|
9510
9546
|
"exampleMetadata": "infused"
|
|
9511
9547
|
}
|
|
@@ -9517,7 +9553,7 @@
|
|
|
9517
9553
|
},
|
|
9518
9554
|
"locationInModule": {
|
|
9519
9555
|
"filename": "lib/table.ts",
|
|
9520
|
-
"line":
|
|
9556
|
+
"line": 285
|
|
9521
9557
|
},
|
|
9522
9558
|
"parameters": [
|
|
9523
9559
|
{
|
|
@@ -9546,7 +9582,7 @@
|
|
|
9546
9582
|
"kind": "class",
|
|
9547
9583
|
"locationInModule": {
|
|
9548
9584
|
"filename": "lib/table.ts",
|
|
9549
|
-
"line":
|
|
9585
|
+
"line": 191
|
|
9550
9586
|
},
|
|
9551
9587
|
"methods": [
|
|
9552
9588
|
{
|
|
@@ -9555,7 +9591,7 @@
|
|
|
9555
9591
|
},
|
|
9556
9592
|
"locationInModule": {
|
|
9557
9593
|
"filename": "lib/table.ts",
|
|
9558
|
-
"line":
|
|
9594
|
+
"line": 193
|
|
9559
9595
|
},
|
|
9560
9596
|
"name": "fromTableArn",
|
|
9561
9597
|
"parameters": [
|
|
@@ -9592,7 +9628,7 @@
|
|
|
9592
9628
|
},
|
|
9593
9629
|
"locationInModule": {
|
|
9594
9630
|
"filename": "lib/table.ts",
|
|
9595
|
-
"line":
|
|
9631
|
+
"line": 209
|
|
9596
9632
|
},
|
|
9597
9633
|
"name": "fromTableAttributes",
|
|
9598
9634
|
"parameters": [
|
|
@@ -9640,7 +9676,7 @@
|
|
|
9640
9676
|
},
|
|
9641
9677
|
"locationInModule": {
|
|
9642
9678
|
"filename": "lib/table.ts",
|
|
9643
|
-
"line":
|
|
9679
|
+
"line": 361
|
|
9644
9680
|
},
|
|
9645
9681
|
"name": "addPartitionIndex",
|
|
9646
9682
|
"parameters": [
|
|
@@ -9659,7 +9695,7 @@
|
|
|
9659
9695
|
},
|
|
9660
9696
|
"locationInModule": {
|
|
9661
9697
|
"filename": "lib/table.ts",
|
|
9662
|
-
"line":
|
|
9698
|
+
"line": 458
|
|
9663
9699
|
},
|
|
9664
9700
|
"name": "grant",
|
|
9665
9701
|
"parameters": [
|
|
@@ -9694,7 +9730,7 @@
|
|
|
9694
9730
|
},
|
|
9695
9731
|
"locationInModule": {
|
|
9696
9732
|
"filename": "lib/table.ts",
|
|
9697
|
-
"line":
|
|
9733
|
+
"line": 424
|
|
9698
9734
|
},
|
|
9699
9735
|
"name": "grantRead",
|
|
9700
9736
|
"parameters": [
|
|
@@ -9721,7 +9757,7 @@
|
|
|
9721
9757
|
},
|
|
9722
9758
|
"locationInModule": {
|
|
9723
9759
|
"filename": "lib/table.ts",
|
|
9724
|
-
"line":
|
|
9760
|
+
"line": 448
|
|
9725
9761
|
},
|
|
9726
9762
|
"name": "grantReadWrite",
|
|
9727
9763
|
"parameters": [
|
|
@@ -9749,7 +9785,7 @@
|
|
|
9749
9785
|
},
|
|
9750
9786
|
"locationInModule": {
|
|
9751
9787
|
"filename": "lib/table.ts",
|
|
9752
|
-
"line":
|
|
9788
|
+
"line": 470
|
|
9753
9789
|
},
|
|
9754
9790
|
"name": "grantToUnderlyingResources",
|
|
9755
9791
|
"parameters": [
|
|
@@ -9784,7 +9820,7 @@
|
|
|
9784
9820
|
},
|
|
9785
9821
|
"locationInModule": {
|
|
9786
9822
|
"filename": "lib/table.ts",
|
|
9787
|
-
"line":
|
|
9823
|
+
"line": 436
|
|
9788
9824
|
},
|
|
9789
9825
|
"name": "grantWrite",
|
|
9790
9826
|
"parameters": [
|
|
@@ -9815,7 +9851,7 @@
|
|
|
9815
9851
|
"immutable": true,
|
|
9816
9852
|
"locationInModule": {
|
|
9817
9853
|
"filename": "lib/table.ts",
|
|
9818
|
-
"line":
|
|
9854
|
+
"line": 241
|
|
9819
9855
|
},
|
|
9820
9856
|
"name": "bucket",
|
|
9821
9857
|
"type": {
|
|
@@ -9830,7 +9866,7 @@
|
|
|
9830
9866
|
"immutable": true,
|
|
9831
9867
|
"locationInModule": {
|
|
9832
9868
|
"filename": "lib/table.ts",
|
|
9833
|
-
"line":
|
|
9869
|
+
"line": 266
|
|
9834
9870
|
},
|
|
9835
9871
|
"name": "columns",
|
|
9836
9872
|
"type": {
|
|
@@ -9850,7 +9886,7 @@
|
|
|
9850
9886
|
"immutable": true,
|
|
9851
9887
|
"locationInModule": {
|
|
9852
9888
|
"filename": "lib/table.ts",
|
|
9853
|
-
"line":
|
|
9889
|
+
"line": 226
|
|
9854
9890
|
},
|
|
9855
9891
|
"name": "compressed",
|
|
9856
9892
|
"type": {
|
|
@@ -9865,7 +9901,7 @@
|
|
|
9865
9901
|
"immutable": true,
|
|
9866
9902
|
"locationInModule": {
|
|
9867
9903
|
"filename": "lib/table.ts",
|
|
9868
|
-
"line":
|
|
9904
|
+
"line": 221
|
|
9869
9905
|
},
|
|
9870
9906
|
"name": "database",
|
|
9871
9907
|
"type": {
|
|
@@ -9880,7 +9916,7 @@
|
|
|
9880
9916
|
"immutable": true,
|
|
9881
9917
|
"locationInModule": {
|
|
9882
9918
|
"filename": "lib/table.ts",
|
|
9883
|
-
"line":
|
|
9919
|
+
"line": 261
|
|
9884
9920
|
},
|
|
9885
9921
|
"name": "dataFormat",
|
|
9886
9922
|
"type": {
|
|
@@ -9895,7 +9931,7 @@
|
|
|
9895
9931
|
"immutable": true,
|
|
9896
9932
|
"locationInModule": {
|
|
9897
9933
|
"filename": "lib/table.ts",
|
|
9898
|
-
"line":
|
|
9934
|
+
"line": 231
|
|
9899
9935
|
},
|
|
9900
9936
|
"name": "encryption",
|
|
9901
9937
|
"type": {
|
|
@@ -9910,7 +9946,7 @@
|
|
|
9910
9946
|
"immutable": true,
|
|
9911
9947
|
"locationInModule": {
|
|
9912
9948
|
"filename": "lib/table.ts",
|
|
9913
|
-
"line":
|
|
9949
|
+
"line": 246
|
|
9914
9950
|
},
|
|
9915
9951
|
"name": "s3Prefix",
|
|
9916
9952
|
"type": {
|
|
@@ -9925,7 +9961,7 @@
|
|
|
9925
9961
|
"immutable": true,
|
|
9926
9962
|
"locationInModule": {
|
|
9927
9963
|
"filename": "lib/table.ts",
|
|
9928
|
-
"line":
|
|
9964
|
+
"line": 256
|
|
9929
9965
|
},
|
|
9930
9966
|
"name": "tableArn",
|
|
9931
9967
|
"overrides": "@aws-cdk/aws-glue-alpha.ITable",
|
|
@@ -9941,7 +9977,7 @@
|
|
|
9941
9977
|
"immutable": true,
|
|
9942
9978
|
"locationInModule": {
|
|
9943
9979
|
"filename": "lib/table.ts",
|
|
9944
|
-
"line":
|
|
9980
|
+
"line": 251
|
|
9945
9981
|
},
|
|
9946
9982
|
"name": "tableName",
|
|
9947
9983
|
"overrides": "@aws-cdk/aws-glue-alpha.ITable",
|
|
@@ -9958,7 +9994,7 @@
|
|
|
9958
9994
|
"immutable": true,
|
|
9959
9995
|
"locationInModule": {
|
|
9960
9996
|
"filename": "lib/table.ts",
|
|
9961
|
-
"line":
|
|
9997
|
+
"line": 236
|
|
9962
9998
|
},
|
|
9963
9999
|
"name": "encryptionKey",
|
|
9964
10000
|
"optional": true,
|
|
@@ -9974,7 +10010,7 @@
|
|
|
9974
10010
|
"immutable": true,
|
|
9975
10011
|
"locationInModule": {
|
|
9976
10012
|
"filename": "lib/table.ts",
|
|
9977
|
-
"line":
|
|
10013
|
+
"line": 276
|
|
9978
10014
|
},
|
|
9979
10015
|
"name": "partitionIndexes",
|
|
9980
10016
|
"optional": true,
|
|
@@ -9995,7 +10031,7 @@
|
|
|
9995
10031
|
"immutable": true,
|
|
9996
10032
|
"locationInModule": {
|
|
9997
10033
|
"filename": "lib/table.ts",
|
|
9998
|
-
"line":
|
|
10034
|
+
"line": 271
|
|
9999
10035
|
},
|
|
10000
10036
|
"name": "partitionKeys",
|
|
10001
10037
|
"optional": true,
|
|
@@ -10068,7 +10104,7 @@
|
|
|
10068
10104
|
"see": "https://docs.aws.amazon.com/athena/latest/ug/encryption.html",
|
|
10069
10105
|
"stability": "experimental",
|
|
10070
10106
|
"summary": "Encryption options for a Table.",
|
|
10071
|
-
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n
|
|
10107
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
|
|
10072
10108
|
"custom": {
|
|
10073
10109
|
"exampleMetadata": "infused"
|
|
10074
10110
|
}
|
|
@@ -10126,7 +10162,7 @@
|
|
|
10126
10162
|
"datatype": true,
|
|
10127
10163
|
"docs": {
|
|
10128
10164
|
"stability": "experimental",
|
|
10129
|
-
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n
|
|
10165
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
|
|
10130
10166
|
"custom": {
|
|
10131
10167
|
"exampleMetadata": "infused"
|
|
10132
10168
|
}
|
|
@@ -10148,7 +10184,7 @@
|
|
|
10148
10184
|
"immutable": true,
|
|
10149
10185
|
"locationInModule": {
|
|
10150
10186
|
"filename": "lib/table.ts",
|
|
10151
|
-
"line":
|
|
10187
|
+
"line": 120
|
|
10152
10188
|
},
|
|
10153
10189
|
"name": "columns",
|
|
10154
10190
|
"type": {
|
|
@@ -10169,7 +10205,7 @@
|
|
|
10169
10205
|
"immutable": true,
|
|
10170
10206
|
"locationInModule": {
|
|
10171
10207
|
"filename": "lib/table.ts",
|
|
10172
|
-
"line":
|
|
10208
|
+
"line": 101
|
|
10173
10209
|
},
|
|
10174
10210
|
"name": "database",
|
|
10175
10211
|
"type": {
|
|
@@ -10185,29 +10221,13 @@
|
|
|
10185
10221
|
"immutable": true,
|
|
10186
10222
|
"locationInModule": {
|
|
10187
10223
|
"filename": "lib/table.ts",
|
|
10188
|
-
"line":
|
|
10224
|
+
"line": 141
|
|
10189
10225
|
},
|
|
10190
10226
|
"name": "dataFormat",
|
|
10191
10227
|
"type": {
|
|
10192
10228
|
"fqn": "@aws-cdk/aws-glue-alpha.DataFormat"
|
|
10193
10229
|
}
|
|
10194
10230
|
},
|
|
10195
|
-
{
|
|
10196
|
-
"abstract": true,
|
|
10197
|
-
"docs": {
|
|
10198
|
-
"stability": "experimental",
|
|
10199
|
-
"summary": "Name of the table."
|
|
10200
|
-
},
|
|
10201
|
-
"immutable": true,
|
|
10202
|
-
"locationInModule": {
|
|
10203
|
-
"filename": "lib/table.ts",
|
|
10204
|
-
"line": 87
|
|
10205
|
-
},
|
|
10206
|
-
"name": "tableName",
|
|
10207
|
-
"type": {
|
|
10208
|
-
"primitive": "string"
|
|
10209
|
-
}
|
|
10210
|
-
},
|
|
10211
10231
|
{
|
|
10212
10232
|
"abstract": true,
|
|
10213
10233
|
"docs": {
|
|
@@ -10218,7 +10238,7 @@
|
|
|
10218
10238
|
"immutable": true,
|
|
10219
10239
|
"locationInModule": {
|
|
10220
10240
|
"filename": "lib/table.ts",
|
|
10221
|
-
"line":
|
|
10241
|
+
"line": 108
|
|
10222
10242
|
},
|
|
10223
10243
|
"name": "bucket",
|
|
10224
10244
|
"optional": true,
|
|
@@ -10236,7 +10256,7 @@
|
|
|
10236
10256
|
"immutable": true,
|
|
10237
10257
|
"locationInModule": {
|
|
10238
10258
|
"filename": "lib/table.ts",
|
|
10239
|
-
"line":
|
|
10259
|
+
"line": 148
|
|
10240
10260
|
},
|
|
10241
10261
|
"name": "compressed",
|
|
10242
10262
|
"optional": true,
|
|
@@ -10254,7 +10274,7 @@
|
|
|
10254
10274
|
"immutable": true,
|
|
10255
10275
|
"locationInModule": {
|
|
10256
10276
|
"filename": "lib/table.ts",
|
|
10257
|
-
"line":
|
|
10277
|
+
"line": 96
|
|
10258
10278
|
},
|
|
10259
10279
|
"name": "description",
|
|
10260
10280
|
"optional": true,
|
|
@@ -10273,7 +10293,7 @@
|
|
|
10273
10293
|
"immutable": true,
|
|
10274
10294
|
"locationInModule": {
|
|
10275
10295
|
"filename": "lib/table.ts",
|
|
10276
|
-
"line":
|
|
10296
|
+
"line": 185
|
|
10277
10297
|
},
|
|
10278
10298
|
"name": "enablePartitionFiltering",
|
|
10279
10299
|
"optional": true,
|
|
@@ -10292,7 +10312,7 @@
|
|
|
10292
10312
|
"immutable": true,
|
|
10293
10313
|
"locationInModule": {
|
|
10294
10314
|
"filename": "lib/table.ts",
|
|
10295
|
-
"line":
|
|
10315
|
+
"line": 160
|
|
10296
10316
|
},
|
|
10297
10317
|
"name": "encryption",
|
|
10298
10318
|
"optional": true,
|
|
@@ -10311,7 +10331,7 @@
|
|
|
10311
10331
|
"immutable": true,
|
|
10312
10332
|
"locationInModule": {
|
|
10313
10333
|
"filename": "lib/table.ts",
|
|
10314
|
-
"line":
|
|
10334
|
+
"line": 169
|
|
10315
10335
|
},
|
|
10316
10336
|
"name": "encryptionKey",
|
|
10317
10337
|
"optional": true,
|
|
@@ -10330,7 +10350,7 @@
|
|
|
10330
10350
|
"immutable": true,
|
|
10331
10351
|
"locationInModule": {
|
|
10332
10352
|
"filename": "lib/table.ts",
|
|
10333
|
-
"line":
|
|
10353
|
+
"line": 136
|
|
10334
10354
|
},
|
|
10335
10355
|
"name": "partitionIndexes",
|
|
10336
10356
|
"optional": true,
|
|
@@ -10353,7 +10373,7 @@
|
|
|
10353
10373
|
"immutable": true,
|
|
10354
10374
|
"locationInModule": {
|
|
10355
10375
|
"filename": "lib/table.ts",
|
|
10356
|
-
"line":
|
|
10376
|
+
"line": 127
|
|
10357
10377
|
},
|
|
10358
10378
|
"name": "partitionKeys",
|
|
10359
10379
|
"optional": true,
|
|
@@ -10376,7 +10396,7 @@
|
|
|
10376
10396
|
"immutable": true,
|
|
10377
10397
|
"locationInModule": {
|
|
10378
10398
|
"filename": "lib/table.ts",
|
|
10379
|
-
"line":
|
|
10399
|
+
"line": 115
|
|
10380
10400
|
},
|
|
10381
10401
|
"name": "s3Prefix",
|
|
10382
10402
|
"optional": true,
|
|
@@ -10394,13 +10414,31 @@
|
|
|
10394
10414
|
"immutable": true,
|
|
10395
10415
|
"locationInModule": {
|
|
10396
10416
|
"filename": "lib/table.ts",
|
|
10397
|
-
"line":
|
|
10417
|
+
"line": 176
|
|
10398
10418
|
},
|
|
10399
10419
|
"name": "storedAsSubDirectories",
|
|
10400
10420
|
"optional": true,
|
|
10401
10421
|
"type": {
|
|
10402
10422
|
"primitive": "boolean"
|
|
10403
10423
|
}
|
|
10424
|
+
},
|
|
10425
|
+
{
|
|
10426
|
+
"abstract": true,
|
|
10427
|
+
"docs": {
|
|
10428
|
+
"default": "- generated by CDK.",
|
|
10429
|
+
"stability": "experimental",
|
|
10430
|
+
"summary": "Name of the table."
|
|
10431
|
+
},
|
|
10432
|
+
"immutable": true,
|
|
10433
|
+
"locationInModule": {
|
|
10434
|
+
"filename": "lib/table.ts",
|
|
10435
|
+
"line": 89
|
|
10436
|
+
},
|
|
10437
|
+
"name": "tableName",
|
|
10438
|
+
"optional": true,
|
|
10439
|
+
"type": {
|
|
10440
|
+
"primitive": "string"
|
|
10441
|
+
}
|
|
10404
10442
|
}
|
|
10405
10443
|
],
|
|
10406
10444
|
"symbolId": "lib/table:TableProps"
|
|
@@ -10411,7 +10449,7 @@
|
|
|
10411
10449
|
"docs": {
|
|
10412
10450
|
"stability": "experimental",
|
|
10413
10451
|
"summary": "Represents a type of a column in a table schema.",
|
|
10414
|
-
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n
|
|
10452
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
|
|
10415
10453
|
"custom": {
|
|
10416
10454
|
"exampleMetadata": "infused"
|
|
10417
10455
|
}
|
|
@@ -10580,6 +10618,6 @@
|
|
|
10580
10618
|
"symbolId": "lib/job:WorkerType"
|
|
10581
10619
|
}
|
|
10582
10620
|
},
|
|
10583
|
-
"version": "2.
|
|
10621
|
+
"version": "2.54.0-alpha.0",
|
|
10584
10622
|
"fingerprint": "**********"
|
|
10585
10623
|
}
|