@aws-cdk/aws-glue-alpha 2.265.0-alpha.0 → 2.267.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 +982 -776
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +25 -91
- package/README.md +158 -72
- package/awslint.json +6 -1
- package/lib/catalog.js +3 -3
- package/lib/code.js +3 -3
- package/lib/connection.d.ts +41 -1
- package/lib/connection.js +48 -9
- package/lib/data-format.d.ts +2 -2
- package/lib/data-format.js +8 -8
- package/lib/data-quality-ruleset.d.ts +28 -3
- package/lib/data-quality-ruleset.js +37 -5
- package/lib/database.d.ts +1 -1
- package/lib/database.js +2 -2
- package/lib/external-table.js +6 -4
- package/lib/index.d.ts +0 -1
- package/lib/index.js +1 -2
- package/lib/jobs/job.d.ts +1 -24
- package/lib/jobs/job.js +3 -3
- package/lib/jobs/pyspark-etl-job.d.ts +2 -1
- package/lib/jobs/pyspark-etl-job.js +10 -5
- package/lib/jobs/pyspark-flex-etl-job.d.ts +3 -2
- package/lib/jobs/pyspark-flex-etl-job.js +7 -6
- package/lib/jobs/pyspark-streaming-job.d.ts +2 -1
- package/lib/jobs/pyspark-streaming-job.js +6 -5
- package/lib/jobs/python-shell-job.js +1 -1
- package/lib/jobs/ray-job.d.ts +8 -0
- package/lib/jobs/ray-job.js +3 -7
- package/lib/jobs/scala-spark-etl-job.js +4 -8
- package/lib/jobs/scala-spark-flex-etl-job.js +4 -4
- package/lib/jobs/scala-spark-streaming-job.js +4 -8
- package/lib/jobs/spark-job.d.ts +26 -0
- package/lib/jobs/spark-job.js +2 -2
- package/lib/partition-projection.d.ts +8 -8
- package/lib/partition-projection.js +49 -2
- package/lib/s3-table.d.ts +83 -39
- package/lib/s3-table.js +136 -86
- package/lib/schema.d.ts +26 -6
- package/lib/schema.js +74 -82
- package/lib/security-configuration.d.ts +41 -47
- package/lib/security-configuration.js +83 -25
- package/lib/storage-parameter.d.ts +14 -3
- package/lib/storage-parameter.js +16 -6
- package/lib/table-base.d.ts +34 -1
- package/lib/table-base.js +33 -2
- package/lib/triggers/trigger-options.js +1 -1
- package/lib/triggers/workflow.js +2 -2
- package/package.json +7 -7
- package/lib/table-deprecated.d.ts +0 -13
- package/lib/table-deprecated.js +0 -70
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.267.0",
|
|
12
12
|
"constructs": "^10.5.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -9409,7 +9409,7 @@
|
|
|
9409
9409
|
},
|
|
9410
9410
|
"name": "@aws-cdk/aws-glue-alpha",
|
|
9411
9411
|
"readme": {
|
|
9412
|
-
"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## README\n\n[AWS Glue](https://aws.amazon.com/glue/) is a serverless data integration\nservice that makes it easier to discover, prepare, move, and integrate data\nfrom multiple sources for analytics, machine learning (ML), and application\ndevelopment.\n\nThe Glue L2 construct has convenience methods working backwards from common\nuse cases and sets required parameters to defaults that align with recommended\nbest practices for each job type. It also provides customers with a balance\nbetween flexibility via optional parameter overrides, and opinionated\ninterfaces that discouraging anti-patterns, resulting in reduced time to develop\nand deploy new resources.\n\n### References\n\n* [Glue Launch Announcement](https://aws.amazon.com/blogs/aws/launch-aws-glue-now-generally-available/)\n* [Glue Documentation](https://docs.aws.amazon.com/glue/index.html)\n* [Glue L1 (CloudFormation) Constructs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Glue.html)\n* Prior version of the [@aws-cdk/aws-glue-alpha module](https://github.com/aws/aws-cdk/blob/v2.51.1/packages/%40aws-cdk/aws-glue/README.md)\n\n## Create a Glue Job\n\nA Job encapsulates a script that connects to data sources, processes\nthem, and then writes output to a data target. There are four types of Glue\nJobs: Spark (ETL and Streaming), Python Shell, and Flex Jobs. Most\nof the required parameters for these jobs are common across all types,\nbut there are a few differences depending on the languages supported\nand features provided by each type. For all job types, the L2 defaults\nto AWS best practice recommendations, such as:\n\n* Use of Secrets Manager for Connection JDBC strings\n* Glue job autoscaling\n* Default parameter values for Glue job creation\n\nThis iteration of the L2 construct introduces breaking changes to\nthe existing glue-alpha-module, but these changes streamline the developer\nexperience, introduce new constants for defaults, and replacing synth-time\nvalidations with interface contracts for enforcement of the parameter combinations\nthat Glue supports. As an opinionated construct, the Glue L2 construct does\nnot allow developers to create resources that use non-current versions\nof Glue or deprecated language dependencies (e.g. deprecated versions of Python).\nAs always, L1s allow you to specify a wider range of parameters if you need\nor want to use alternative configurations.\n\nOptional and required parameters for each job are enforced via interface\nrather than validation; see [Glue's public documentation](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api.html)\nfor more granular details.\n\n### Spark Jobs\n\n#### ETL Jobs\n\nETL jobs support pySpark and Scala languages, for which there are separate but\nsimilar constructors. ETL jobs default to the G2 worker type, but you can\noverride this default with other supported worker type values (G1, G2, G4\nand G8). ETL jobs defaults to Glue version 4.0, which you can override to 3.0.\nThe following ETL features are enabled by default:\n`—enable-metrics, —enable-spark-ui, —enable-continuous-cloudwatch-log.`\nYou can find more details about version, worker type and other features in\n[Glue's public documentation](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html).\n\nReference the pyspark-etl-jobs.test.ts and scalaspark-etl-jobs.test.ts unit tests\nfor examples of required-only and optional job parameters when creating these\ntypes of jobs.\n\nFor the sake of brevity, examples are shown using the pySpark job variety.\n\nExample with only required parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n role,\n script,\n jobName: 'PySparkETLJob',\n});\n```\n\nExample with optional override parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerType: glue.WorkerType.G_2X,\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n numberOfWorkers: 2,\n maxRetries: 2,\n});\n```\n\n#### Streaming Jobs\n\nStreaming jobs are similar to ETL jobs, except that they perform ETL on data\nstreams using the Apache Spark Structured Streaming framework. Some Spark\njob features are not available to Streaming ETL jobs. They support Scala\nand pySpark languages. PySpark streaming jobs default Python 3.9,\nwhich you can override with any non-deprecated version of Python. It\ndefaults to the G2 worker type and Glue 4.0, both of which you can override.\nThe following best practice features are enabled by default:\n`—enable-metrics, —enable-spark-ui, —enable-continuous-cloudwatch-log`.\n\nReference the pyspark-streaming-jobs.test.ts and scalaspark-streaming-jobs.test.ts\nunit tests for examples of required-only and optional job parameters when creating\nthese types of jobs.\n\nExample with only required parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkStreamingJob(stack, 'ImportedJob', { role, script });\n```\n\nExample with optional override parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', {\n jobName: 'PySparkStreamingJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerType: glue.WorkerType.G_2X,\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n numberOfWorkers: 2,\n maxRetries: 2,\n});\n```\n\n#### Flex Jobs\n\nThe flexible execution class is appropriate for non-urgent jobs such as\npre-production jobs, testing, and one-time data loads. Flexible jobs default\nto Glue version 5.0 and worker type `G_2X`. The following best practice\nfeatures are enabled by default:\n`—enable-metrics, —enable-spark-ui, —enable-continuous-cloudwatch-log`\n\nReference the pyspark-flex-etl-jobs.test.ts and scalaspark-flex-etl-jobs.test.ts\nunit tests for examples of required-only and optional job parameters when creating\nthese types of jobs.\n\nExample with only required parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkFlexEtlJob(stack, 'ImportedJob', { role, script });\n```\n\nExample with optional override parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'pySparkEtlJob', {\n jobName: 'pySparkEtlJob',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerType: glue.WorkerType.G_2X,\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n numberOfWorkers: 2,\n maxRetries: 2,\n});\n```\n\n### Python Shell Jobs\n\nPython shell jobs support a Python version that depends on the AWS Glue\nversion you use. These can be used to schedule and run tasks that don't\nrequire an Apache Spark environment. Python shell jobs default to\nPython 3.9 and a MaxCapacity of `0.0625`. Python 3.9 supports pre-loaded\nanalytics libraries using the `library-set=analytics` flag, which is\nenabled by default.\n\nReference the pyspark-shell-job.test.ts unit tests for examples of\nrequired-only and optional job parameters when creating these types of jobs.\n\nExample with only required parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PythonShellJob(stack, 'ImportedJob', { role, script });\n```\n\nExample with optional override parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\ndeclare const extraPythonFile: glue.Code;\nnew glue.PythonShellJob(stack, 'PythonShellJob', {\n jobName: 'PythonShellJobCustomName',\n description: 'This is a description',\n pythonVersion: glue.PythonVersion.TWO,\n maxCapacity: glue.MaxCapacity.DPU_1,\n role,\n script,\n extraPythonFiles: [extraPythonFile],\n glueVersion: glue.GlueVersion.V2_0,\n continuousLogging: { enabled: false },\n workerType: glue.WorkerType.G_2X,\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n numberOfWorkers: 2,\n maxRetries: 2,\n});\n```\n\n### Ray Jobs\n\n> **⚠️ DEPRECATED:** AWS Glue for Ray is closed to new customers as of April 30, 2026 and is in maintenance mode.\n> Migrate to [Amazon EKS with KubeRay Operator](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html).\n\nThe `RayJob` construct, `Runtime.RAY_TWO_FOUR`, and `JobType.RAY` are deprecated and will be removed in a future release.\n\n### Metrics Control\n\nBy default, Glue jobs enable CloudWatch metrics (`--enable-metrics`) and observability metrics (`--enable-observability-metrics`) for monitoring and debugging. You can disable these metrics to reduce CloudWatch costs:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n// Disable both metrics for cost optimization\nnew glue.PySparkEtlJob(stack, 'CostOptimizedJob', {\n role,\n script,\n enableMetrics: false,\n enableObservabilityMetrics: false,\n});\n\n// Selective control - keep observability, disable profiling\nnew glue.PySparkEtlJob(stack, 'SelectiveJob', {\n role,\n script,\n enableMetrics: false,\n // enableObservabilityMetrics defaults to true\n});\n```\n\nThis feature is available for all Spark job types (ETL, Streaming, Flex).\n\n### Enable Job Run Queuing\n\nAWS Glue job queuing monitors your account level quotas and limits. If quotas or limits are insufficient to start a Glue job run, AWS Glue will automatically queue the job and wait for limits to free up. Once limits become available, AWS Glue will retry the job run. Glue jobs will queue for limits like max concurrent job runs per account, max concurrent Data Processing Units (DPU), and resource unavailable due to IP address exhaustion in Amazon Virtual Private Cloud (Amazon VPC).\n\nEnable job run queuing by setting the `jobRunQueuingEnabled` property to `true`.\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n role,\n script,\n jobName: 'PySparkETLJob',\n jobRunQueuingEnabled: true\n});\n```\n\n### Uploading scripts from the CDK app repository to S3\n\nSimilar to other L2 constructs, the Glue L2 automates uploading / updating\nscripts to S3 via an optional fromAsset parameter pointing to a script\nin the local file structure. You provide the existing S3 bucket and\npath to which you'd like the script to be uploaded.\n\nReference the unit tests for examples of repo and S3 code target examples.\n\n### Workflow Triggers\n\nYou can use Glue workflows to create and visualize complex\nextract, transform, and load (ETL) activities involving multiple crawlers,\njobs, and triggers. Standalone triggers are an anti-pattern, so you must\ncreate triggers from within a workflow using the L2 construct.\n\nWithin a workflow object, there are functions to create different\ntypes of triggers with actions and predicates. You then add those triggers\nto jobs.\n\nStartOnCreation defaults to true for all trigger types, but you can\noverride it if you prefer for your trigger not to start on creation.\n\nReference the workflow-triggers.test.ts unit tests for examples of creating\nworkflows and triggers.\n\n#### **1. On-Demand Triggers**\n\nOn-demand triggers can start glue jobs or crawlers. This construct provides\nconvenience functions to create on-demand crawler or job triggers. The constructor\ntakes an optional description parameter, but abstracts the requirement of an\nactions list using the job or crawler objects using conditional types.\n\n#### **2. Scheduled Triggers**\n\nYou can create scheduled triggers using cron expressions. This construct\nprovides daily, weekly, and monthly convenience functions,\nas well as a custom function that allows you to create your own\ncustom timing using the [existing event Schedule class](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.Schedule.html)\nwithout having to build your own cron expressions. The L2 extracts\nthe expression that Glue requires from the Schedule object. The constructor\ntakes an optional description and a list of jobs or crawlers as actions.\n\n#### **3. Notify Event Triggers**\n\nThere are two types of notify event triggers: batching and non-batching.\nFor batching triggers, you must specify `BatchSize`. For non-batching\ntriggers, `BatchSize` defaults to 1. For both triggers, `BatchWindow`\ndefaults to 900 seconds, but you can override the window to align with\nyour workload's requirements.\n\n#### **4. Conditional Triggers**\n\nConditional triggers have a predicate and actions associated with them.\nThe trigger actions are executed when the predicateCondition is true.\n\n### Connection Properties\n\nA `Connection` allows Glue jobs, crawlers and development endpoints to access\ncertain types of data stores.\n\n* **Secrets Management**\n You must specify JDBC connection credentials in Secrets Manager and\n provide the Secrets Manager Key name as a property to the job connection.\n\n* **Networking - the CDK determines the best fit subnet for Glue connection\nconfiguration**\n The prior version of the glue-alpha-module requires the developer to\n specify the subnet of the Connection when it’s defined. Now, you can still\n specify the specific subnet you want to use, but are no longer required\n to. You are only required to provide a VPC and either a public or private\n subnet selection. Without a specific subnet provided, the L2 leverages the\n existing [EC2 Subnet Selection](https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.aws_ec2/SubnetSelection.html)\n library to make the best choice selection for the subnet.\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\nConnection `properties` are emitted verbatim into the CloudFormation template, so\nany credential placed there in plaintext is stored in plaintext in the template,\n`cdk.out`, and source control. Reference a Secrets Manager secret through\n`SECRET_ID` (as above) instead. If a property key looks like a credential (for\nexample `PASSWORD`, `SECRET`, or `TOKEN`) and holds a plaintext literal, the\nconstruct emits a synthesis-time warning.\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## Catalog\n\nThe Glue Data Catalog is a persistent metadata store for your data assets. Every\naccount has an implicit, account-wide catalog that always exists, and you can also\ncreate additional catalogs as `AWS::Glue::Catalog` resources (for example, to\nfederate to another metastore).\n\nA catalog's encryption is fixed when the catalog is created: a catalog either\ncarries encryption settings or it does not. This keeps its configuration easy to\nreason about — there are no mutation methods that change encryption after the fact.\n\n### The account-wide catalog\n\nUse `Catalog.forAccount(scope)` to obtain the implicit account catalog. It is not\na CloudFormation resource — it always exists. Repeated calls within the same stack\nreturn the same instance:\n\n```ts\nconst catalog = glue.Catalog.forAccount(this);\n```\n\nTo configure Data Catalog encryption for the account, use\n`Catalog.encryptAccount(scope, options)`:\n\n```ts\ndeclare const key: kms.Key;\nglue.Catalog.encryptAccount(this, {\n encryptionAtRest: glue.DataCatalogEncryptionAtRest.kms(key),\n});\n```\n\nBecause encryption is fixed at construction, `encryptAccount` must be called\n*before* the account catalog is first used in the stack — before any\n`Catalog.forAccount(this)` call, and before any `Database` that uses the account\ncatalog. Calling it after the account catalog has been materialized throws.\n\nThe account catalog's encryption is an account- and region-wide setting, managed\nthrough the singleton `PutDataCatalogEncryptionSettings` API. Configure it in\nexactly one stack. Configuring it from multiple stacks in the same account and\nregion makes those stacks overwrite one another at deploy time, and the result is\norder-dependent. Unlike duplicate settings within a single stack (which\nCloudFormation rejects), this cross-stack conflict is not caught at synthesis\ntime, because each stack synthesizes to its own template.\n\n### Creating a catalog\n\nTo create a new catalog resource, use the `Catalog` constructor. Encryption is\nconfigured through the `encryptionAtRest` and `connectionPasswordEncryption` props:\n\n```ts\nnew glue.Catalog(this, 'MyCatalog', {\n catalogName: 'my-catalog',\n description: 'my catalog description',\n});\n```\n\n### Encryption at rest\n\nConfigure Data Catalog encryption at rest through the `encryptionAtRest` option\n(on `Catalog.encryptAccount`, the `Catalog` constructor, or the import factories).\nIt accepts a `DataCatalogEncryptionAtRest` describing the mode:\n\n```ts\ndeclare const key: kms.Key;\n\n// SSE-KMS with a customer-managed key\nglue.Catalog.encryptAccount(this, {\n encryptionAtRest: glue.DataCatalogEncryptionAtRest.kms(key),\n});\n\n// SSE-KMS with an AWS-managed key (omit the key)\nnew glue.Catalog(this, 'ManagedKeyCatalog', {\n catalogName: 'managed-key-catalog',\n encryptionAtRest: glue.DataCatalogEncryptionAtRest.kms(),\n});\n\n// Disable encryption at rest\nnew glue.Catalog(this, 'PlaintextCatalog', {\n catalogName: 'plaintext-catalog',\n encryptionAtRest: glue.DataCatalogEncryptionAtRest.disabled(),\n});\n```\n\nWhen you use `SSE-KMS-WITH-SERVICE-ROLE`, AWS Glue accesses the KMS key through a\nservice role you provide. If you pass a customer-managed key, the role is\nautomatically granted the permissions it needs to encrypt and decrypt catalog data:\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const key: kms.Key;\ndeclare const role: iam.IRole;\nglue.Catalog.encryptAccount(this, {\n encryptionAtRest: glue.DataCatalogEncryptionAtRest.kmsWithServiceRole(role, key),\n});\n```\n\nThe customer-managed key, when configured, is exposed on the catalog as\n`encryptionKey` (and the connection-password key as `connectionPasswordKey`), so\nyou can reference it to grant additional access. It is undefined when encryption is\ndisabled or an AWS-managed key is used.\n\n### Connection password encryption\n\nIndependently from encryption at rest, the Data Catalog can encrypt the passwords\nstored in connection properties. Configure it through the\n`connectionPasswordEncryption` option:\n\n```ts\ndeclare const key: kms.Key;\nglue.Catalog.encryptAccount(this, {\n connectionPasswordEncryption: {\n kmsKey: key,\n // Whether GetConnection/GetConnections return the password encrypted (default: true)\n returnConnectionPasswordEncrypted: true,\n },\n});\n```\n\nThe two encryption blocks are independent: enabling one does not require the other,\nand each may use a different KMS key. The customer-managed key for connection\npasswords is exposed as `connectionPasswordKey`.\n\n### Importing a catalog\n\nYou can import an existing catalog by ARN or by id. An imported catalog is a pure\nidentity handle — it emits no resources and does not manage the catalog's\nencryption:\n\n```ts\nconst byId = glue.Catalog.fromCatalogId(this, 'ById', 'my-catalog-id');\nconst byArn = glue.Catalog.fromCatalogArn(this, 'ByArn', 'arn:aws:glue:us-east-1:123456789012:catalog/my-catalog-id');\n```\n\nTo manage the Data Catalog encryption of a catalog you did not create in this\nstack, add a `CfnDataCatalogEncryptionSettings` resource targeting its id\ndirectly. Do this from exactly one stack: like the account catalog, a catalog has\na single encryption configuration, so two settings resources targeting the same id\nrace to overwrite one another at deploy time. Within a single stack this is caught\nby CloudFormation template validation (E3019, duplicate primary identifiers);\nacross stacks it is not, since each stack synthesizes to its own template.\n\n```ts\nimport { CfnDataCatalogEncryptionSettings } from 'aws-cdk-lib/aws-glue';\n\nnew CfnDataCatalogEncryptionSettings(this, 'Encryption', {\n catalogId: 'my-catalog-id',\n dataCatalogEncryptionSettings: {\n encryptionAtRest: { catalogEncryptionMode: 'SSE-KMS' },\n },\n});\n```\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 description: 'my_database_description',\n});\n```\n\nBecause a database is a container for tables and their metadata, it is retained\nby default when removed from the stack, to avoid accidental data loss. Set\n`removalPolicy` to `RemovalPolicy.DESTROY` to have it deleted instead:\n\n```ts\nimport { RemovalPolicy } from 'aws-cdk-lib';\n\nnew glue.Database(this, 'MyDatabase', {\n databaseName: 'my_database',\n removalPolicy: RemovalPolicy.DESTROY,\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.S3Table(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.S3Table(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\nGlue tables can be configured to contain user-defined properties, to describe the physical storage of table data, through the `storageParameters` property:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n storageParameters: [\n glue.StorageParameter.skipHeaderLineCount(1),\n glue.StorageParameter.compressionType(glue.CompressionType.GZIP),\n glue.StorageParameter.custom('separatorChar', ',')\n ],\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nGlue tables can also be configured to contain user-defined table properties through the [`parameters`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters) property:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n parameters: {\n key1: 'val1',\n key2: 'val2',\n },\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\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.S3Table(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.S3Table(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.S3Table(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### Partition Projection\n\nPartition projection allows Athena to automatically add new partitions as new data arrives, without requiring `ALTER TABLE ADD PARTITION` statements. This improves query performance and reduces management overhead by eliminating the need to manually manage partition metadata.\n\nFor more information, see the [AWS documentation on partition projection](https://docs.aws.amazon.com/athena/latest/ug/partition-projection.html).\n\n#### INTEGER Projection\n\nFor partition keys with sequential numeric values:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.INTEGER,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n year: glue.PartitionProjectionConfiguration.integer({\n min: 2020,\n max: 2023,\n interval: 1, // optional, defaults to 1\n digits: 4, // optional, pads with leading zeros\n }),\n },\n});\n```\n\n#### DATE Projection\n\nFor partition keys with date or timestamp values. Supports both fixed dates and relative dates using `NOW`:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'date',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n date: glue.PartitionProjectionConfiguration.date({\n min: '2020-01-01',\n max: '2023-12-31',\n format: 'yyyy-MM-dd',\n interval: 1, // optional, defaults to 1\n intervalUnit: glue.DateIntervalUnit.DAYS, // optional: YEARS, MONTHS, WEEKS, DAYS, HOURS, MINUTES, SECONDS\n }),\n },\n});\n```\n\nYou can also use relative dates with `NOW`:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'date',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n date: glue.PartitionProjectionConfiguration.date({\n min: 'NOW-3YEARS',\n max: 'NOW',\n format: 'yyyy-MM-dd',\n }),\n },\n});\n```\n\n#### ENUM Projection\n\nFor partition keys with a known set of values:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'region',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n region: glue.PartitionProjectionConfiguration.enum({\n values: ['us-east-1', 'us-west-2', 'eu-west-1'],\n }),\n },\n});\n```\n\n#### INJECTED Projection\n\nFor custom partition values injected at query time:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'custom',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n custom: glue.PartitionProjectionConfiguration.injected(),\n },\n});\n```\n\n#### Multiple Partition Projections\n\nYou can configure partition projection for multiple partition keys:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [\n {\n name: 'year',\n type: glue.Schema.INTEGER,\n },\n {\n name: 'month',\n type: glue.Schema.INTEGER,\n },\n {\n name: 'region',\n type: glue.Schema.STRING,\n },\n ],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n year: glue.PartitionProjectionConfiguration.integer({\n min: 2020,\n max: 2023,\n }),\n month: glue.PartitionProjectionConfiguration.integer({\n min: 1,\n max: 12,\n digits: 2,\n }),\n region: glue.PartitionProjectionConfiguration.enum({\n values: ['us-east-1', 'us-west-2'],\n }),\n },\n});\n```\n\n### Glue Connections\n\nGlue connections allow external data connections to third party databases and data warehouses. However, these connections can also be assigned to Glue Tables, allowing you to query external data sources using the Glue Data Catalog.\n\nWhereas `S3Table` will point to (and if needed, create) a bucket to store the tables' data, `ExternalTable` will point to an existing table in a data source. For example, to create a table in Glue that points to a table in Redshift:\n\n```ts\ndeclare const myConnection: glue.Connection;\ndeclare const myDatabase: glue.Database;\nnew glue.ExternalTable(this, 'MyTable', {\n connection: myConnection,\n externalDataLocation: 'default_db_public_example', // A table in Redshift\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n## [Encryption](https://docs.aws.amazon.com/athena/latest/ug/encryption.html)\n\nWhen the table creates its own S3 bucket (i.e. you do not pass an explicit `bucket`), that bucket enforces SSL: a bucket policy denies any request made over plain HTTP. If you provide your own bucket, enabling `enforceSSL` on it is your responsibility.\n\nYou can enable encryption on a Table's data:\n\n* [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - (default) Server side encryption (`SSE-S3`) with an Amazon S3-managed key.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(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.S3Table(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.S3Table(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.S3Table(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.S3Table(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.S3Table(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 `S3Table` 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.S3Table(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## Public FAQ\n\n### What are we launching today?\n\nWe’re launching new features to an AWS CDK Glue L2 Construct to provide\nbest-practice defaults and convenience methods to create Glue Jobs, Connections,\nTriggers, Workflows, and the underlying permissions and configuration.\n\n### Why should I use this Construct?\n\nDevelopers should use this Construct to reduce the amount of boilerplate\ncode and complexity each individual has to navigate, and make it easier to\ncreate best-practice Glue resources.\n\n### What’s not in scope?\n\nGlue Crawlers and other resources that are now managed by the AWS LakeFormation\nteam are not in scope for this effort. Developers should use existing methods\nto create these resources, and the new Glue L2 construct assumes they already\nexist as inputs. While best practice is for application and infrastructure code\nto be as close as possible for teams using fully-implemented DevOps mechanisms,\nin practice these ETL scripts are likely managed by a data science team who\nknow Python or Scala and don’t necessarily own or manage their own\ninfrastructure deployments. We want to meet developers where they are, and not\nassume that all of the code resides in the same repository, Developers can\nautomate this themselves via the CDK, however, if they do own both.\n\nValidating Glue version and feature use per AWS region at synth time is also\nnot in scope. AWS’ intention is for all features to eventually be propagated to\nall Global regions, so the complexity involved in creating and updating region-\nspecific configuration to match shifting feature sets does not out-weigh the\nlikelihood that a developer will use this construct to deploy resources to a\nregion without a particular new feature to a region that doesn’t yet support\nit without researching or manually attempting to use that feature before\ndeveloping it via IaC. The developer will, of course, still get feedback from\nthe underlying Glue APIs as CloudFormation deploys the resources similar to the\ncurrent CDK L1 Glue experience.\n"
|
|
9412
|
+
"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## README\n\n[AWS Glue](https://aws.amazon.com/glue/) is a serverless data integration\nservice that makes it easier to discover, prepare, move, and integrate data\nfrom multiple sources for analytics, machine learning (ML), and application\ndevelopment.\n\nThe Glue L2 construct has convenience methods working backwards from common\nuse cases and sets required parameters to defaults that align with recommended\nbest practices for each job type. It also provides customers with a balance\nbetween flexibility via optional parameter overrides, and opinionated\ninterfaces that discouraging anti-patterns, resulting in reduced time to develop\nand deploy new resources.\n\n### References\n\n* [Glue Launch Announcement](https://aws.amazon.com/blogs/aws/launch-aws-glue-now-generally-available/)\n* [Glue Documentation](https://docs.aws.amazon.com/glue/index.html)\n* [Glue L1 (CloudFormation) Constructs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Glue.html)\n* Prior version of the [@aws-cdk/aws-glue-alpha module](https://github.com/aws/aws-cdk/blob/v2.51.1/packages/%40aws-cdk/aws-glue/README.md)\n\n## Create a Glue Job\n\nA Job encapsulates a script that connects to data sources, processes\nthem, and then writes output to a data target. There are four types of Glue\nJobs: Spark (ETL and Streaming), Python Shell, and Flex Jobs. Most\nof the required parameters for these jobs are common across all types,\nbut there are a few differences depending on the languages supported\nand features provided by each type. For all job types, the L2 defaults\nto AWS best practice recommendations, such as:\n\n* Use of Secrets Manager for Connection JDBC strings\n* Glue job autoscaling\n* Default parameter values for Glue job creation\n\nThis iteration of the L2 construct introduces breaking changes to\nthe existing glue-alpha-module, but these changes streamline the developer\nexperience, introduce new constants for defaults, and replacing synth-time\nvalidations with interface contracts for enforcement of the parameter combinations\nthat Glue supports. As an opinionated construct, the Glue L2 construct does\nnot allow developers to create resources that use non-current versions\nof Glue or deprecated language dependencies (e.g. deprecated versions of Python).\nAs always, L1s allow you to specify a wider range of parameters if you need\nor want to use alternative configurations.\n\nOptional and required parameters for each job are enforced via interface\nrather than validation; see [Glue's public documentation](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api.html)\nfor more granular details.\n\n### Spark Jobs\n\n#### ETL Jobs\n\nETL jobs support pySpark and Scala languages, for which there are separate but\nsimilar constructors. ETL jobs default to the G2 worker type, but you can\noverride this default with other supported worker type values (G1, G2, G4\nand G8). ETL jobs defaults to Glue version 4.0, which you can override to 3.0.\nThe following ETL features are enabled by default:\n`—enable-metrics, —enable-continuous-cloudwatch-log.`\nThe Spark UI (`—enable-spark-ui`) is off by default; enable it by setting the\n`sparkUI` prop.\nYou can find more details about version, worker type and other features in\n[Glue's public documentation](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html).\n\nReference the pyspark-etl-jobs.test.ts and scalaspark-etl-jobs.test.ts unit tests\nfor examples of required-only and optional job parameters when creating these\ntypes of jobs.\n\nFor the sake of brevity, examples are shown using the pySpark job variety.\n\nExample with only required parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n role,\n script,\n jobName: 'PySparkETLJob',\n});\n```\n\nExample with optional override parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerConfiguration: {\n workerType: glue.WorkerType.G_2X,\n numberOfWorkers: 2,\n },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});\n```\n\n#### Streaming Jobs\n\nStreaming jobs are similar to ETL jobs, except that they perform ETL on data\nstreams using the Apache Spark Structured Streaming framework. Some Spark\njob features are not available to Streaming ETL jobs. They support Scala\nand pySpark languages. PySpark streaming jobs run on Python 3. It\ndefaults to the G2 worker type and Glue 4.0, both of which you can override.\nThe following best practice features are enabled by default:\n`—enable-metrics, —enable-continuous-cloudwatch-log`.\nThe Spark UI (`—enable-spark-ui`) is off by default; enable it by setting the\n`sparkUI` prop.\n\nReference the pyspark-streaming-jobs.test.ts and scalaspark-streaming-jobs.test.ts\nunit tests for examples of required-only and optional job parameters when creating\nthese types of jobs.\n\nExample with only required parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkStreamingJob(stack, 'ImportedJob', { role, script });\n```\n\nExample with optional override parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', {\n jobName: 'PySparkStreamingJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerConfiguration: {\n workerType: glue.WorkerType.G_2X,\n numberOfWorkers: 2,\n },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});\n```\n\n#### Flex Jobs\n\nThe flexible execution class is appropriate for non-urgent jobs such as\npre-production jobs, testing, and one-time data loads. Flexible jobs default\nto Glue version 5.0 and worker type `G_2X`. The following best practice\nfeatures are enabled by default:\n`—enable-metrics, —enable-continuous-cloudwatch-log`\nThe Spark UI (`—enable-spark-ui`) is off by default; enable it by setting the\n`sparkUI` prop.\n\nReference the pyspark-flex-etl-jobs.test.ts and scalaspark-flex-etl-jobs.test.ts\nunit tests for examples of required-only and optional job parameters when creating\nthese types of jobs.\n\nExample with only required parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkFlexEtlJob(stack, 'ImportedJob', { role, script });\n```\n\nExample with optional override parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkFlexEtlJob(stack, 'pySparkFlexEtlJob', {\n jobName: 'pySparkFlexEtlJob',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerConfiguration: {\n workerType: glue.WorkerType.G_2X,\n numberOfWorkers: 2,\n },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});\n```\n\n### Python Shell Jobs\n\nPython shell jobs support a Python version that depends on the AWS Glue\nversion you use. These can be used to schedule and run tasks that don't\nrequire an Apache Spark environment. Python shell jobs default to\nPython 3.9 and a MaxCapacity of `0.0625`. Python 3.9 supports pre-loaded\nanalytics libraries using the `library-set=analytics` flag, which is\nenabled by default.\n\nReference the pyspark-shell-job.test.ts unit tests for examples of\nrequired-only and optional job parameters when creating these types of jobs.\n\nExample with only required parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PythonShellJob(stack, 'ImportedJob', { role, script });\n```\n\nExample with optional override parameters:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\ndeclare const extraPythonFile: glue.Code;\nnew glue.PythonShellJob(stack, 'PythonShellJob', {\n jobName: 'PythonShellJobCustomName',\n description: 'This is a description',\n pythonVersion: glue.PythonVersion.THREE_NINE,\n maxCapacity: glue.MaxCapacity.DPU_1,\n role,\n script,\n extraPythonFiles: [extraPythonFile],\n glueVersion: glue.GlueVersion.V3_0,\n continuousLogging: { enabled: false },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});\n```\n\n### Ray Jobs\n\n> **⚠️ DEPRECATED:** AWS Glue for Ray is closed to new customers as of April 30, 2026 and is in maintenance mode.\n> Migrate to [Amazon EKS with KubeRay Operator](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html).\n\nThe `RayJob` construct, `Runtime.RAY_TWO_FOUR`, and `JobType.RAY` are deprecated and will be removed in a future release.\n\n### Metrics Control\n\nBy default, Glue jobs enable CloudWatch metrics (`--enable-metrics`) and observability metrics (`--enable-observability-metrics`) for monitoring and debugging. You can disable these metrics to reduce CloudWatch costs:\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n// Disable both metrics for cost optimization\nnew glue.PySparkEtlJob(stack, 'CostOptimizedJob', {\n role,\n script,\n enableMetrics: false,\n enableObservabilityMetrics: false,\n});\n\n// Selective control - keep observability, disable profiling\nnew glue.PySparkEtlJob(stack, 'SelectiveJob', {\n role,\n script,\n enableMetrics: false,\n // enableObservabilityMetrics defaults to true\n});\n```\n\nThis feature is available for all Spark job types (ETL, Streaming, Flex).\n\n### Enable Job Run Queuing\n\nAWS Glue job queuing monitors your account level quotas and limits. If quotas or limits are insufficient to start a Glue job run, AWS Glue will automatically queue the job and wait for limits to free up. Once limits become available, AWS Glue will retry the job run. Glue jobs will queue for limits like max concurrent job runs per account, max concurrent Data Processing Units (DPU), and resource unavailable due to IP address exhaustion in Amazon Virtual Private Cloud (Amazon VPC).\n\nEnable job run queuing by setting the `jobRunQueuingEnabled` property to `true`.\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n role,\n script,\n jobName: 'PySparkETLJob',\n jobRunQueuingEnabled: true\n});\n```\n\n### Uploading scripts from the CDK app repository to S3\n\nSimilar to other L2 constructs, the Glue L2 automates uploading local\nscripts to S3. Use `glue.Code.fromAsset(path)` to point at a script in your\nlocal file structure; it is uploaded to the CDK-managed asset bucket. To\nreference a script that already exists in S3, use\n`glue.Code.fromBucket(bucket, key)`, which performs no upload. A `script` is\nrequired for every job.\n\nReference the unit tests for examples of repo and S3 code target examples.\n\n### Workflow Triggers\n\nYou can use Glue workflows to create and visualize complex\nextract, transform, and load (ETL) activities involving multiple crawlers,\njobs, and triggers. Standalone triggers are an anti-pattern, so you must\ncreate triggers from within a workflow using the L2 construct.\n\nWithin a workflow object, there are functions to create different\ntypes of triggers with actions and predicates. You add triggers to the\nworkflow, and each trigger references the jobs or crawlers it runs as its\nactions.\n\n`startOnCreation` applies to scheduled triggers (and, via\n`ConditionalTriggerOptions`, conditional triggers) only. It defaults to `false`,\nbut you can override it if you prefer for your trigger to start on creation.\n\nReference the workflow-triggers.test.ts unit tests for examples of creating\nworkflows and triggers.\n\n```ts\nimport * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n// Create a job to run from the workflow\nconst job = new glue.PySparkEtlJob(stack, 'Job', { role, script });\n\n// Create a workflow and add a trigger that runs the job\nconst workflow = new glue.Workflow(stack, 'Workflow');\nworkflow.addOnDemandTrigger('OnDemandTrigger', {\n actions: [{ job }],\n});\n```\n\n#### **1. On-Demand Triggers**\n\nOn-demand triggers can start glue jobs or crawlers. This construct provides\nconvenience functions to create on-demand crawler or job triggers. The constructor\ntakes an optional description parameter, but abstracts the requirement of an\nactions list using the job or crawler objects using conditional types.\n\n#### **2. Scheduled Triggers**\n\nYou can create scheduled triggers using cron expressions. This construct\nprovides daily and weekly convenience functions,\nas well as a custom function that allows you to create your own\ncustom timing using the [existing event Schedule class](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.Schedule.html)\nwithout having to build your own cron expressions. The L2 extracts\nthe expression that Glue requires from the Schedule object. The constructor\ntakes an optional description and a list of jobs or crawlers as actions.\n\n#### **3. Notify Event Triggers**\n\nThere are two types of notify event triggers: batching and non-batching.\nFor batching triggers, you must specify `BatchSize`. For non-batching\ntriggers, `BatchSize` defaults to 1. For both triggers, `BatchWindow`\ndefaults to 900 seconds, but you can override the window to align with\nyour workload's requirements.\n\n#### **4. Conditional Triggers**\n\nConditional triggers have a predicate and actions associated with them.\nThe trigger actions are executed when the predicateCondition is true.\n\n### Connection Properties\n\nA `Connection` allows Glue jobs, crawlers and development endpoints to access\ncertain types of data stores.\n\n* **Secrets Management**\n Manage JDBC connection credentials in Secrets Manager and pass the secret\n to the connection via the `secret` property (see the example below), rather\n than embedding credentials in `properties`.\n\n* **Networking - the CDK determines the best fit subnet for Glue connection\nconfiguration**\n You can specify the exact subnet of the Connection when it's defined, but\n you are not required to. Instead, you can provide a `vpc` and, optionally, a\n `vpcSubnets` selection, and the L2 leverages the existing\n [EC2 Subnet Selection](https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.aws_ec2/SubnetSelection.html)\n library to make the best choice selection for the subnet. A Glue connection\n targets a single subnet, so the first subnet of the selection is used.\n `subnet` and `vpc` are mutually exclusive.\n\nPin the connection to a specific subnet:\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\nOr let the CDK select a subnet from a VPC:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const vpc: ec2.Vpc;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n securityGroups: [securityGroup],\n vpc,\n // Optional - defaults to private subnets\n vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },\n});\n```\n\nFor RDS `Connection` by JDBC, it is recommended to manage credentials using AWS Secrets Manager. Pass the secret via the `secret` property: Glue reads the credentials at runtime through the connection's `SECRET_ID`, so the secret value never enters the template. 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 secret: db.secret,\n properties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${db.clusterEndpoint.socketAddress}/databasename`,\n JDBC_ENFORCE_SSL: \"false\",\n },\n});\n```\n\nPrefer the `secret` property over placing credentials in `properties`. Connection\n`properties` are emitted verbatim into the CloudFormation template, so any\ncredential placed there in plaintext is stored in plaintext in the template,\n`cdk.out`, and source control. If a property key looks like a credential (for\nexample `PASSWORD`, `SECRET`, or `TOKEN`) and holds a plaintext literal, the\nconstruct emits a synthesis-time warning.\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\nEach encryption config is built with a factory that pairs the encryption mode\nwith its key, so illegal combinations (such as an S3-managed encryption carrying\na KMS key) cannot be expressed:\n\n```ts\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: glue.CloudWatchEncryption.kms(),\n jobBookmarksEncryption: glue.JobBookmarksEncryption.clientSideKms(),\n s3Encryption: glue.S3Encryption.kms(),\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 to any factory, for example, for CloudWatch encryption:\n\n```ts\ndeclare const key: kms.Key;\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: glue.CloudWatchEncryption.kms(key),\n});\n```\n\nUse `glue.S3Encryption.s3Managed()` for S3-managed (SSE-S3) encryption, which takes no key.\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## Catalog\n\nThe Glue Data Catalog is a persistent metadata store for your data assets. Every\naccount has an implicit, account-wide catalog that always exists, and you can also\ncreate additional catalogs as `AWS::Glue::Catalog` resources (for example, to\nfederate to another metastore).\n\nA catalog's encryption is fixed when the catalog is created: a catalog either\ncarries encryption settings or it does not. This keeps its configuration easy to\nreason about — there are no mutation methods that change encryption after the fact.\n\n### The account-wide catalog\n\nUse `Catalog.forAccount(scope)` to obtain the implicit account catalog. It is not\na CloudFormation resource — it always exists. Repeated calls within the same stack\nreturn the same instance:\n\n```ts\nconst catalog = glue.Catalog.forAccount(this);\n```\n\nTo configure Data Catalog encryption for the account, use\n`Catalog.encryptAccount(scope, options)`:\n\n```ts\ndeclare const key: kms.Key;\nglue.Catalog.encryptAccount(this, {\n encryptionAtRest: glue.DataCatalogEncryptionAtRest.kms(key),\n});\n```\n\nBecause encryption is fixed at construction, `encryptAccount` must be called\n*before* the account catalog is first used in the stack — before any\n`Catalog.forAccount(this)` call, and before any `Database` that uses the account\ncatalog. Calling it after the account catalog has been materialized throws.\n\nThe account catalog's encryption is an account- and region-wide setting, managed\nthrough the singleton `PutDataCatalogEncryptionSettings` API. Configure it in\nexactly one stack. Configuring it from multiple stacks in the same account and\nregion makes those stacks overwrite one another at deploy time, and the result is\norder-dependent. Unlike duplicate settings within a single stack (which\nCloudFormation rejects), this cross-stack conflict is not caught at synthesis\ntime, because each stack synthesizes to its own template.\n\n### Creating a catalog\n\nTo create a new catalog resource, use the `Catalog` constructor. Encryption is\nconfigured through the `encryptionAtRest` and `connectionPasswordEncryption` props:\n\n```ts\nnew glue.Catalog(this, 'MyCatalog', {\n catalogName: 'my-catalog',\n description: 'my catalog description',\n});\n```\n\n### Encryption at rest\n\nConfigure Data Catalog encryption at rest through the `encryptionAtRest` option\n(on `Catalog.encryptAccount` or the `Catalog` constructor).\nIt accepts a `DataCatalogEncryptionAtRest` describing the mode:\n\n```ts\ndeclare const key: kms.Key;\n\n// SSE-KMS with a customer-managed key\nglue.Catalog.encryptAccount(this, {\n encryptionAtRest: glue.DataCatalogEncryptionAtRest.kms(key),\n});\n\n// SSE-KMS with an AWS-managed key (omit the key)\nnew glue.Catalog(this, 'ManagedKeyCatalog', {\n catalogName: 'managed-key-catalog',\n encryptionAtRest: glue.DataCatalogEncryptionAtRest.kms(),\n});\n\n// Disable encryption at rest\nnew glue.Catalog(this, 'PlaintextCatalog', {\n catalogName: 'plaintext-catalog',\n encryptionAtRest: glue.DataCatalogEncryptionAtRest.disabled(),\n});\n```\n\nWhen you use `SSE-KMS-WITH-SERVICE-ROLE`, AWS Glue accesses the KMS key through a\nservice role you provide. If you pass a customer-managed key, the role is\nautomatically granted the permissions it needs to encrypt and decrypt catalog data:\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const key: kms.Key;\ndeclare const role: iam.IRole;\nglue.Catalog.encryptAccount(this, {\n encryptionAtRest: glue.DataCatalogEncryptionAtRest.kmsWithServiceRole(role, key),\n});\n```\n\nThe customer-managed key, when configured, is exposed on the catalog as\n`encryptionKey` (and the connection-password key as `connectionPasswordKey`), so\nyou can reference it to grant additional access. It is undefined when encryption is\ndisabled or an AWS-managed key is used.\n\n### Connection password encryption\n\nIndependently from encryption at rest, the Data Catalog can encrypt the passwords\nstored in connection properties. Configure it through the\n`connectionPasswordEncryption` option:\n\n```ts\ndeclare const key: kms.Key;\nglue.Catalog.encryptAccount(this, {\n connectionPasswordEncryption: {\n kmsKey: key,\n // Whether GetConnection/GetConnections return the password encrypted (default: true)\n returnConnectionPasswordEncrypted: true,\n },\n});\n```\n\nThe two encryption blocks are independent: enabling one does not require the other,\nand each may use a different KMS key. The customer-managed key for connection\npasswords is exposed as `connectionPasswordKey`.\n\n### Importing a catalog\n\nYou can import an existing catalog by ARN or by id. An imported catalog is a pure\nidentity handle — it emits no resources and does not manage the catalog's\nencryption:\n\n```ts\nconst byId = glue.Catalog.fromCatalogId(this, 'ById', 'my-catalog-id');\nconst byArn = glue.Catalog.fromCatalogArn(this, 'ByArn', 'arn:aws:glue:us-east-1:123456789012:catalog/my-catalog-id');\n```\n\nTo manage the Data Catalog encryption of a catalog you did not create in this\nstack, add a `CfnDataCatalogEncryptionSettings` resource targeting its id\ndirectly. Do this from exactly one stack: like the account catalog, a catalog has\na single encryption configuration, so two settings resources targeting the same id\nrace to overwrite one another at deploy time. Within a single stack this is caught\nby CloudFormation template validation (E3019, duplicate primary identifiers);\nacross stacks it is not, since each stack synthesizes to its own template.\n\n```ts\nimport { CfnDataCatalogEncryptionSettings } from 'aws-cdk-lib/aws-glue';\n\nnew CfnDataCatalogEncryptionSettings(this, 'Encryption', {\n catalogId: 'my-catalog-id',\n dataCatalogEncryptionSettings: {\n encryptionAtRest: { catalogEncryptionMode: 'SSE-KMS' },\n },\n});\n```\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 description: 'my_database_description',\n});\n```\n\nBecause a database is a container for tables and their metadata, it is retained\nby default when removed from the stack, to avoid accidental data loss. Set\n`removalPolicy` to `RemovalPolicy.DESTROY` to have it deleted instead:\n\n```ts\nimport { RemovalPolicy } from 'aws-cdk-lib';\n\nnew glue.Database(this, 'MyDatabase', {\n databaseName: 'my_database',\n removalPolicy: RemovalPolicy.DESTROY,\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.S3Table(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 bring your own with `S3TableStorage.fromBucket` and set an `s3Prefix`:\n\n```ts\ndeclare const myBucket: s3.Bucket;\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n storage: glue.S3TableStorage.fromBucket(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\nGlue tables can be configured to contain user-defined properties, to describe the physical storage of table data, through the `storageParameters` property:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n storageParameters: [\n glue.StorageParameter.skipHeaderLineCount(1),\n glue.StorageParameter.compressionType(glue.CompressionType.GZIP),\n glue.StorageParameter.custom('separatorChar', ',')\n ],\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nGlue tables can also be configured to contain user-defined table properties through the [`parameters`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters) property:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n parameters: {\n key1: 'val1',\n key2: 'val2',\n },\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\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.S3Table(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.S3Table(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.S3Table;\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.S3Table(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### Partition Projection\n\nPartition projection allows Athena to automatically add new partitions as new data arrives, without requiring `ALTER TABLE ADD PARTITION` statements. This improves query performance and reduces management overhead by eliminating the need to manually manage partition metadata.\n\nFor more information, see the [AWS documentation on partition projection](https://docs.aws.amazon.com/athena/latest/ug/partition-projection.html).\n\n#### INTEGER Projection\n\nFor partition keys with sequential numeric values:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.INTEGER,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n year: glue.PartitionProjectionConfiguration.integer({\n min: 2020,\n max: 2023,\n interval: 1, // optional, defaults to 1\n digits: 4, // optional, pads with leading zeros\n }),\n },\n});\n```\n\n#### DATE Projection\n\nFor partition keys with date or timestamp values. Supports both fixed dates and relative dates using `NOW`:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'date',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n date: glue.PartitionProjectionConfiguration.date({\n min: '2020-01-01',\n max: '2023-12-31',\n format: 'yyyy-MM-dd',\n interval: 1, // optional, defaults to 1\n intervalUnit: glue.DateIntervalUnit.DAYS, // optional: YEARS, MONTHS, WEEKS, DAYS, HOURS, MINUTES, SECONDS\n }),\n },\n});\n```\n\nYou can also use relative dates with `NOW`:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'date',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n date: glue.PartitionProjectionConfiguration.date({\n min: 'NOW-3YEARS',\n max: 'NOW',\n format: 'yyyy-MM-dd',\n }),\n },\n});\n```\n\n#### ENUM Projection\n\nFor partition keys with a known set of values:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'region',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n region: glue.PartitionProjectionConfiguration.enum({\n values: ['us-east-1', 'us-west-2', 'eu-west-1'],\n }),\n },\n});\n```\n\n#### INJECTED Projection\n\nFor custom partition values injected at query time:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'custom',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n custom: glue.PartitionProjectionConfiguration.injected(),\n },\n});\n```\n\n#### Multiple Partition Projections\n\nYou can configure partition projection for multiple partition keys:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [\n {\n name: 'year',\n type: glue.Schema.INTEGER,\n },\n {\n name: 'month',\n type: glue.Schema.INTEGER,\n },\n {\n name: 'region',\n type: glue.Schema.STRING,\n },\n ],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n year: glue.PartitionProjectionConfiguration.integer({\n min: 2020,\n max: 2023,\n }),\n month: glue.PartitionProjectionConfiguration.integer({\n min: 1,\n max: 12,\n digits: 2,\n }),\n region: glue.PartitionProjectionConfiguration.enum({\n values: ['us-east-1', 'us-west-2'],\n }),\n },\n});\n```\n\n### Glue Connections\n\nGlue connections allow external data connections to third party databases and data warehouses. However, these connections can also be assigned to Glue Tables, allowing you to query external data sources using the Glue Data Catalog.\n\nWhereas `S3Table` will point to (and if needed, create) a bucket to store the tables' data, `ExternalTable` will point to an existing table in a data source. For example, to create a table in Glue that points to a table in Redshift:\n\n```ts\ndeclare const myConnection: glue.Connection;\ndeclare const myDatabase: glue.Database;\nnew glue.ExternalTable(this, 'MyTable', {\n connection: myConnection,\n externalDataLocation: 'default_db_public_example', // A table in Redshift\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n## Data Quality Ruleset\n\nA `DataQualityRuleset` defines a set of data quality rules — authored in Glue's\nData Quality Definition Language (DQDL) — that are evaluated against a table in\nthe Data Catalog.\n\n```ts\nnew glue.DataQualityRuleset(this, 'MyRuleset', {\n rulesetName: 'my_ruleset',\n dqdl: glue.Dqdl.fromString('Rules = [ RowCount > 100, IsComplete \"order_id\" ]'),\n targetTable: new glue.DataQualityTargetTable('my_database', 'my_table'),\n});\n```\n\nBuild the DQDL document with `Dqdl.fromString(...)`. Glue parses and validates the\nDQDL when the ruleset is deployed; see the\n[DQDL reference](https://docs.aws.amazon.com/glue/latest/dg/dqdl.html) for the\nfull rule syntax.\n\n## [Encryption](https://docs.aws.amazon.com/athena/latest/ug/encryption.html)\n\nWhen the table creates its own S3 bucket (`S3TableStorage.managedBucket`, the default), that bucket enforces SSL: a bucket policy denies any request made over plain HTTP. If you bring your own bucket with `S3TableStorage.fromBucket`, enabling `enforceSSL` on it is your responsibility.\n\nServer-side encryption applies only to a bucket the table manages. Choose it with\n`storage: glue.S3TableStorage.managedBucket(...)`:\n\n* [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - (default) Server side encryption (`SSE-S3`) with an Amazon S3-managed key.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n storage: glue.S3TableStorage.managedBucket(glue.S3TableEncryption.s3Managed()),\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.S3Table(this, 'MyTable', {\n storage: glue.S3TableStorage.managedBucket(glue.S3TableEncryption.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.S3Table(this, 'MyTable', {\n storage: glue.S3TableStorage.managedBucket(glue.S3TableEncryption.kms(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.S3Table(this, 'MyTable', {\n storage: glue.S3TableStorage.managedBucket(glue.S3TableEncryption.kmsManaged()),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nClient-side encryption ([CSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro)) is independent of the bucket's server-side encryption and works with either a managed or an existing bucket. Configure it with `clientSideEncryption`:\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.S3Table(this, 'MyTable', {\n clientSideEncryption: glue.TableClientSideEncryption.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.S3Table(this, 'MyTable', {\n clientSideEncryption: glue.TableClientSideEncryption.kms(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\nTo store the table's data in an existing bucket, use `glue.S3TableStorage.fromBucket(bucket)`. CDK does not manage that bucket's server-side encryption, so an encryption choice can never be paired with a provided bucket — but client-side encryption still applies.\n\n### Marking table data as encrypted\n\nBoth `S3Table` and `ExternalTable` set the `has_encrypted_data` table parameter, which\nAthena reads when querying client-side (`CSE-KMS`) encrypted datasets. It defaults to `true`.\nSet `hasEncryptedData` to `false` when the underlying data is not encrypted:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n hasEncryptedData: false,\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nDo not set `has_encrypted_data` through the free-form `parameters` map as well - a value\nthere that conflicts with `hasEncryptedData` is rejected at synthesis time.\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.S3Table(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,timestamp>',\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\nFor a type the `Schema` factories don't model, use `glue.Schema.custom('...')`, which takes the raw Glue input string.\n\n## Public FAQ\n\n### What are we launching today?\n\nWe’re launching new features to an AWS CDK Glue L2 Construct to provide\nbest-practice defaults and convenience methods to create Glue Jobs, Connections,\nTriggers, Workflows, and the underlying permissions and configuration.\n\n### Why should I use this Construct?\n\nDevelopers should use this Construct to reduce the amount of boilerplate\ncode and complexity each individual has to navigate, and make it easier to\ncreate best-practice Glue resources.\n\n### What’s not in scope?\n\nGlue Crawlers and other resources that are now managed by the AWS LakeFormation\nteam are not in scope for this effort. Developers should use existing methods\nto create these resources, and the new Glue L2 construct assumes they already\nexist as inputs. While best practice is for application and infrastructure code\nto be as close as possible for teams using fully-implemented DevOps mechanisms,\nin practice these ETL scripts are likely managed by a data science team who\nknow Python or Scala and don’t necessarily own or manage their own\ninfrastructure deployments. We want to meet developers where they are, and not\nassume that all of the code resides in the same repository, Developers can\nautomate this themselves via the CDK, however, if they do own both.\n\nValidating Glue version and feature use per AWS region at synth time is also\nnot in scope. AWS’ intention is for all features to eventually be propagated to\nall Global regions, so the complexity involved in creating and updating region-\nspecific configuration to match shifting feature sets does not out-weigh the\nlikelihood that a developer will use this construct to deploy resources to a\nregion without a particular new feature to a region that doesn’t yet support\nit without researching or manually attempting to use that feature before\ndeveloping it via IaC. The developer will, of course, still get feedback from\nthe underlying Glue APIs as CloudFormation deploys the resources similar to the\ncurrent CDK L1 Glue experience.\n"
|
|
9413
9413
|
},
|
|
9414
9414
|
"repository": {
|
|
9415
9415
|
"directory": "packages/@aws-cdk/aws-glue-alpha",
|
|
@@ -10358,97 +10358,63 @@
|
|
|
10358
10358
|
},
|
|
10359
10359
|
"@aws-cdk/aws-glue-alpha.CloudWatchEncryption": {
|
|
10360
10360
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
10361
|
-
"datatype": true,
|
|
10362
10361
|
"docs": {
|
|
10362
|
+
"remarks": "CloudWatch Logs support only server-side encryption with a KMS key.",
|
|
10363
10363
|
"stability": "experimental",
|
|
10364
|
-
"summary": "CloudWatch Logs encryption configuration
|
|
10365
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption:
|
|
10364
|
+
"summary": "CloudWatch Logs encryption configuration for a `SecurityConfiguration`.",
|
|
10365
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: glue.CloudWatchEncryption.kms(),\n jobBookmarksEncryption: glue.JobBookmarksEncryption.clientSideKms(),\n s3Encryption: glue.S3Encryption.kms(),\n});",
|
|
10366
10366
|
"custom": {
|
|
10367
10367
|
"exampleMetadata": "infused"
|
|
10368
10368
|
}
|
|
10369
10369
|
},
|
|
10370
10370
|
"fqn": "@aws-cdk/aws-glue-alpha.CloudWatchEncryption",
|
|
10371
|
-
"kind": "
|
|
10371
|
+
"kind": "class",
|
|
10372
10372
|
"locationInModule": {
|
|
10373
10373
|
"filename": "lib/security-configuration.ts",
|
|
10374
|
-
"line":
|
|
10374
|
+
"line": 89
|
|
10375
10375
|
},
|
|
10376
|
-
"
|
|
10377
|
-
"properties": [
|
|
10376
|
+
"methods": [
|
|
10378
10377
|
{
|
|
10379
|
-
"abstract": true,
|
|
10380
10378
|
"docs": {
|
|
10381
10379
|
"stability": "experimental",
|
|
10382
|
-
"summary": "
|
|
10380
|
+
"summary": "Server-side encryption (SSE) with an AWS KMS key managed by the account owner."
|
|
10383
10381
|
},
|
|
10384
|
-
"immutable": true,
|
|
10385
10382
|
"locationInModule": {
|
|
10386
10383
|
"filename": "lib/security-configuration.ts",
|
|
10387
|
-
"line":
|
|
10388
|
-
},
|
|
10389
|
-
"name": "mode",
|
|
10390
|
-
"type": {
|
|
10391
|
-
"fqn": "@aws-cdk/aws-glue-alpha.CloudWatchEncryptionMode"
|
|
10392
|
-
}
|
|
10393
|
-
},
|
|
10394
|
-
{
|
|
10395
|
-
"abstract": true,
|
|
10396
|
-
"docs": {
|
|
10397
|
-
"default": "A key will be created if one is not provided.",
|
|
10398
|
-
"stability": "experimental",
|
|
10399
|
-
"summary": "The KMS key to be used to encrypt the data."
|
|
10384
|
+
"line": 95
|
|
10400
10385
|
},
|
|
10401
|
-
"
|
|
10402
|
-
"
|
|
10403
|
-
|
|
10404
|
-
|
|
10386
|
+
"name": "kms",
|
|
10387
|
+
"parameters": [
|
|
10388
|
+
{
|
|
10389
|
+
"docs": {
|
|
10390
|
+
"remarks": "A key is created if one is not provided.",
|
|
10391
|
+
"summary": "the KMS key used to encrypt the data."
|
|
10392
|
+
},
|
|
10393
|
+
"name": "kmsKey",
|
|
10394
|
+
"optional": true,
|
|
10395
|
+
"type": {
|
|
10396
|
+
"fqn": "aws-cdk-lib.interfaces.aws_kms.IKeyRef"
|
|
10397
|
+
}
|
|
10398
|
+
}
|
|
10399
|
+
],
|
|
10400
|
+
"returns": {
|
|
10401
|
+
"type": {
|
|
10402
|
+
"fqn": "@aws-cdk/aws-glue-alpha.CloudWatchEncryption"
|
|
10403
|
+
}
|
|
10405
10404
|
},
|
|
10406
|
-
"
|
|
10407
|
-
"optional": true,
|
|
10408
|
-
"type": {
|
|
10409
|
-
"fqn": "aws-cdk-lib.interfaces.aws_kms.IKeyRef"
|
|
10410
|
-
}
|
|
10405
|
+
"static": true
|
|
10411
10406
|
}
|
|
10412
10407
|
],
|
|
10408
|
+
"name": "CloudWatchEncryption",
|
|
10413
10409
|
"symbolId": "lib/security-configuration:CloudWatchEncryption"
|
|
10414
10410
|
},
|
|
10415
|
-
"@aws-cdk/aws-glue-alpha.CloudWatchEncryptionMode": {
|
|
10416
|
-
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
10417
|
-
"docs": {
|
|
10418
|
-
"see": "https://docs.aws.amazon.com/glue/latest/webapi/API_CloudWatchEncryption.html#Glue-Type-CloudWatchEncryption-CloudWatchEncryptionMode",
|
|
10419
|
-
"stability": "experimental",
|
|
10420
|
-
"summary": "Encryption mode for CloudWatch Logs.",
|
|
10421
|
-
"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});",
|
|
10422
|
-
"custom": {
|
|
10423
|
-
"exampleMetadata": "infused"
|
|
10424
|
-
}
|
|
10425
|
-
},
|
|
10426
|
-
"fqn": "@aws-cdk/aws-glue-alpha.CloudWatchEncryptionMode",
|
|
10427
|
-
"kind": "enum",
|
|
10428
|
-
"locationInModule": {
|
|
10429
|
-
"filename": "lib/security-configuration.ts",
|
|
10430
|
-
"line": 45
|
|
10431
|
-
},
|
|
10432
|
-
"members": [
|
|
10433
|
-
{
|
|
10434
|
-
"docs": {
|
|
10435
|
-
"see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html",
|
|
10436
|
-
"stability": "experimental",
|
|
10437
|
-
"summary": "Server-side encryption (SSE) with an AWS KMS key managed by the account owner."
|
|
10438
|
-
},
|
|
10439
|
-
"name": "KMS"
|
|
10440
|
-
}
|
|
10441
|
-
],
|
|
10442
|
-
"name": "CloudWatchEncryptionMode",
|
|
10443
|
-
"symbolId": "lib/security-configuration:CloudWatchEncryptionMode"
|
|
10444
|
-
},
|
|
10445
10411
|
"@aws-cdk/aws-glue-alpha.Code": {
|
|
10446
10412
|
"abstract": true,
|
|
10447
10413
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
10448
10414
|
"docs": {
|
|
10449
10415
|
"stability": "experimental",
|
|
10450
10416
|
"summary": "Represents a Glue Job's Code assets (an asset can be a scripts, a jar, a python file or any other file).",
|
|
10451
|
-
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n//
|
|
10417
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n// Create a job to run from the workflow\nconst job = new glue.PySparkEtlJob(stack, 'Job', { role, script });\n\n// Create a workflow and add a trigger that runs the job\nconst workflow = new glue.Workflow(stack, 'Workflow');\nworkflow.addOnDemandTrigger('OnDemandTrigger', {\n actions: [{ job }],\n});",
|
|
10452
10418
|
"custom": {
|
|
10453
10419
|
"exampleMetadata": "infused"
|
|
10454
10420
|
}
|
|
@@ -10616,7 +10582,7 @@
|
|
|
10616
10582
|
"docs": {
|
|
10617
10583
|
"stability": "experimental",
|
|
10618
10584
|
"summary": "A column of a table.",
|
|
10619
|
-
"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 column: glue_alpha.Column = {\n name: 'name',\n type:
|
|
10585
|
+
"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';\n\ndeclare const type: glue_alpha.Type;\nconst column: glue_alpha.Column = {\n name: 'name',\n type: type,\n\n // the properties below are optional\n comment: 'comment',\n};",
|
|
10620
10586
|
"custom": {
|
|
10621
10587
|
"exampleMetadata": "fixture=_generated"
|
|
10622
10588
|
}
|
|
@@ -10694,7 +10660,7 @@
|
|
|
10694
10660
|
"kind": "enum",
|
|
10695
10661
|
"locationInModule": {
|
|
10696
10662
|
"filename": "lib/storage-parameter.ts",
|
|
10697
|
-
"line":
|
|
10663
|
+
"line": 158
|
|
10698
10664
|
},
|
|
10699
10665
|
"members": [
|
|
10700
10666
|
{
|
|
@@ -10744,7 +10710,7 @@
|
|
|
10744
10710
|
"kind": "enum",
|
|
10745
10711
|
"locationInModule": {
|
|
10746
10712
|
"filename": "lib/storage-parameter.ts",
|
|
10747
|
-
"line":
|
|
10713
|
+
"line": 8
|
|
10748
10714
|
},
|
|
10749
10715
|
"members": [
|
|
10750
10716
|
{
|
|
@@ -10962,7 +10928,7 @@
|
|
|
10962
10928
|
"docs": {
|
|
10963
10929
|
"stability": "experimental",
|
|
10964
10930
|
"summary": "An AWS Glue connection to a data source.",
|
|
10965
|
-
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerType: glue.WorkerType.G_2X,\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n
|
|
10931
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerConfiguration: {\n workerType: glue.WorkerType.G_2X,\n numberOfWorkers: 2,\n },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});",
|
|
10966
10932
|
"custom": {
|
|
10967
10933
|
"exampleMetadata": "infused"
|
|
10968
10934
|
}
|
|
@@ -10974,7 +10940,7 @@
|
|
|
10974
10940
|
},
|
|
10975
10941
|
"locationInModule": {
|
|
10976
10942
|
"filename": "lib/connection.ts",
|
|
10977
|
-
"line":
|
|
10943
|
+
"line": 397
|
|
10978
10944
|
},
|
|
10979
10945
|
"parameters": [
|
|
10980
10946
|
{
|
|
@@ -11003,7 +10969,7 @@
|
|
|
11003
10969
|
"kind": "class",
|
|
11004
10970
|
"locationInModule": {
|
|
11005
10971
|
"filename": "lib/connection.ts",
|
|
11006
|
-
"line":
|
|
10972
|
+
"line": 349
|
|
11007
10973
|
},
|
|
11008
10974
|
"methods": [
|
|
11009
10975
|
{
|
|
@@ -11013,7 +10979,7 @@
|
|
|
11013
10979
|
},
|
|
11014
10980
|
"locationInModule": {
|
|
11015
10981
|
"filename": "lib/connection.ts",
|
|
11016
|
-
"line":
|
|
10982
|
+
"line": 361
|
|
11017
10983
|
},
|
|
11018
10984
|
"name": "fromConnectionArn",
|
|
11019
10985
|
"parameters": [
|
|
@@ -11059,7 +11025,7 @@
|
|
|
11059
11025
|
},
|
|
11060
11026
|
"locationInModule": {
|
|
11061
11027
|
"filename": "lib/connection.ts",
|
|
11062
|
-
"line":
|
|
11028
|
+
"line": 377
|
|
11063
11029
|
},
|
|
11064
11030
|
"name": "fromConnectionName",
|
|
11065
11031
|
"parameters": [
|
|
@@ -11105,7 +11071,7 @@
|
|
|
11105
11071
|
},
|
|
11106
11072
|
"locationInModule": {
|
|
11107
11073
|
"filename": "lib/connection.ts",
|
|
11108
|
-
"line":
|
|
11074
|
+
"line": 504
|
|
11109
11075
|
},
|
|
11110
11076
|
"name": "addProperty",
|
|
11111
11077
|
"parameters": [
|
|
@@ -11141,7 +11107,7 @@
|
|
|
11141
11107
|
"immutable": true,
|
|
11142
11108
|
"locationInModule": {
|
|
11143
11109
|
"filename": "lib/connection.ts",
|
|
11144
|
-
"line":
|
|
11110
|
+
"line": 352
|
|
11145
11111
|
},
|
|
11146
11112
|
"name": "PROPERTY_INJECTION_ID",
|
|
11147
11113
|
"static": true,
|
|
@@ -11157,7 +11123,7 @@
|
|
|
11157
11123
|
"immutable": true,
|
|
11158
11124
|
"locationInModule": {
|
|
11159
11125
|
"filename": "lib/connection.ts",
|
|
11160
|
-
"line":
|
|
11126
|
+
"line": 494
|
|
11161
11127
|
},
|
|
11162
11128
|
"name": "connectionArn",
|
|
11163
11129
|
"overrides": "@aws-cdk/aws-glue-alpha.IConnection",
|
|
@@ -11173,7 +11139,7 @@
|
|
|
11173
11139
|
"immutable": true,
|
|
11174
11140
|
"locationInModule": {
|
|
11175
11141
|
"filename": "lib/connection.ts",
|
|
11176
|
-
"line":
|
|
11142
|
+
"line": 486
|
|
11177
11143
|
},
|
|
11178
11144
|
"name": "connectionName",
|
|
11179
11145
|
"overrides": "@aws-cdk/aws-glue-alpha.IConnection",
|
|
@@ -11190,7 +11156,7 @@
|
|
|
11190
11156
|
"docs": {
|
|
11191
11157
|
"stability": "experimental",
|
|
11192
11158
|
"summary": "Base Connection Options.",
|
|
11193
|
-
"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';\nimport { aws_ec2 as ec2 } from 'aws-cdk-lib';\n\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\nconst connectionOptions: glue_alpha.ConnectionOptions = {\n connectionName: 'connectionName',\n description: 'description',\n matchCriteria: ['matchCriteria'],\n properties: {\n propertiesKey: 'properties',\n },\n securityGroups: [securityGroup],\n subnet: subnet,\n};",
|
|
11159
|
+
"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';\nimport { aws_ec2 as ec2 } from 'aws-cdk-lib';\nimport { aws_secretsmanager as interfaces_secretsmanager } from 'aws-cdk-lib/interfaces';\n\ndeclare const secretRef: interfaces_secretsmanager.ISecretRef;\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\ndeclare const subnetFilter: ec2.SubnetFilter;\ndeclare const vpc: ec2.Vpc;\nconst connectionOptions: glue_alpha.ConnectionOptions = {\n connectionName: 'connectionName',\n description: 'description',\n matchCriteria: ['matchCriteria'],\n properties: {\n propertiesKey: 'properties',\n },\n secret: secretRef,\n securityGroups: [securityGroup],\n subnet: subnet,\n vpc: vpc,\n vpcSubnets: {\n availabilityZones: ['availabilityZones'],\n onePerAz: false,\n subnetFilters: [subnetFilter],\n subnetGroupName: 'subnetGroupName',\n subnets: [subnet],\n subnetType: ec2.SubnetType.PRIVATE_ISOLATED,\n },\n};",
|
|
11194
11160
|
"custom": {
|
|
11195
11161
|
"exampleMetadata": "fixture=_generated"
|
|
11196
11162
|
}
|
|
@@ -11199,7 +11165,7 @@
|
|
|
11199
11165
|
"kind": "interface",
|
|
11200
11166
|
"locationInModule": {
|
|
11201
11167
|
"filename": "lib/connection.ts",
|
|
11202
|
-
"line":
|
|
11168
|
+
"line": 259
|
|
11203
11169
|
},
|
|
11204
11170
|
"name": "ConnectionOptions",
|
|
11205
11171
|
"properties": [
|
|
@@ -11213,7 +11179,7 @@
|
|
|
11213
11179
|
"immutable": true,
|
|
11214
11180
|
"locationInModule": {
|
|
11215
11181
|
"filename": "lib/connection.ts",
|
|
11216
|
-
"line":
|
|
11182
|
+
"line": 264
|
|
11217
11183
|
},
|
|
11218
11184
|
"name": "connectionName",
|
|
11219
11185
|
"optional": true,
|
|
@@ -11231,7 +11197,7 @@
|
|
|
11231
11197
|
"immutable": true,
|
|
11232
11198
|
"locationInModule": {
|
|
11233
11199
|
"filename": "lib/connection.ts",
|
|
11234
|
-
"line":
|
|
11200
|
+
"line": 270
|
|
11235
11201
|
},
|
|
11236
11202
|
"name": "description",
|
|
11237
11203
|
"optional": true,
|
|
@@ -11250,7 +11216,7 @@
|
|
|
11250
11216
|
"immutable": true,
|
|
11251
11217
|
"locationInModule": {
|
|
11252
11218
|
"filename": "lib/connection.ts",
|
|
11253
|
-
"line":
|
|
11219
|
+
"line": 296
|
|
11254
11220
|
},
|
|
11255
11221
|
"name": "matchCriteria",
|
|
11256
11222
|
"optional": true,
|
|
@@ -11274,7 +11240,7 @@
|
|
|
11274
11240
|
"immutable": true,
|
|
11275
11241
|
"locationInModule": {
|
|
11276
11242
|
"filename": "lib/connection.ts",
|
|
11277
|
-
"line":
|
|
11243
|
+
"line": 277
|
|
11278
11244
|
},
|
|
11279
11245
|
"name": "properties",
|
|
11280
11246
|
"optional": true,
|
|
@@ -11287,6 +11253,25 @@
|
|
|
11287
11253
|
}
|
|
11288
11254
|
}
|
|
11289
11255
|
},
|
|
11256
|
+
{
|
|
11257
|
+
"abstract": true,
|
|
11258
|
+
"docs": {
|
|
11259
|
+
"default": "- no secret; any credentials must be supplied via `properties`",
|
|
11260
|
+
"remarks": "The secret is referenced through the connection's `SECRET_ID` property, so\nGlue reads the credentials at runtime and the secret value never appears in\nthe synthesized template. Prefer this over placing credentials directly in\n`properties`. Accepts any `secretsmanager.ISecret`.",
|
|
11261
|
+
"stability": "experimental",
|
|
11262
|
+
"summary": "A reference to a Secrets Manager secret holding the credentials for this connection."
|
|
11263
|
+
},
|
|
11264
|
+
"immutable": true,
|
|
11265
|
+
"locationInModule": {
|
|
11266
|
+
"filename": "lib/connection.ts",
|
|
11267
|
+
"line": 289
|
|
11268
|
+
},
|
|
11269
|
+
"name": "secret",
|
|
11270
|
+
"optional": true,
|
|
11271
|
+
"type": {
|
|
11272
|
+
"fqn": "aws-cdk-lib.interfaces.aws_secretsmanager.ISecretRef"
|
|
11273
|
+
}
|
|
11274
|
+
},
|
|
11290
11275
|
{
|
|
11291
11276
|
"abstract": true,
|
|
11292
11277
|
"docs": {
|
|
@@ -11297,7 +11282,7 @@
|
|
|
11297
11282
|
"immutable": true,
|
|
11298
11283
|
"locationInModule": {
|
|
11299
11284
|
"filename": "lib/connection.ts",
|
|
11300
|
-
"line":
|
|
11285
|
+
"line": 302
|
|
11301
11286
|
},
|
|
11302
11287
|
"name": "securityGroups",
|
|
11303
11288
|
"optional": true,
|
|
@@ -11313,21 +11298,59 @@
|
|
|
11313
11298
|
{
|
|
11314
11299
|
"abstract": true,
|
|
11315
11300
|
"docs": {
|
|
11316
|
-
"default": "no subnet",
|
|
11317
|
-
"remarks": "
|
|
11301
|
+
"default": "- no subnet, unless `vpc` is provided",
|
|
11302
|
+
"remarks": "Mutually exclusive with `vpc`: provide `subnet` to pin the connection to a\nspecific subnet, or provide `vpc` (optionally with `vpcSubnets`) to let the\nCDK select one for you.",
|
|
11318
11303
|
"stability": "experimental",
|
|
11319
|
-
"summary": "The VPC subnet to connect to resources within a VPC."
|
|
11304
|
+
"summary": "The VPC subnet to connect to resources within a VPC. See more at https://docs.aws.amazon.com/glue/latest/dg/start-connecting.html."
|
|
11320
11305
|
},
|
|
11321
11306
|
"immutable": true,
|
|
11322
11307
|
"locationInModule": {
|
|
11323
11308
|
"filename": "lib/connection.ts",
|
|
11324
|
-
"line":
|
|
11309
|
+
"line": 313
|
|
11325
11310
|
},
|
|
11326
11311
|
"name": "subnet",
|
|
11327
11312
|
"optional": true,
|
|
11328
11313
|
"type": {
|
|
11329
11314
|
"fqn": "aws-cdk-lib.aws_ec2.ISubnet"
|
|
11330
11315
|
}
|
|
11316
|
+
},
|
|
11317
|
+
{
|
|
11318
|
+
"abstract": true,
|
|
11319
|
+
"docs": {
|
|
11320
|
+
"default": "- no VPC, the subnet is taken from `subnet` if provided",
|
|
11321
|
+
"remarks": "When provided, the CDK selects a\nsubnet from this VPC using `vpcSubnets`. A Glue connection targets a single\nsubnet, so the first subnet of the selection is used.\n\nMutually exclusive with `subnet`.",
|
|
11322
|
+
"stability": "experimental",
|
|
11323
|
+
"summary": "The VPC to connect to resources within."
|
|
11324
|
+
},
|
|
11325
|
+
"immutable": true,
|
|
11326
|
+
"locationInModule": {
|
|
11327
|
+
"filename": "lib/connection.ts",
|
|
11328
|
+
"line": 324
|
|
11329
|
+
},
|
|
11330
|
+
"name": "vpc",
|
|
11331
|
+
"optional": true,
|
|
11332
|
+
"type": {
|
|
11333
|
+
"fqn": "aws-cdk-lib.aws_ec2.IVpc"
|
|
11334
|
+
}
|
|
11335
|
+
},
|
|
11336
|
+
{
|
|
11337
|
+
"abstract": true,
|
|
11338
|
+
"docs": {
|
|
11339
|
+
"default": "- private subnets",
|
|
11340
|
+
"remarks": "Only used when\n`vpc` is provided. Since a Glue connection targets a single subnet, the\nfirst subnet of the selection is used.",
|
|
11341
|
+
"stability": "experimental",
|
|
11342
|
+
"summary": "Which subnets of `vpc` to select the connection subnet from."
|
|
11343
|
+
},
|
|
11344
|
+
"immutable": true,
|
|
11345
|
+
"locationInModule": {
|
|
11346
|
+
"filename": "lib/connection.ts",
|
|
11347
|
+
"line": 333
|
|
11348
|
+
},
|
|
11349
|
+
"name": "vpcSubnets",
|
|
11350
|
+
"optional": true,
|
|
11351
|
+
"type": {
|
|
11352
|
+
"fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
|
|
11353
|
+
}
|
|
11331
11354
|
}
|
|
11332
11355
|
],
|
|
11333
11356
|
"symbolId": "lib/connection:ConnectionOptions"
|
|
@@ -11399,7 +11422,7 @@
|
|
|
11399
11422
|
"docs": {
|
|
11400
11423
|
"stability": "experimental",
|
|
11401
11424
|
"summary": "Construction properties for `Connection`.",
|
|
11402
|
-
"example": "declare const securityGroup: ec2.SecurityGroup;\ndeclare const
|
|
11425
|
+
"example": "declare const securityGroup: ec2.SecurityGroup;\ndeclare const vpc: ec2.Vpc;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n securityGroups: [securityGroup],\n vpc,\n // Optional - defaults to private subnets\n vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },\n});",
|
|
11403
11426
|
"custom": {
|
|
11404
11427
|
"exampleMetadata": "infused"
|
|
11405
11428
|
}
|
|
@@ -11411,7 +11434,7 @@
|
|
|
11411
11434
|
"kind": "interface",
|
|
11412
11435
|
"locationInModule": {
|
|
11413
11436
|
"filename": "lib/connection.ts",
|
|
11414
|
-
"line":
|
|
11437
|
+
"line": 339
|
|
11415
11438
|
},
|
|
11416
11439
|
"name": "ConnectionProps",
|
|
11417
11440
|
"properties": [
|
|
@@ -11424,7 +11447,7 @@
|
|
|
11424
11447
|
"immutable": true,
|
|
11425
11448
|
"locationInModule": {
|
|
11426
11449
|
"filename": "lib/connection.ts",
|
|
11427
|
-
"line":
|
|
11450
|
+
"line": 343
|
|
11428
11451
|
},
|
|
11429
11452
|
"name": "type",
|
|
11430
11453
|
"type": {
|
|
@@ -11441,7 +11464,7 @@
|
|
|
11441
11464
|
"see": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype",
|
|
11442
11465
|
"stability": "experimental",
|
|
11443
11466
|
"summary": "The type of the glue connection.",
|
|
11444
|
-
"example": "declare const securityGroup: ec2.SecurityGroup;\ndeclare const
|
|
11467
|
+
"example": "declare const securityGroup: ec2.SecurityGroup;\ndeclare const vpc: ec2.Vpc;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n securityGroups: [securityGroup],\n vpc,\n // Optional - defaults to private subnets\n vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },\n});",
|
|
11445
11468
|
"custom": {
|
|
11446
11469
|
"exampleMetadata": "infused"
|
|
11447
11470
|
}
|
|
@@ -11453,7 +11476,7 @@
|
|
|
11453
11476
|
},
|
|
11454
11477
|
"locationInModule": {
|
|
11455
11478
|
"filename": "lib/connection.ts",
|
|
11456
|
-
"line":
|
|
11479
|
+
"line": 227
|
|
11457
11480
|
},
|
|
11458
11481
|
"parameters": [
|
|
11459
11482
|
{
|
|
@@ -11467,7 +11490,7 @@
|
|
|
11467
11490
|
"kind": "class",
|
|
11468
11491
|
"locationInModule": {
|
|
11469
11492
|
"filename": "lib/connection.ts",
|
|
11470
|
-
"line":
|
|
11493
|
+
"line": 19
|
|
11471
11494
|
},
|
|
11472
11495
|
"methods": [
|
|
11473
11496
|
{
|
|
@@ -11477,7 +11500,7 @@
|
|
|
11477
11500
|
},
|
|
11478
11501
|
"locationInModule": {
|
|
11479
11502
|
"filename": "lib/connection.ts",
|
|
11480
|
-
"line":
|
|
11503
|
+
"line": 234
|
|
11481
11504
|
},
|
|
11482
11505
|
"name": "toString",
|
|
11483
11506
|
"returns": {
|
|
@@ -11498,7 +11521,7 @@
|
|
|
11498
11521
|
"immutable": true,
|
|
11499
11522
|
"locationInModule": {
|
|
11500
11523
|
"filename": "lib/connection.ts",
|
|
11501
|
-
"line":
|
|
11524
|
+
"line": 175
|
|
11502
11525
|
},
|
|
11503
11526
|
"name": "AZURECOSMOS",
|
|
11504
11527
|
"static": true,
|
|
@@ -11515,7 +11538,7 @@
|
|
|
11515
11538
|
"immutable": true,
|
|
11516
11539
|
"locationInModule": {
|
|
11517
11540
|
"filename": "lib/connection.ts",
|
|
11518
|
-
"line":
|
|
11541
|
+
"line": 170
|
|
11519
11542
|
},
|
|
11520
11543
|
"name": "AZURESQL",
|
|
11521
11544
|
"static": true,
|
|
@@ -11532,7 +11555,7 @@
|
|
|
11532
11555
|
"immutable": true,
|
|
11533
11556
|
"locationInModule": {
|
|
11534
11557
|
"filename": "lib/connection.ts",
|
|
11535
|
-
"line":
|
|
11558
|
+
"line": 165
|
|
11536
11559
|
},
|
|
11537
11560
|
"name": "BIGQUERY",
|
|
11538
11561
|
"static": true,
|
|
@@ -11549,7 +11572,7 @@
|
|
|
11549
11572
|
"immutable": true,
|
|
11550
11573
|
"locationInModule": {
|
|
11551
11574
|
"filename": "lib/connection.ts",
|
|
11552
|
-
"line":
|
|
11575
|
+
"line": 60
|
|
11553
11576
|
},
|
|
11554
11577
|
"name": "CUSTOM",
|
|
11555
11578
|
"static": true,
|
|
@@ -11566,7 +11589,7 @@
|
|
|
11566
11589
|
"immutable": true,
|
|
11567
11590
|
"locationInModule": {
|
|
11568
11591
|
"filename": "lib/connection.ts",
|
|
11569
|
-
"line":
|
|
11592
|
+
"line": 220
|
|
11570
11593
|
},
|
|
11571
11594
|
"name": "DYNAMODB",
|
|
11572
11595
|
"static": true,
|
|
@@ -11583,7 +11606,7 @@
|
|
|
11583
11606
|
"immutable": true,
|
|
11584
11607
|
"locationInModule": {
|
|
11585
11608
|
"filename": "lib/connection.ts",
|
|
11586
|
-
"line":
|
|
11609
|
+
"line": 65
|
|
11587
11610
|
},
|
|
11588
11611
|
"name": "FACEBOOKADS",
|
|
11589
11612
|
"static": true,
|
|
@@ -11600,7 +11623,7 @@
|
|
|
11600
11623
|
"immutable": true,
|
|
11601
11624
|
"locationInModule": {
|
|
11602
11625
|
"filename": "lib/connection.ts",
|
|
11603
|
-
"line":
|
|
11626
|
+
"line": 70
|
|
11604
11627
|
},
|
|
11605
11628
|
"name": "GOOGLEADS",
|
|
11606
11629
|
"static": true,
|
|
@@ -11617,7 +11640,7 @@
|
|
|
11617
11640
|
"immutable": true,
|
|
11618
11641
|
"locationInModule": {
|
|
11619
11642
|
"filename": "lib/connection.ts",
|
|
11620
|
-
"line":
|
|
11643
|
+
"line": 80
|
|
11621
11644
|
},
|
|
11622
11645
|
"name": "GOOGLEANALYTICS4",
|
|
11623
11646
|
"static": true,
|
|
@@ -11634,7 +11657,7 @@
|
|
|
11634
11657
|
"immutable": true,
|
|
11635
11658
|
"locationInModule": {
|
|
11636
11659
|
"filename": "lib/connection.ts",
|
|
11637
|
-
"line":
|
|
11660
|
+
"line": 75
|
|
11638
11661
|
},
|
|
11639
11662
|
"name": "GOOGLESHEETS",
|
|
11640
11663
|
"static": true,
|
|
@@ -11651,7 +11674,7 @@
|
|
|
11651
11674
|
"immutable": true,
|
|
11652
11675
|
"locationInModule": {
|
|
11653
11676
|
"filename": "lib/connection.ts",
|
|
11654
|
-
"line":
|
|
11677
|
+
"line": 85
|
|
11655
11678
|
},
|
|
11656
11679
|
"name": "HUBSPOT",
|
|
11657
11680
|
"static": true,
|
|
@@ -11668,7 +11691,7 @@
|
|
|
11668
11691
|
"immutable": true,
|
|
11669
11692
|
"locationInModule": {
|
|
11670
11693
|
"filename": "lib/connection.ts",
|
|
11671
|
-
"line":
|
|
11694
|
+
"line": 90
|
|
11672
11695
|
},
|
|
11673
11696
|
"name": "INSTAGRAMADS",
|
|
11674
11697
|
"static": true,
|
|
@@ -11685,7 +11708,7 @@
|
|
|
11685
11708
|
"immutable": true,
|
|
11686
11709
|
"locationInModule": {
|
|
11687
11710
|
"filename": "lib/connection.ts",
|
|
11688
|
-
"line":
|
|
11711
|
+
"line": 95
|
|
11689
11712
|
},
|
|
11690
11713
|
"name": "INTERCOM",
|
|
11691
11714
|
"static": true,
|
|
@@ -11702,7 +11725,7 @@
|
|
|
11702
11725
|
"immutable": true,
|
|
11703
11726
|
"locationInModule": {
|
|
11704
11727
|
"filename": "lib/connection.ts",
|
|
11705
|
-
"line":
|
|
11728
|
+
"line": 23
|
|
11706
11729
|
},
|
|
11707
11730
|
"name": "JDBC",
|
|
11708
11731
|
"static": true,
|
|
@@ -11719,7 +11742,7 @@
|
|
|
11719
11742
|
"immutable": true,
|
|
11720
11743
|
"locationInModule": {
|
|
11721
11744
|
"filename": "lib/connection.ts",
|
|
11722
|
-
"line":
|
|
11745
|
+
"line": 100
|
|
11723
11746
|
},
|
|
11724
11747
|
"name": "JIRACLOUD",
|
|
11725
11748
|
"static": true,
|
|
@@ -11736,7 +11759,7 @@
|
|
|
11736
11759
|
"immutable": true,
|
|
11737
11760
|
"locationInModule": {
|
|
11738
11761
|
"filename": "lib/connection.ts",
|
|
11739
|
-
"line":
|
|
11762
|
+
"line": 28
|
|
11740
11763
|
},
|
|
11741
11764
|
"name": "KAFKA",
|
|
11742
11765
|
"static": true,
|
|
@@ -11753,7 +11776,7 @@
|
|
|
11753
11776
|
"immutable": true,
|
|
11754
11777
|
"locationInModule": {
|
|
11755
11778
|
"filename": "lib/connection.ts",
|
|
11756
|
-
"line":
|
|
11779
|
+
"line": 105
|
|
11757
11780
|
},
|
|
11758
11781
|
"name": "MARKETO",
|
|
11759
11782
|
"static": true,
|
|
@@ -11770,7 +11793,7 @@
|
|
|
11770
11793
|
"immutable": true,
|
|
11771
11794
|
"locationInModule": {
|
|
11772
11795
|
"filename": "lib/connection.ts",
|
|
11773
|
-
"line":
|
|
11796
|
+
"line": 54
|
|
11774
11797
|
},
|
|
11775
11798
|
"name": "MARKETPLACE",
|
|
11776
11799
|
"static": true,
|
|
@@ -11787,7 +11810,7 @@
|
|
|
11787
11810
|
"immutable": true,
|
|
11788
11811
|
"locationInModule": {
|
|
11789
11812
|
"filename": "lib/connection.ts",
|
|
11790
|
-
"line":
|
|
11813
|
+
"line": 33
|
|
11791
11814
|
},
|
|
11792
11815
|
"name": "MONGODB",
|
|
11793
11816
|
"static": true,
|
|
@@ -11804,7 +11827,7 @@
|
|
|
11804
11827
|
"immutable": true,
|
|
11805
11828
|
"locationInModule": {
|
|
11806
11829
|
"filename": "lib/connection.ts",
|
|
11807
|
-
"line":
|
|
11830
|
+
"line": 185
|
|
11808
11831
|
},
|
|
11809
11832
|
"name": "MYSQL",
|
|
11810
11833
|
"static": true,
|
|
@@ -11821,7 +11844,7 @@
|
|
|
11821
11844
|
"immutable": true,
|
|
11822
11845
|
"locationInModule": {
|
|
11823
11846
|
"filename": "lib/connection.ts",
|
|
11824
|
-
"line":
|
|
11847
|
+
"line": 110
|
|
11825
11848
|
},
|
|
11826
11849
|
"name": "NETSUITEERP",
|
|
11827
11850
|
"static": true,
|
|
@@ -11838,7 +11861,7 @@
|
|
|
11838
11861
|
"immutable": true,
|
|
11839
11862
|
"locationInModule": {
|
|
11840
11863
|
"filename": "lib/connection.ts",
|
|
11841
|
-
"line":
|
|
11864
|
+
"line": 48
|
|
11842
11865
|
},
|
|
11843
11866
|
"name": "NETWORK",
|
|
11844
11867
|
"static": true,
|
|
@@ -11855,7 +11878,7 @@
|
|
|
11855
11878
|
"immutable": true,
|
|
11856
11879
|
"locationInModule": {
|
|
11857
11880
|
"filename": "lib/connection.ts",
|
|
11858
|
-
"line":
|
|
11881
|
+
"line": 180
|
|
11859
11882
|
},
|
|
11860
11883
|
"name": "OPENSEARCH",
|
|
11861
11884
|
"static": true,
|
|
@@ -11872,7 +11895,7 @@
|
|
|
11872
11895
|
"immutable": true,
|
|
11873
11896
|
"locationInModule": {
|
|
11874
11897
|
"filename": "lib/connection.ts",
|
|
11875
|
-
"line":
|
|
11898
|
+
"line": 195
|
|
11876
11899
|
},
|
|
11877
11900
|
"name": "ORACLE",
|
|
11878
11901
|
"static": true,
|
|
@@ -11889,7 +11912,7 @@
|
|
|
11889
11912
|
"immutable": true,
|
|
11890
11913
|
"locationInModule": {
|
|
11891
11914
|
"filename": "lib/connection.ts",
|
|
11892
|
-
"line":
|
|
11915
|
+
"line": 190
|
|
11893
11916
|
},
|
|
11894
11917
|
"name": "POSTGRESQL",
|
|
11895
11918
|
"static": true,
|
|
@@ -11906,7 +11929,7 @@
|
|
|
11906
11929
|
"immutable": true,
|
|
11907
11930
|
"locationInModule": {
|
|
11908
11931
|
"filename": "lib/connection.ts",
|
|
11909
|
-
"line":
|
|
11932
|
+
"line": 115
|
|
11910
11933
|
},
|
|
11911
11934
|
"name": "SALESFORCE",
|
|
11912
11935
|
"static": true,
|
|
@@ -11923,7 +11946,7 @@
|
|
|
11923
11946
|
"immutable": true,
|
|
11924
11947
|
"locationInModule": {
|
|
11925
11948
|
"filename": "lib/connection.ts",
|
|
11926
|
-
"line":
|
|
11949
|
+
"line": 120
|
|
11927
11950
|
},
|
|
11928
11951
|
"name": "SALESFORCEMARKETINGCLOUD",
|
|
11929
11952
|
"static": true,
|
|
@@ -11940,7 +11963,7 @@
|
|
|
11940
11963
|
"immutable": true,
|
|
11941
11964
|
"locationInModule": {
|
|
11942
11965
|
"filename": "lib/connection.ts",
|
|
11943
|
-
"line":
|
|
11966
|
+
"line": 125
|
|
11944
11967
|
},
|
|
11945
11968
|
"name": "SALESFORCEPARDOT",
|
|
11946
11969
|
"static": true,
|
|
@@ -11957,7 +11980,7 @@
|
|
|
11957
11980
|
"immutable": true,
|
|
11958
11981
|
"locationInModule": {
|
|
11959
11982
|
"filename": "lib/connection.ts",
|
|
11960
|
-
"line":
|
|
11983
|
+
"line": 205
|
|
11961
11984
|
},
|
|
11962
11985
|
"name": "SAPHANA",
|
|
11963
11986
|
"static": true,
|
|
@@ -11974,7 +11997,7 @@
|
|
|
11974
11997
|
"immutable": true,
|
|
11975
11998
|
"locationInModule": {
|
|
11976
11999
|
"filename": "lib/connection.ts",
|
|
11977
|
-
"line":
|
|
12000
|
+
"line": 130
|
|
11978
12001
|
},
|
|
11979
12002
|
"name": "SAPODATA",
|
|
11980
12003
|
"static": true,
|
|
@@ -11991,7 +12014,7 @@
|
|
|
11991
12014
|
"immutable": true,
|
|
11992
12015
|
"locationInModule": {
|
|
11993
12016
|
"filename": "lib/connection.ts",
|
|
11994
|
-
"line":
|
|
12017
|
+
"line": 135
|
|
11995
12018
|
},
|
|
11996
12019
|
"name": "SERVICENOW",
|
|
11997
12020
|
"static": true,
|
|
@@ -12008,7 +12031,7 @@
|
|
|
12008
12031
|
"immutable": true,
|
|
12009
12032
|
"locationInModule": {
|
|
12010
12033
|
"filename": "lib/connection.ts",
|
|
12011
|
-
"line":
|
|
12034
|
+
"line": 140
|
|
12012
12035
|
},
|
|
12013
12036
|
"name": "SLACK",
|
|
12014
12037
|
"static": true,
|
|
@@ -12025,7 +12048,7 @@
|
|
|
12025
12048
|
"immutable": true,
|
|
12026
12049
|
"locationInModule": {
|
|
12027
12050
|
"filename": "lib/connection.ts",
|
|
12028
|
-
"line":
|
|
12051
|
+
"line": 145
|
|
12029
12052
|
},
|
|
12030
12053
|
"name": "SNAPCHATADS",
|
|
12031
12054
|
"static": true,
|
|
@@ -12042,7 +12065,7 @@
|
|
|
12042
12065
|
"immutable": true,
|
|
12043
12066
|
"locationInModule": {
|
|
12044
12067
|
"filename": "lib/connection.ts",
|
|
12045
|
-
"line":
|
|
12068
|
+
"line": 200
|
|
12046
12069
|
},
|
|
12047
12070
|
"name": "SQLSERVER",
|
|
12048
12071
|
"static": true,
|
|
@@ -12059,7 +12082,7 @@
|
|
|
12059
12082
|
"immutable": true,
|
|
12060
12083
|
"locationInModule": {
|
|
12061
12084
|
"filename": "lib/connection.ts",
|
|
12062
|
-
"line":
|
|
12085
|
+
"line": 150
|
|
12063
12086
|
},
|
|
12064
12087
|
"name": "STRIPE",
|
|
12065
12088
|
"static": true,
|
|
@@ -12076,7 +12099,7 @@
|
|
|
12076
12099
|
"immutable": true,
|
|
12077
12100
|
"locationInModule": {
|
|
12078
12101
|
"filename": "lib/connection.ts",
|
|
12079
|
-
"line":
|
|
12102
|
+
"line": 210
|
|
12080
12103
|
},
|
|
12081
12104
|
"name": "TERADATA",
|
|
12082
12105
|
"static": true,
|
|
@@ -12093,7 +12116,7 @@
|
|
|
12093
12116
|
"immutable": true,
|
|
12094
12117
|
"locationInModule": {
|
|
12095
12118
|
"filename": "lib/connection.ts",
|
|
12096
|
-
"line":
|
|
12119
|
+
"line": 215
|
|
12097
12120
|
},
|
|
12098
12121
|
"name": "VERTICA",
|
|
12099
12122
|
"static": true,
|
|
@@ -12110,7 +12133,7 @@
|
|
|
12110
12133
|
"immutable": true,
|
|
12111
12134
|
"locationInModule": {
|
|
12112
12135
|
"filename": "lib/connection.ts",
|
|
12113
|
-
"line":
|
|
12136
|
+
"line": 43
|
|
12114
12137
|
},
|
|
12115
12138
|
"name": "VIEW_VALIDATION_ATHENA",
|
|
12116
12139
|
"static": true,
|
|
@@ -12127,7 +12150,7 @@
|
|
|
12127
12150
|
"immutable": true,
|
|
12128
12151
|
"locationInModule": {
|
|
12129
12152
|
"filename": "lib/connection.ts",
|
|
12130
|
-
"line":
|
|
12153
|
+
"line": 38
|
|
12131
12154
|
},
|
|
12132
12155
|
"name": "VIEW_VALIDATION_REDSHIFT",
|
|
12133
12156
|
"static": true,
|
|
@@ -12144,7 +12167,7 @@
|
|
|
12144
12167
|
"immutable": true,
|
|
12145
12168
|
"locationInModule": {
|
|
12146
12169
|
"filename": "lib/connection.ts",
|
|
12147
|
-
"line":
|
|
12170
|
+
"line": 155
|
|
12148
12171
|
},
|
|
12149
12172
|
"name": "ZENDESK",
|
|
12150
12173
|
"static": true,
|
|
@@ -12161,7 +12184,7 @@
|
|
|
12161
12184
|
"immutable": true,
|
|
12162
12185
|
"locationInModule": {
|
|
12163
12186
|
"filename": "lib/connection.ts",
|
|
12164
|
-
"line":
|
|
12187
|
+
"line": 160
|
|
12165
12188
|
},
|
|
12166
12189
|
"name": "ZOHOCRM",
|
|
12167
12190
|
"static": true,
|
|
@@ -12177,7 +12200,7 @@
|
|
|
12177
12200
|
"immutable": true,
|
|
12178
12201
|
"locationInModule": {
|
|
12179
12202
|
"filename": "lib/connection.ts",
|
|
12180
|
-
"line":
|
|
12203
|
+
"line": 225
|
|
12181
12204
|
},
|
|
12182
12205
|
"name": "name",
|
|
12183
12206
|
"type": {
|
|
@@ -12194,7 +12217,7 @@
|
|
|
12194
12217
|
"see": "https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html",
|
|
12195
12218
|
"stability": "experimental",
|
|
12196
12219
|
"summary": "Properties for enabling Continuous Logging for Glue Jobs.",
|
|
12197
|
-
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerType: glue.WorkerType.G_2X,\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n
|
|
12220
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerConfiguration: {\n workerType: glue.WorkerType.G_2X,\n numberOfWorkers: 2,\n },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});",
|
|
12198
12221
|
"custom": {
|
|
12199
12222
|
"exampleMetadata": "infused"
|
|
12200
12223
|
}
|
|
@@ -12958,9 +12981,9 @@
|
|
|
12958
12981
|
"docs": {
|
|
12959
12982
|
"stability": "experimental",
|
|
12960
12983
|
"summary": "A Glue Data Quality ruleset.",
|
|
12961
|
-
"example": "
|
|
12984
|
+
"example": "new glue.DataQualityRuleset(this, 'MyRuleset', {\n rulesetName: 'my_ruleset',\n dqdl: glue.Dqdl.fromString('Rules = [ RowCount > 100, IsComplete \"order_id\" ]'),\n targetTable: new glue.DataQualityTargetTable('my_database', 'my_table'),\n});",
|
|
12962
12985
|
"custom": {
|
|
12963
|
-
"exampleMetadata": "
|
|
12986
|
+
"exampleMetadata": "infused"
|
|
12964
12987
|
}
|
|
12965
12988
|
},
|
|
12966
12989
|
"fqn": "@aws-cdk/aws-glue-alpha.DataQualityRuleset",
|
|
@@ -12970,7 +12993,7 @@
|
|
|
12970
12993
|
},
|
|
12971
12994
|
"locationInModule": {
|
|
12972
12995
|
"filename": "lib/data-quality-ruleset.ts",
|
|
12973
|
-
"line":
|
|
12996
|
+
"line": 159
|
|
12974
12997
|
},
|
|
12975
12998
|
"parameters": [
|
|
12976
12999
|
{
|
|
@@ -12999,7 +13022,7 @@
|
|
|
12999
13022
|
"kind": "class",
|
|
13000
13023
|
"locationInModule": {
|
|
13001
13024
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13002
|
-
"line":
|
|
13025
|
+
"line": 126
|
|
13003
13026
|
},
|
|
13004
13027
|
"methods": [
|
|
13005
13028
|
{
|
|
@@ -13008,7 +13031,7 @@
|
|
|
13008
13031
|
},
|
|
13009
13032
|
"locationInModule": {
|
|
13010
13033
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13011
|
-
"line":
|
|
13034
|
+
"line": 131
|
|
13012
13035
|
},
|
|
13013
13036
|
"name": "fromRulesetArn",
|
|
13014
13037
|
"parameters": [
|
|
@@ -13044,7 +13067,7 @@
|
|
|
13044
13067
|
},
|
|
13045
13068
|
"locationInModule": {
|
|
13046
13069
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13047
|
-
"line":
|
|
13070
|
+
"line": 140
|
|
13048
13071
|
},
|
|
13049
13072
|
"name": "fromRulesetName",
|
|
13050
13073
|
"parameters": [
|
|
@@ -13086,7 +13109,7 @@
|
|
|
13086
13109
|
"immutable": true,
|
|
13087
13110
|
"locationInModule": {
|
|
13088
13111
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13089
|
-
"line":
|
|
13112
|
+
"line": 129
|
|
13090
13113
|
},
|
|
13091
13114
|
"name": "PROPERTY_INJECTION_ID",
|
|
13092
13115
|
"static": true,
|
|
@@ -13102,7 +13125,7 @@
|
|
|
13102
13125
|
"immutable": true,
|
|
13103
13126
|
"locationInModule": {
|
|
13104
13127
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13105
|
-
"line":
|
|
13128
|
+
"line": 189
|
|
13106
13129
|
},
|
|
13107
13130
|
"name": "rulesetArn",
|
|
13108
13131
|
"overrides": "@aws-cdk/aws-glue-alpha.IDataQualityRuleset",
|
|
@@ -13118,7 +13141,7 @@
|
|
|
13118
13141
|
"immutable": true,
|
|
13119
13142
|
"locationInModule": {
|
|
13120
13143
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13121
|
-
"line":
|
|
13144
|
+
"line": 181
|
|
13122
13145
|
},
|
|
13123
13146
|
"name": "rulesetName",
|
|
13124
13147
|
"overrides": "@aws-cdk/aws-glue-alpha.IDataQualityRuleset",
|
|
@@ -13135,36 +13158,34 @@
|
|
|
13135
13158
|
"docs": {
|
|
13136
13159
|
"stability": "experimental",
|
|
13137
13160
|
"summary": "Construction properties for `DataQualityRuleset`.",
|
|
13138
|
-
"example": "
|
|
13161
|
+
"example": "new glue.DataQualityRuleset(this, 'MyRuleset', {\n rulesetName: 'my_ruleset',\n dqdl: glue.Dqdl.fromString('Rules = [ RowCount > 100, IsComplete \"order_id\" ]'),\n targetTable: new glue.DataQualityTargetTable('my_database', 'my_table'),\n});",
|
|
13139
13162
|
"custom": {
|
|
13140
|
-
"exampleMetadata": "
|
|
13163
|
+
"exampleMetadata": "infused"
|
|
13141
13164
|
}
|
|
13142
13165
|
},
|
|
13143
13166
|
"fqn": "@aws-cdk/aws-glue-alpha.DataQualityRulesetProps",
|
|
13144
13167
|
"kind": "interface",
|
|
13145
13168
|
"locationInModule": {
|
|
13146
13169
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13147
|
-
"line":
|
|
13170
|
+
"line": 77
|
|
13148
13171
|
},
|
|
13149
13172
|
"name": "DataQualityRulesetProps",
|
|
13150
13173
|
"properties": [
|
|
13151
13174
|
{
|
|
13152
13175
|
"abstract": true,
|
|
13153
13176
|
"docs": {
|
|
13154
|
-
"
|
|
13155
|
-
"attribute": "true"
|
|
13156
|
-
},
|
|
13177
|
+
"remarks": "Build it with `Dqdl.fromString(...)`.",
|
|
13157
13178
|
"stability": "experimental",
|
|
13158
|
-
"summary": "The
|
|
13179
|
+
"summary": "The DQDL document defining the ruleset's data quality rules."
|
|
13159
13180
|
},
|
|
13160
13181
|
"immutable": true,
|
|
13161
13182
|
"locationInModule": {
|
|
13162
13183
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13163
|
-
"line":
|
|
13184
|
+
"line": 101
|
|
13164
13185
|
},
|
|
13165
|
-
"name": "
|
|
13186
|
+
"name": "dqdl",
|
|
13166
13187
|
"type": {
|
|
13167
|
-
"
|
|
13188
|
+
"fqn": "@aws-cdk/aws-glue-alpha.Dqdl"
|
|
13168
13189
|
}
|
|
13169
13190
|
},
|
|
13170
13191
|
{
|
|
@@ -13179,7 +13200,7 @@
|
|
|
13179
13200
|
"immutable": true,
|
|
13180
13201
|
"locationInModule": {
|
|
13181
13202
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13182
|
-
"line":
|
|
13203
|
+
"line": 113
|
|
13183
13204
|
},
|
|
13184
13205
|
"name": "targetTable",
|
|
13185
13206
|
"type": {
|
|
@@ -13198,7 +13219,7 @@
|
|
|
13198
13219
|
"immutable": true,
|
|
13199
13220
|
"locationInModule": {
|
|
13200
13221
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13201
|
-
"line":
|
|
13222
|
+
"line": 88
|
|
13202
13223
|
},
|
|
13203
13224
|
"name": "clientToken",
|
|
13204
13225
|
"optional": true,
|
|
@@ -13218,7 +13239,7 @@
|
|
|
13218
13239
|
"immutable": true,
|
|
13219
13240
|
"locationInModule": {
|
|
13220
13241
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13221
|
-
"line":
|
|
13242
|
+
"line": 94
|
|
13222
13243
|
},
|
|
13223
13244
|
"name": "description",
|
|
13224
13245
|
"optional": true,
|
|
@@ -13236,7 +13257,7 @@
|
|
|
13236
13257
|
"immutable": true,
|
|
13237
13258
|
"locationInModule": {
|
|
13238
13259
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13239
|
-
"line":
|
|
13260
|
+
"line": 120
|
|
13240
13261
|
},
|
|
13241
13262
|
"name": "removalPolicy",
|
|
13242
13263
|
"optional": true,
|
|
@@ -13254,7 +13275,7 @@
|
|
|
13254
13275
|
"immutable": true,
|
|
13255
13276
|
"locationInModule": {
|
|
13256
13277
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13257
|
-
"line":
|
|
13278
|
+
"line": 82
|
|
13258
13279
|
},
|
|
13259
13280
|
"name": "rulesetName",
|
|
13260
13281
|
"optional": true,
|
|
@@ -13272,7 +13293,7 @@
|
|
|
13272
13293
|
"immutable": true,
|
|
13273
13294
|
"locationInModule": {
|
|
13274
13295
|
"filename": "lib/data-quality-ruleset.ts",
|
|
13275
|
-
"line":
|
|
13296
|
+
"line": 107
|
|
13276
13297
|
},
|
|
13277
13298
|
"name": "tags",
|
|
13278
13299
|
"optional": true,
|
|
@@ -13293,9 +13314,9 @@
|
|
|
13293
13314
|
"docs": {
|
|
13294
13315
|
"stability": "experimental",
|
|
13295
13316
|
"summary": "Properties of a DataQualityTargetTable.",
|
|
13296
|
-
"example": "
|
|
13317
|
+
"example": "new glue.DataQualityRuleset(this, 'MyRuleset', {\n rulesetName: 'my_ruleset',\n dqdl: glue.Dqdl.fromString('Rules = [ RowCount > 100, IsComplete \"order_id\" ]'),\n targetTable: new glue.DataQualityTargetTable('my_database', 'my_table'),\n});",
|
|
13297
13318
|
"custom": {
|
|
13298
|
-
"exampleMetadata": "
|
|
13319
|
+
"exampleMetadata": "infused"
|
|
13299
13320
|
}
|
|
13300
13321
|
},
|
|
13301
13322
|
"fqn": "@aws-cdk/aws-glue-alpha.DataQualityTargetTable",
|
|
@@ -13523,6 +13544,7 @@
|
|
|
13523
13544
|
"stability": "experimental",
|
|
13524
13545
|
"summary": "Location URI of this database."
|
|
13525
13546
|
},
|
|
13547
|
+
"immutable": true,
|
|
13526
13548
|
"locationInModule": {
|
|
13527
13549
|
"filename": "lib/database.ts",
|
|
13528
13550
|
"line": 103
|
|
@@ -13795,8 +13817,8 @@
|
|
|
13795
13817
|
{
|
|
13796
13818
|
"abstract": true,
|
|
13797
13819
|
"docs": {
|
|
13798
|
-
"default": "-
|
|
13799
|
-
"remarks": "
|
|
13820
|
+
"default": "- Athena's default step for the format's precision; required when `format` is sub-day precision",
|
|
13821
|
+
"remarks": "Required (together with `intervalUnit`) when `format` carries sub-day\nprecision — i.e. a field finer than a day, such as hours or AM/PM. At day\nor coarser precision Athena defaults the step, so it is optional.",
|
|
13800
13822
|
"stability": "experimental",
|
|
13801
13823
|
"summary": "Interval between partition values."
|
|
13802
13824
|
},
|
|
@@ -13814,8 +13836,8 @@
|
|
|
13814
13836
|
{
|
|
13815
13837
|
"abstract": true,
|
|
13816
13838
|
"docs": {
|
|
13817
|
-
"default": "-
|
|
13818
|
-
"remarks": "
|
|
13839
|
+
"default": "- Athena's default unit for the format's precision; required when `format` is sub-day precision",
|
|
13840
|
+
"remarks": "Required (together with `interval`) when `format` carries sub-day\nprecision — i.e. a field finer than a day, such as hours or AM/PM. At day\nor coarser precision Athena defaults the step, so it is optional.",
|
|
13819
13841
|
"stability": "experimental",
|
|
13820
13842
|
"summary": "Unit for the interval."
|
|
13821
13843
|
},
|
|
@@ -13833,45 +13855,96 @@
|
|
|
13833
13855
|
],
|
|
13834
13856
|
"symbolId": "lib/partition-projection:DatePartitionProjectionConfigurationProps"
|
|
13835
13857
|
},
|
|
13836
|
-
"@aws-cdk/aws-glue-alpha.
|
|
13858
|
+
"@aws-cdk/aws-glue-alpha.Dqdl": {
|
|
13837
13859
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
13838
|
-
"datatype": true,
|
|
13839
13860
|
"docs": {
|
|
13861
|
+
"remarks": "DQDL is an authored string that Glue parses and validates at deploy time. Build\none from a raw DQDL string with {@link Dqdl.fromString}.",
|
|
13862
|
+
"see": "https://docs.aws.amazon.com/glue/latest/dg/dqdl.html",
|
|
13840
13863
|
"stability": "experimental",
|
|
13841
|
-
"summary": "
|
|
13842
|
-
"example": "
|
|
13864
|
+
"summary": "The Data Quality Definition Language (DQDL) document for a `DataQualityRuleset`.",
|
|
13865
|
+
"example": "new glue.DataQualityRuleset(this, 'MyRuleset', {\n rulesetName: 'my_ruleset',\n dqdl: glue.Dqdl.fromString('Rules = [ RowCount > 100, IsComplete \"order_id\" ]'),\n targetTable: new glue.DataQualityTargetTable('my_database', 'my_table'),\n});",
|
|
13843
13866
|
"custom": {
|
|
13844
13867
|
"exampleMetadata": "infused"
|
|
13845
13868
|
}
|
|
13846
13869
|
},
|
|
13847
|
-
"fqn": "@aws-cdk/aws-glue-alpha.
|
|
13848
|
-
"kind": "
|
|
13870
|
+
"fqn": "@aws-cdk/aws-glue-alpha.Dqdl",
|
|
13871
|
+
"kind": "class",
|
|
13849
13872
|
"locationInModule": {
|
|
13850
|
-
"filename": "lib/
|
|
13851
|
-
"line":
|
|
13873
|
+
"filename": "lib/data-quality-ruleset.ts",
|
|
13874
|
+
"line": 38
|
|
13852
13875
|
},
|
|
13853
|
-
"
|
|
13854
|
-
"properties": [
|
|
13876
|
+
"methods": [
|
|
13855
13877
|
{
|
|
13856
|
-
"abstract": true,
|
|
13857
13878
|
"docs": {
|
|
13858
|
-
"example": "['us-east-1', 'us-west-2', 'eu-west-1']",
|
|
13859
13879
|
"stability": "experimental",
|
|
13860
|
-
"summary": "
|
|
13880
|
+
"summary": "Create a `Dqdl` from a raw DQDL string."
|
|
13861
13881
|
},
|
|
13862
|
-
"immutable": true,
|
|
13863
13882
|
"locationInModule": {
|
|
13864
|
-
"filename": "lib/
|
|
13865
|
-
"line":
|
|
13883
|
+
"filename": "lib/data-quality-ruleset.ts",
|
|
13884
|
+
"line": 44
|
|
13866
13885
|
},
|
|
13867
|
-
"name": "
|
|
13868
|
-
"
|
|
13869
|
-
|
|
13870
|
-
"
|
|
13871
|
-
"
|
|
13886
|
+
"name": "fromString",
|
|
13887
|
+
"parameters": [
|
|
13888
|
+
{
|
|
13889
|
+
"docs": {
|
|
13890
|
+
"summary": "the DQDL document, e.g. `Rules = [ RowCount > 100 ]`."
|
|
13872
13891
|
},
|
|
13873
|
-
"
|
|
13874
|
-
|
|
13892
|
+
"name": "dqdl",
|
|
13893
|
+
"type": {
|
|
13894
|
+
"primitive": "string"
|
|
13895
|
+
}
|
|
13896
|
+
}
|
|
13897
|
+
],
|
|
13898
|
+
"returns": {
|
|
13899
|
+
"type": {
|
|
13900
|
+
"fqn": "@aws-cdk/aws-glue-alpha.Dqdl"
|
|
13901
|
+
}
|
|
13902
|
+
},
|
|
13903
|
+
"static": true
|
|
13904
|
+
}
|
|
13905
|
+
],
|
|
13906
|
+
"name": "Dqdl",
|
|
13907
|
+
"symbolId": "lib/data-quality-ruleset:Dqdl"
|
|
13908
|
+
},
|
|
13909
|
+
"@aws-cdk/aws-glue-alpha.EnumPartitionProjectionConfigurationProps": {
|
|
13910
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
13911
|
+
"datatype": true,
|
|
13912
|
+
"docs": {
|
|
13913
|
+
"stability": "experimental",
|
|
13914
|
+
"summary": "Properties for ENUM partition projection configuration.",
|
|
13915
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'region',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n region: glue.PartitionProjectionConfiguration.enum({\n values: ['us-east-1', 'us-west-2', 'eu-west-1'],\n }),\n },\n});",
|
|
13916
|
+
"custom": {
|
|
13917
|
+
"exampleMetadata": "infused"
|
|
13918
|
+
}
|
|
13919
|
+
},
|
|
13920
|
+
"fqn": "@aws-cdk/aws-glue-alpha.EnumPartitionProjectionConfigurationProps",
|
|
13921
|
+
"kind": "interface",
|
|
13922
|
+
"locationInModule": {
|
|
13923
|
+
"filename": "lib/partition-projection.ts",
|
|
13924
|
+
"line": 169
|
|
13925
|
+
},
|
|
13926
|
+
"name": "EnumPartitionProjectionConfigurationProps",
|
|
13927
|
+
"properties": [
|
|
13928
|
+
{
|
|
13929
|
+
"abstract": true,
|
|
13930
|
+
"docs": {
|
|
13931
|
+
"example": "['us-east-1', 'us-west-2', 'eu-west-1']",
|
|
13932
|
+
"stability": "experimental",
|
|
13933
|
+
"summary": "Explicit list of partition values."
|
|
13934
|
+
},
|
|
13935
|
+
"immutable": true,
|
|
13936
|
+
"locationInModule": {
|
|
13937
|
+
"filename": "lib/partition-projection.ts",
|
|
13938
|
+
"line": 175
|
|
13939
|
+
},
|
|
13940
|
+
"name": "values",
|
|
13941
|
+
"type": {
|
|
13942
|
+
"collection": {
|
|
13943
|
+
"elementtype": {
|
|
13944
|
+
"primitive": "string"
|
|
13945
|
+
},
|
|
13946
|
+
"kind": "array"
|
|
13947
|
+
}
|
|
13875
13948
|
}
|
|
13876
13949
|
}
|
|
13877
13950
|
],
|
|
@@ -14020,7 +14093,7 @@
|
|
|
14020
14093
|
},
|
|
14021
14094
|
"locationInModule": {
|
|
14022
14095
|
"filename": "lib/external-table.ts",
|
|
14023
|
-
"line":
|
|
14096
|
+
"line": 139
|
|
14024
14097
|
},
|
|
14025
14098
|
"name": "grantRead",
|
|
14026
14099
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -14048,7 +14121,7 @@
|
|
|
14048
14121
|
},
|
|
14049
14122
|
"locationInModule": {
|
|
14050
14123
|
"filename": "lib/external-table.ts",
|
|
14051
|
-
"line":
|
|
14124
|
+
"line": 163
|
|
14052
14125
|
},
|
|
14053
14126
|
"name": "grantReadWrite",
|
|
14054
14127
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -14076,7 +14149,7 @@
|
|
|
14076
14149
|
},
|
|
14077
14150
|
"locationInModule": {
|
|
14078
14151
|
"filename": "lib/external-table.ts",
|
|
14079
|
-
"line":
|
|
14152
|
+
"line": 151
|
|
14080
14153
|
},
|
|
14081
14154
|
"name": "grantWrite",
|
|
14082
14155
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -14140,7 +14213,7 @@
|
|
|
14140
14213
|
"immutable": true,
|
|
14141
14214
|
"locationInModule": {
|
|
14142
14215
|
"filename": "lib/external-table.ts",
|
|
14143
|
-
"line":
|
|
14216
|
+
"line": 124
|
|
14144
14217
|
},
|
|
14145
14218
|
"name": "tableArn",
|
|
14146
14219
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -14156,7 +14229,7 @@
|
|
|
14156
14229
|
"immutable": true,
|
|
14157
14230
|
"locationInModule": {
|
|
14158
14231
|
"filename": "lib/external-table.ts",
|
|
14159
|
-
"line":
|
|
14232
|
+
"line": 116
|
|
14160
14233
|
},
|
|
14161
14234
|
"name": "tableName",
|
|
14162
14235
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -14270,7 +14343,7 @@
|
|
|
14270
14343
|
"see": "https://docs.aws.amazon.com/glue/latest/dg/add-job.html.",
|
|
14271
14344
|
"stability": "experimental",
|
|
14272
14345
|
"summary": "AWS Glue version determines the versions of Apache Spark and Python that are available to the job.",
|
|
14273
|
-
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerType: glue.WorkerType.G_2X,\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n
|
|
14346
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerConfiguration: {\n workerType: glue.WorkerType.G_2X,\n numberOfWorkers: 2,\n },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});",
|
|
14274
14347
|
"custom": {
|
|
14275
14348
|
"exampleMetadata": "infused"
|
|
14276
14349
|
}
|
|
@@ -14443,7 +14516,7 @@
|
|
|
14443
14516
|
"kind": "interface",
|
|
14444
14517
|
"locationInModule": {
|
|
14445
14518
|
"filename": "lib/connection.ts",
|
|
14446
|
-
"line":
|
|
14519
|
+
"line": 242
|
|
14447
14520
|
},
|
|
14448
14521
|
"name": "IConnection",
|
|
14449
14522
|
"properties": [
|
|
@@ -14459,7 +14532,7 @@
|
|
|
14459
14532
|
"immutable": true,
|
|
14460
14533
|
"locationInModule": {
|
|
14461
14534
|
"filename": "lib/connection.ts",
|
|
14462
|
-
"line":
|
|
14535
|
+
"line": 253
|
|
14463
14536
|
},
|
|
14464
14537
|
"name": "connectionArn",
|
|
14465
14538
|
"type": {
|
|
@@ -14478,7 +14551,7 @@
|
|
|
14478
14551
|
"immutable": true,
|
|
14479
14552
|
"locationInModule": {
|
|
14480
14553
|
"filename": "lib/connection.ts",
|
|
14481
|
-
"line":
|
|
14554
|
+
"line": 247
|
|
14482
14555
|
},
|
|
14483
14556
|
"name": "connectionName",
|
|
14484
14557
|
"type": {
|
|
@@ -14500,7 +14573,7 @@
|
|
|
14500
14573
|
"kind": "interface",
|
|
14501
14574
|
"locationInModule": {
|
|
14502
14575
|
"filename": "lib/data-quality-ruleset.ts",
|
|
14503
|
-
"line":
|
|
14576
|
+
"line": 60
|
|
14504
14577
|
},
|
|
14505
14578
|
"name": "IDataQualityRuleset",
|
|
14506
14579
|
"properties": [
|
|
@@ -14516,7 +14589,7 @@
|
|
|
14516
14589
|
"immutable": true,
|
|
14517
14590
|
"locationInModule": {
|
|
14518
14591
|
"filename": "lib/data-quality-ruleset.ts",
|
|
14519
|
-
"line":
|
|
14592
|
+
"line": 65
|
|
14520
14593
|
},
|
|
14521
14594
|
"name": "rulesetArn",
|
|
14522
14595
|
"type": {
|
|
@@ -14535,7 +14608,7 @@
|
|
|
14535
14608
|
"immutable": true,
|
|
14536
14609
|
"locationInModule": {
|
|
14537
14610
|
"filename": "lib/data-quality-ruleset.ts",
|
|
14538
|
-
"line":
|
|
14611
|
+
"line": 71
|
|
14539
14612
|
},
|
|
14540
14613
|
"name": "rulesetName",
|
|
14541
14614
|
"type": {
|
|
@@ -15461,7 +15534,7 @@
|
|
|
15461
15534
|
"kind": "enum",
|
|
15462
15535
|
"locationInModule": {
|
|
15463
15536
|
"filename": "lib/storage-parameter.ts",
|
|
15464
|
-
"line":
|
|
15537
|
+
"line": 35
|
|
15465
15538
|
},
|
|
15466
15539
|
"members": [
|
|
15467
15540
|
{
|
|
@@ -15550,7 +15623,7 @@
|
|
|
15550
15623
|
"kind": "class",
|
|
15551
15624
|
"locationInModule": {
|
|
15552
15625
|
"filename": "lib/jobs/job.ts",
|
|
15553
|
-
"line":
|
|
15626
|
+
"line": 439
|
|
15554
15627
|
},
|
|
15555
15628
|
"methods": [
|
|
15556
15629
|
{
|
|
@@ -15560,7 +15633,7 @@
|
|
|
15560
15633
|
},
|
|
15561
15634
|
"locationInModule": {
|
|
15562
15635
|
"filename": "lib/jobs/job.ts",
|
|
15563
|
-
"line":
|
|
15636
|
+
"line": 448
|
|
15564
15637
|
},
|
|
15565
15638
|
"name": "fromJobAttributes",
|
|
15566
15639
|
"parameters": [
|
|
@@ -15607,7 +15680,7 @@
|
|
|
15607
15680
|
},
|
|
15608
15681
|
"locationInModule": {
|
|
15609
15682
|
"filename": "lib/jobs/job.ts",
|
|
15610
|
-
"line":
|
|
15683
|
+
"line": 468
|
|
15611
15684
|
},
|
|
15612
15685
|
"name": "checkNoReservedArgs",
|
|
15613
15686
|
"parameters": [
|
|
@@ -15643,7 +15716,7 @@
|
|
|
15643
15716
|
},
|
|
15644
15717
|
"locationInModule": {
|
|
15645
15718
|
"filename": "lib/jobs/job.ts",
|
|
15646
|
-
"line":
|
|
15719
|
+
"line": 524
|
|
15647
15720
|
},
|
|
15648
15721
|
"name": "codeS3ObjectUrl",
|
|
15649
15722
|
"parameters": [
|
|
@@ -15669,7 +15742,7 @@
|
|
|
15669
15742
|
},
|
|
15670
15743
|
"locationInModule": {
|
|
15671
15744
|
"filename": "lib/jobs/job.ts",
|
|
15672
|
-
"line":
|
|
15745
|
+
"line": 492
|
|
15673
15746
|
},
|
|
15674
15747
|
"name": "setupContinuousLogging",
|
|
15675
15748
|
"parameters": [
|
|
@@ -15712,7 +15785,7 @@
|
|
|
15712
15785
|
"immutable": true,
|
|
15713
15786
|
"locationInModule": {
|
|
15714
15787
|
"filename": "lib/jobs/job.ts",
|
|
15715
|
-
"line":
|
|
15788
|
+
"line": 461
|
|
15716
15789
|
},
|
|
15717
15790
|
"name": "role",
|
|
15718
15791
|
"type": {
|
|
@@ -16251,90 +16324,57 @@
|
|
|
16251
16324
|
},
|
|
16252
16325
|
"@aws-cdk/aws-glue-alpha.JobBookmarksEncryption": {
|
|
16253
16326
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
16254
|
-
"datatype": true,
|
|
16255
16327
|
"docs": {
|
|
16328
|
+
"remarks": "Job bookmarks support only client-side encryption with a KMS key.",
|
|
16256
16329
|
"stability": "experimental",
|
|
16257
|
-
"summary": "Job bookmarks encryption configuration
|
|
16258
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption:
|
|
16330
|
+
"summary": "Job bookmarks encryption configuration for a `SecurityConfiguration`.",
|
|
16331
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: glue.CloudWatchEncryption.kms(),\n jobBookmarksEncryption: glue.JobBookmarksEncryption.clientSideKms(),\n s3Encryption: glue.S3Encryption.kms(),\n});",
|
|
16259
16332
|
"custom": {
|
|
16260
16333
|
"exampleMetadata": "infused"
|
|
16261
16334
|
}
|
|
16262
16335
|
},
|
|
16263
16336
|
"fqn": "@aws-cdk/aws-glue-alpha.JobBookmarksEncryption",
|
|
16264
|
-
"kind": "
|
|
16337
|
+
"kind": "class",
|
|
16265
16338
|
"locationInModule": {
|
|
16266
16339
|
"filename": "lib/security-configuration.ts",
|
|
16267
|
-
"line":
|
|
16340
|
+
"line": 112
|
|
16268
16341
|
},
|
|
16269
|
-
"
|
|
16270
|
-
"properties": [
|
|
16342
|
+
"methods": [
|
|
16271
16343
|
{
|
|
16272
|
-
"abstract": true,
|
|
16273
16344
|
"docs": {
|
|
16345
|
+
"see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html",
|
|
16274
16346
|
"stability": "experimental",
|
|
16275
|
-
"summary": "
|
|
16347
|
+
"summary": "Client-side encryption (CSE) with an AWS KMS key managed by the account owner."
|
|
16276
16348
|
},
|
|
16277
|
-
"immutable": true,
|
|
16278
16349
|
"locationInModule": {
|
|
16279
16350
|
"filename": "lib/security-configuration.ts",
|
|
16280
|
-
"line":
|
|
16281
|
-
},
|
|
16282
|
-
"name": "mode",
|
|
16283
|
-
"type": {
|
|
16284
|
-
"fqn": "@aws-cdk/aws-glue-alpha.JobBookmarksEncryptionMode"
|
|
16285
|
-
}
|
|
16286
|
-
},
|
|
16287
|
-
{
|
|
16288
|
-
"abstract": true,
|
|
16289
|
-
"docs": {
|
|
16290
|
-
"default": "A key will be created if one is not provided.",
|
|
16291
|
-
"stability": "experimental",
|
|
16292
|
-
"summary": "The KMS key to be used to encrypt the data."
|
|
16351
|
+
"line": 119
|
|
16293
16352
|
},
|
|
16294
|
-
"
|
|
16295
|
-
"
|
|
16296
|
-
|
|
16297
|
-
|
|
16353
|
+
"name": "clientSideKms",
|
|
16354
|
+
"parameters": [
|
|
16355
|
+
{
|
|
16356
|
+
"docs": {
|
|
16357
|
+
"remarks": "A key is created if one is not provided.",
|
|
16358
|
+
"summary": "the KMS key used to encrypt the data."
|
|
16359
|
+
},
|
|
16360
|
+
"name": "kmsKey",
|
|
16361
|
+
"optional": true,
|
|
16362
|
+
"type": {
|
|
16363
|
+
"fqn": "aws-cdk-lib.interfaces.aws_kms.IKeyRef"
|
|
16364
|
+
}
|
|
16365
|
+
}
|
|
16366
|
+
],
|
|
16367
|
+
"returns": {
|
|
16368
|
+
"type": {
|
|
16369
|
+
"fqn": "@aws-cdk/aws-glue-alpha.JobBookmarksEncryption"
|
|
16370
|
+
}
|
|
16298
16371
|
},
|
|
16299
|
-
"
|
|
16300
|
-
"optional": true,
|
|
16301
|
-
"type": {
|
|
16302
|
-
"fqn": "aws-cdk-lib.interfaces.aws_kms.IKeyRef"
|
|
16303
|
-
}
|
|
16372
|
+
"static": true
|
|
16304
16373
|
}
|
|
16305
16374
|
],
|
|
16375
|
+
"name": "JobBookmarksEncryption",
|
|
16306
16376
|
"symbolId": "lib/security-configuration:JobBookmarksEncryption"
|
|
16307
16377
|
},
|
|
16308
|
-
"@aws-cdk/aws-glue-alpha.JobBookmarksEncryptionMode": {
|
|
16309
|
-
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
16310
|
-
"docs": {
|
|
16311
|
-
"see": "https://docs.aws.amazon.com/glue/latest/webapi/API_JobBookmarksEncryption.html#Glue-Type-JobBookmarksEncryption-JobBookmarksEncryptionMode",
|
|
16312
|
-
"stability": "experimental",
|
|
16313
|
-
"summary": "Encryption mode for Job Bookmarks.",
|
|
16314
|
-
"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});",
|
|
16315
|
-
"custom": {
|
|
16316
|
-
"exampleMetadata": "infused"
|
|
16317
|
-
}
|
|
16318
|
-
},
|
|
16319
|
-
"fqn": "@aws-cdk/aws-glue-alpha.JobBookmarksEncryptionMode",
|
|
16320
|
-
"kind": "enum",
|
|
16321
|
-
"locationInModule": {
|
|
16322
|
-
"filename": "lib/security-configuration.ts",
|
|
16323
|
-
"line": 58
|
|
16324
|
-
},
|
|
16325
|
-
"members": [
|
|
16326
|
-
{
|
|
16327
|
-
"docs": {
|
|
16328
|
-
"see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html",
|
|
16329
|
-
"stability": "experimental",
|
|
16330
|
-
"summary": "Client-side encryption (CSE) with an AWS KMS key managed by the account owner."
|
|
16331
|
-
},
|
|
16332
|
-
"name": "CLIENT_SIDE_KMS"
|
|
16333
|
-
}
|
|
16334
|
-
],
|
|
16335
|
-
"name": "JobBookmarksEncryptionMode",
|
|
16336
|
-
"symbolId": "lib/security-configuration:JobBookmarksEncryptionMode"
|
|
16337
|
-
},
|
|
16338
16378
|
"@aws-cdk/aws-glue-alpha.JobLanguage": {
|
|
16339
16379
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
16340
16380
|
"docs": {
|
|
@@ -16372,7 +16412,7 @@
|
|
|
16372
16412
|
"docs": {
|
|
16373
16413
|
"stability": "experimental",
|
|
16374
16414
|
"summary": "JobProps will be used to create new Glue Jobs using this L2 Construct.",
|
|
16375
|
-
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\n\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst jobProps: glue_alpha.JobProps = {\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n
|
|
16415
|
+
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\n\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst jobProps: glue_alpha.JobProps = {\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n glueVersion: glue_alpha.GlueVersion.V0_9,\n jobName: 'jobName',\n maxConcurrentRuns: 123,\n maxRetries: 123,\n securityConfiguration: securityConfiguration,\n tags: {\n tagsKey: 'tags',\n },\n timeout: cdk.Duration.minutes(30),\n};",
|
|
16376
16416
|
"custom": {
|
|
16377
16417
|
"exampleMetadata": "fixture=_generated"
|
|
16378
16418
|
}
|
|
@@ -16429,7 +16469,7 @@
|
|
|
16429
16469
|
"immutable": true,
|
|
16430
16470
|
"locationInModule": {
|
|
16431
16471
|
"filename": "lib/jobs/job.ts",
|
|
16432
|
-
"line":
|
|
16472
|
+
"line": 380
|
|
16433
16473
|
},
|
|
16434
16474
|
"name": "connections",
|
|
16435
16475
|
"optional": true,
|
|
@@ -16453,7 +16493,7 @@
|
|
|
16453
16493
|
"immutable": true,
|
|
16454
16494
|
"locationInModule": {
|
|
16455
16495
|
"filename": "lib/jobs/job.ts",
|
|
16456
|
-
"line":
|
|
16496
|
+
"line": 432
|
|
16457
16497
|
},
|
|
16458
16498
|
"name": "continuousLogging",
|
|
16459
16499
|
"optional": true,
|
|
@@ -16473,7 +16513,7 @@
|
|
|
16473
16513
|
"immutable": true,
|
|
16474
16514
|
"locationInModule": {
|
|
16475
16515
|
"filename": "lib/jobs/job.ts",
|
|
16476
|
-
"line":
|
|
16516
|
+
"line": 371
|
|
16477
16517
|
},
|
|
16478
16518
|
"name": "defaultArguments",
|
|
16479
16519
|
"optional": true,
|
|
@@ -16504,25 +16544,6 @@
|
|
|
16504
16544
|
"primitive": "string"
|
|
16505
16545
|
}
|
|
16506
16546
|
},
|
|
16507
|
-
{
|
|
16508
|
-
"abstract": true,
|
|
16509
|
-
"docs": {
|
|
16510
|
-
"default": "- no profiling metrics emitted.",
|
|
16511
|
-
"see": "https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html",
|
|
16512
|
-
"stability": "experimental",
|
|
16513
|
-
"summary": "Enables the collection of metrics for job profiling."
|
|
16514
|
-
},
|
|
16515
|
-
"immutable": true,
|
|
16516
|
-
"locationInModule": {
|
|
16517
|
-
"filename": "lib/jobs/job.ts",
|
|
16518
|
-
"line": 448
|
|
16519
|
-
},
|
|
16520
|
-
"name": "enableProfilingMetrics",
|
|
16521
|
-
"optional": true,
|
|
16522
|
-
"type": {
|
|
16523
|
-
"primitive": "boolean"
|
|
16524
|
-
}
|
|
16525
|
-
},
|
|
16526
16547
|
{
|
|
16527
16548
|
"abstract": true,
|
|
16528
16549
|
"docs": {
|
|
@@ -16533,7 +16554,7 @@
|
|
|
16533
16554
|
"immutable": true,
|
|
16534
16555
|
"locationInModule": {
|
|
16535
16556
|
"filename": "lib/jobs/job.ts",
|
|
16536
|
-
"line":
|
|
16557
|
+
"line": 422
|
|
16537
16558
|
},
|
|
16538
16559
|
"name": "glueVersion",
|
|
16539
16560
|
"optional": true,
|
|
@@ -16570,7 +16591,7 @@
|
|
|
16570
16591
|
"immutable": true,
|
|
16571
16592
|
"locationInModule": {
|
|
16572
16593
|
"filename": "lib/jobs/job.ts",
|
|
16573
|
-
"line":
|
|
16594
|
+
"line": 355
|
|
16574
16595
|
},
|
|
16575
16596
|
"name": "maxConcurrentRuns",
|
|
16576
16597
|
"optional": true,
|
|
@@ -16588,7 +16609,7 @@
|
|
|
16588
16609
|
"immutable": true,
|
|
16589
16610
|
"locationInModule": {
|
|
16590
16611
|
"filename": "lib/jobs/job.ts",
|
|
16591
|
-
"line":
|
|
16612
|
+
"line": 388
|
|
16592
16613
|
},
|
|
16593
16614
|
"name": "maxRetries",
|
|
16594
16615
|
"optional": true,
|
|
@@ -16596,24 +16617,6 @@
|
|
|
16596
16617
|
"primitive": "number"
|
|
16597
16618
|
}
|
|
16598
16619
|
},
|
|
16599
|
-
{
|
|
16600
|
-
"abstract": true,
|
|
16601
|
-
"docs": {
|
|
16602
|
-
"default": "10",
|
|
16603
|
-
"stability": "experimental",
|
|
16604
|
-
"summary": "Number of Workers (optional) Number of workers for Glue to use during job execution."
|
|
16605
|
-
},
|
|
16606
|
-
"immutable": true,
|
|
16607
|
-
"locationInModule": {
|
|
16608
|
-
"filename": "lib/jobs/job.ts",
|
|
16609
|
-
"line": 352
|
|
16610
|
-
},
|
|
16611
|
-
"name": "numberOfWorkers",
|
|
16612
|
-
"optional": true,
|
|
16613
|
-
"type": {
|
|
16614
|
-
"primitive": "number"
|
|
16615
|
-
}
|
|
16616
|
-
},
|
|
16617
16620
|
{
|
|
16618
16621
|
"abstract": true,
|
|
16619
16622
|
"docs": {
|
|
@@ -16624,7 +16627,7 @@
|
|
|
16624
16627
|
"immutable": true,
|
|
16625
16628
|
"locationInModule": {
|
|
16626
16629
|
"filename": "lib/jobs/job.ts",
|
|
16627
|
-
"line":
|
|
16630
|
+
"line": 406
|
|
16628
16631
|
},
|
|
16629
16632
|
"name": "securityConfiguration",
|
|
16630
16633
|
"optional": true,
|
|
@@ -16642,7 +16645,7 @@
|
|
|
16642
16645
|
"immutable": true,
|
|
16643
16646
|
"locationInModule": {
|
|
16644
16647
|
"filename": "lib/jobs/job.ts",
|
|
16645
|
-
"line":
|
|
16648
|
+
"line": 414
|
|
16646
16649
|
},
|
|
16647
16650
|
"name": "tags",
|
|
16648
16651
|
"optional": true,
|
|
@@ -16666,32 +16669,13 @@
|
|
|
16666
16669
|
"immutable": true,
|
|
16667
16670
|
"locationInModule": {
|
|
16668
16671
|
"filename": "lib/jobs/job.ts",
|
|
16669
|
-
"line":
|
|
16672
|
+
"line": 398
|
|
16670
16673
|
},
|
|
16671
16674
|
"name": "timeout",
|
|
16672
16675
|
"optional": true,
|
|
16673
16676
|
"type": {
|
|
16674
16677
|
"fqn": "aws-cdk-lib.Duration"
|
|
16675
16678
|
}
|
|
16676
|
-
},
|
|
16677
|
-
{
|
|
16678
|
-
"abstract": true,
|
|
16679
|
-
"docs": {
|
|
16680
|
-
"default": "WorkerType.G_1X",
|
|
16681
|
-
"remarks": "G_4X, G_8X, Z_2X",
|
|
16682
|
-
"stability": "experimental",
|
|
16683
|
-
"summary": "Worker Type (optional) Type of Worker for Glue to use during job execution Enum options: Standard, G_1X, G_2X, G_025X."
|
|
16684
|
-
},
|
|
16685
|
-
"immutable": true,
|
|
16686
|
-
"locationInModule": {
|
|
16687
|
-
"filename": "lib/jobs/job.ts",
|
|
16688
|
-
"line": 361
|
|
16689
|
-
},
|
|
16690
|
-
"name": "workerType",
|
|
16691
|
-
"optional": true,
|
|
16692
|
-
"type": {
|
|
16693
|
-
"fqn": "@aws-cdk/aws-glue-alpha.WorkerType"
|
|
16694
|
-
}
|
|
16695
16679
|
}
|
|
16696
16680
|
],
|
|
16697
16681
|
"symbolId": "lib/jobs/job:JobProps"
|
|
@@ -16815,7 +16799,7 @@
|
|
|
16815
16799
|
"remarks": "A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.",
|
|
16816
16800
|
"stability": "experimental",
|
|
16817
16801
|
"summary": "The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs.",
|
|
16818
|
-
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\ndeclare const extraPythonFile: glue.Code;\nnew glue.PythonShellJob(stack, 'PythonShellJob', {\n jobName: 'PythonShellJobCustomName',\n description: 'This is a description',\n pythonVersion: glue.PythonVersion.
|
|
16802
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\ndeclare const extraPythonFile: glue.Code;\nnew glue.PythonShellJob(stack, 'PythonShellJob', {\n jobName: 'PythonShellJobCustomName',\n description: 'This is a description',\n pythonVersion: glue.PythonVersion.THREE_NINE,\n maxCapacity: glue.MaxCapacity.DPU_1,\n role,\n script,\n extraPythonFiles: [extraPythonFile],\n glueVersion: glue.GlueVersion.V3_0,\n continuousLogging: { enabled: false },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});",
|
|
16819
16803
|
"custom": {
|
|
16820
16804
|
"exampleMetadata": "infused"
|
|
16821
16805
|
}
|
|
@@ -16931,7 +16915,7 @@
|
|
|
16931
16915
|
"kind": "enum",
|
|
16932
16916
|
"locationInModule": {
|
|
16933
16917
|
"filename": "lib/storage-parameter.ts",
|
|
16934
|
-
"line":
|
|
16918
|
+
"line": 67
|
|
16935
16919
|
},
|
|
16936
16920
|
"members": [
|
|
16937
16921
|
{
|
|
@@ -16972,9 +16956,9 @@
|
|
|
16972
16956
|
"docs": {
|
|
16973
16957
|
"stability": "experimental",
|
|
16974
16958
|
"summary": "Properties for configuring an on-demand Glue Trigger.",
|
|
16975
|
-
"example": "
|
|
16959
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n// Create a job to run from the workflow\nconst job = new glue.PySparkEtlJob(stack, 'Job', { role, script });\n\n// Create a workflow and add a trigger that runs the job\nconst workflow = new glue.Workflow(stack, 'Workflow');\nworkflow.addOnDemandTrigger('OnDemandTrigger', {\n actions: [{ job }],\n});",
|
|
16976
16960
|
"custom": {
|
|
16977
|
-
"exampleMetadata": "
|
|
16961
|
+
"exampleMetadata": "infused"
|
|
16978
16962
|
}
|
|
16979
16963
|
},
|
|
16980
16964
|
"fqn": "@aws-cdk/aws-glue-alpha.OnDemandTriggerOptions",
|
|
@@ -17000,7 +16984,7 @@
|
|
|
17000
16984
|
"kind": "enum",
|
|
17001
16985
|
"locationInModule": {
|
|
17002
16986
|
"filename": "lib/storage-parameter.ts",
|
|
17003
|
-
"line":
|
|
16987
|
+
"line": 202
|
|
17004
16988
|
},
|
|
17005
16989
|
"members": [
|
|
17006
16990
|
{
|
|
@@ -17026,7 +17010,7 @@
|
|
|
17026
17010
|
"docs": {
|
|
17027
17011
|
"stability": "experimental",
|
|
17028
17012
|
"summary": "Absolute class name of the Hadoop `OutputFormat` to use when writing table files.",
|
|
17029
|
-
"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 outputFormat =
|
|
17013
|
+
"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 outputFormat = glue_alpha.OutputFormat.AVRO;",
|
|
17030
17014
|
"custom": {
|
|
17031
17015
|
"exampleMetadata": "fixture=_generated"
|
|
17032
17016
|
}
|
|
@@ -17071,7 +17055,7 @@
|
|
|
17071
17055
|
"name": "AVRO",
|
|
17072
17056
|
"static": true,
|
|
17073
17057
|
"type": {
|
|
17074
|
-
"fqn": "@aws-cdk/aws-glue-alpha.
|
|
17058
|
+
"fqn": "@aws-cdk/aws-glue-alpha.OutputFormat"
|
|
17075
17059
|
}
|
|
17076
17060
|
},
|
|
17077
17061
|
{
|
|
@@ -17107,7 +17091,7 @@
|
|
|
17107
17091
|
"name": "ORC",
|
|
17108
17092
|
"static": true,
|
|
17109
17093
|
"type": {
|
|
17110
|
-
"fqn": "@aws-cdk/aws-glue-alpha.
|
|
17094
|
+
"fqn": "@aws-cdk/aws-glue-alpha.OutputFormat"
|
|
17111
17095
|
}
|
|
17112
17096
|
},
|
|
17113
17097
|
{
|
|
@@ -17151,7 +17135,7 @@
|
|
|
17151
17135
|
"docs": {
|
|
17152
17136
|
"stability": "experimental",
|
|
17153
17137
|
"summary": "Properties of a Partition Index.",
|
|
17154
|
-
"example": "declare const myTable: glue.
|
|
17138
|
+
"example": "declare const myTable: glue.S3Table;\nmyTable.addPartitionIndex({\n indexName: 'my-index',\n keyNames: ['year'],\n});",
|
|
17155
17139
|
"custom": {
|
|
17156
17140
|
"exampleMetadata": "infused"
|
|
17157
17141
|
}
|
|
@@ -17221,7 +17205,7 @@
|
|
|
17221
17205
|
"kind": "class",
|
|
17222
17206
|
"locationInModule": {
|
|
17223
17207
|
"filename": "lib/partition-projection.ts",
|
|
17224
|
-
"line":
|
|
17208
|
+
"line": 269
|
|
17225
17209
|
},
|
|
17226
17210
|
"methods": [
|
|
17227
17211
|
{
|
|
@@ -17231,7 +17215,7 @@
|
|
|
17231
17215
|
},
|
|
17232
17216
|
"locationInModule": {
|
|
17233
17217
|
"filename": "lib/partition-projection.ts",
|
|
17234
|
-
"line":
|
|
17218
|
+
"line": 327
|
|
17235
17219
|
},
|
|
17236
17220
|
"name": "date",
|
|
17237
17221
|
"parameters": [
|
|
@@ -17256,7 +17240,7 @@
|
|
|
17256
17240
|
},
|
|
17257
17241
|
"locationInModule": {
|
|
17258
17242
|
"filename": "lib/partition-projection.ts",
|
|
17259
|
-
"line":
|
|
17243
|
+
"line": 424
|
|
17260
17244
|
},
|
|
17261
17245
|
"name": "enum",
|
|
17262
17246
|
"parameters": [
|
|
@@ -17283,7 +17267,7 @@
|
|
|
17283
17267
|
},
|
|
17284
17268
|
"locationInModule": {
|
|
17285
17269
|
"filename": "lib/partition-projection.ts",
|
|
17286
|
-
"line":
|
|
17270
|
+
"line": 464
|
|
17287
17271
|
},
|
|
17288
17272
|
"name": "injected",
|
|
17289
17273
|
"returns": {
|
|
@@ -17300,7 +17284,7 @@
|
|
|
17300
17284
|
},
|
|
17301
17285
|
"locationInModule": {
|
|
17302
17286
|
"filename": "lib/partition-projection.ts",
|
|
17303
|
-
"line":
|
|
17287
|
+
"line": 273
|
|
17304
17288
|
},
|
|
17305
17289
|
"name": "integer",
|
|
17306
17290
|
"parameters": [
|
|
@@ -17329,7 +17313,7 @@
|
|
|
17329
17313
|
"immutable": true,
|
|
17330
17314
|
"locationInModule": {
|
|
17331
17315
|
"filename": "lib/partition-projection.ts",
|
|
17332
|
-
"line":
|
|
17316
|
+
"line": 473
|
|
17333
17317
|
},
|
|
17334
17318
|
"name": "type",
|
|
17335
17319
|
"type": {
|
|
@@ -17345,7 +17329,7 @@
|
|
|
17345
17329
|
"immutable": true,
|
|
17346
17330
|
"locationInModule": {
|
|
17347
17331
|
"filename": "lib/partition-projection.ts",
|
|
17348
|
-
"line":
|
|
17332
|
+
"line": 487
|
|
17349
17333
|
},
|
|
17350
17334
|
"name": "dateRange",
|
|
17351
17335
|
"optional": true,
|
|
@@ -17366,7 +17350,7 @@
|
|
|
17366
17350
|
"immutable": true,
|
|
17367
17351
|
"locationInModule": {
|
|
17368
17352
|
"filename": "lib/partition-projection.ts",
|
|
17369
|
-
"line":
|
|
17353
|
+
"line": 497
|
|
17370
17354
|
},
|
|
17371
17355
|
"name": "digits",
|
|
17372
17356
|
"optional": true,
|
|
@@ -17382,7 +17366,7 @@
|
|
|
17382
17366
|
"immutable": true,
|
|
17383
17367
|
"locationInModule": {
|
|
17384
17368
|
"filename": "lib/partition-projection.ts",
|
|
17385
|
-
"line":
|
|
17369
|
+
"line": 502
|
|
17386
17370
|
},
|
|
17387
17371
|
"name": "format",
|
|
17388
17372
|
"optional": true,
|
|
@@ -17399,7 +17383,7 @@
|
|
|
17399
17383
|
"immutable": true,
|
|
17400
17384
|
"locationInModule": {
|
|
17401
17385
|
"filename": "lib/partition-projection.ts",
|
|
17402
|
-
"line":
|
|
17386
|
+
"line": 480
|
|
17403
17387
|
},
|
|
17404
17388
|
"name": "integerRange",
|
|
17405
17389
|
"optional": true,
|
|
@@ -17420,7 +17404,7 @@
|
|
|
17420
17404
|
"immutable": true,
|
|
17421
17405
|
"locationInModule": {
|
|
17422
17406
|
"filename": "lib/partition-projection.ts",
|
|
17423
|
-
"line":
|
|
17407
|
+
"line": 492
|
|
17424
17408
|
},
|
|
17425
17409
|
"name": "interval",
|
|
17426
17410
|
"optional": true,
|
|
@@ -17436,7 +17420,7 @@
|
|
|
17436
17420
|
"immutable": true,
|
|
17437
17421
|
"locationInModule": {
|
|
17438
17422
|
"filename": "lib/partition-projection.ts",
|
|
17439
|
-
"line":
|
|
17423
|
+
"line": 507
|
|
17440
17424
|
},
|
|
17441
17425
|
"name": "intervalUnit",
|
|
17442
17426
|
"optional": true,
|
|
@@ -17452,7 +17436,7 @@
|
|
|
17452
17436
|
"immutable": true,
|
|
17453
17437
|
"locationInModule": {
|
|
17454
17438
|
"filename": "lib/partition-projection.ts",
|
|
17455
|
-
"line":
|
|
17439
|
+
"line": 512
|
|
17456
17440
|
},
|
|
17457
17441
|
"name": "values",
|
|
17458
17442
|
"optional": true,
|
|
@@ -17612,10 +17596,10 @@
|
|
|
17612
17596
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
17613
17597
|
"base": "@aws-cdk/aws-glue-alpha.SparkJob",
|
|
17614
17598
|
"docs": {
|
|
17615
|
-
"remarks": "ETL jobs support pySpark and Scala languages, for which there are separate\nbut similar constructors. ETL jobs default to the G2 worker type, but you\ncan override this default with other supported worker type values\n(G1, G2, G4 and G8). ETL jobs defaults to Glue version 4.0, which you can\noverride to 3.0. The following ETL features are enabled by default:\n
|
|
17599
|
+
"remarks": "ETL jobs support pySpark and Scala languages, for which there are separate\nbut similar constructors. ETL jobs default to the G2 worker type, but you\ncan override this default with other supported worker type values\n(G1, G2, G4 and G8). ETL jobs defaults to Glue version 4.0, which you can\noverride to 3.0. The following ETL features are enabled by default:\n--enable-metrics, --enable-continuous-cloudwatch-log. The Spark UI\n(--enable-spark-ui) is off by default; enable it by setting the `sparkUI` prop.\nYou can find more details about version, worker type and other features\nin Glue's public documentation.",
|
|
17616
17600
|
"stability": "experimental",
|
|
17617
17601
|
"summary": "PySpark ETL Jobs class.",
|
|
17618
|
-
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n//
|
|
17602
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n// Create a job to run from the workflow\nconst job = new glue.PySparkEtlJob(stack, 'Job', { role, script });\n\n// Create a workflow and add a trigger that runs the job\nconst workflow = new glue.Workflow(stack, 'Workflow');\nworkflow.addOnDemandTrigger('OnDemandTrigger', {\n actions: [{ job }],\n});",
|
|
17619
17603
|
"custom": {
|
|
17620
17604
|
"exampleMetadata": "infused"
|
|
17621
17605
|
}
|
|
@@ -17628,7 +17612,7 @@
|
|
|
17628
17612
|
},
|
|
17629
17613
|
"locationInModule": {
|
|
17630
17614
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17631
|
-
"line":
|
|
17615
|
+
"line": 92
|
|
17632
17616
|
},
|
|
17633
17617
|
"parameters": [
|
|
17634
17618
|
{
|
|
@@ -17654,7 +17638,7 @@
|
|
|
17654
17638
|
"kind": "class",
|
|
17655
17639
|
"locationInModule": {
|
|
17656
17640
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17657
|
-
"line":
|
|
17641
|
+
"line": 83
|
|
17658
17642
|
},
|
|
17659
17643
|
"name": "PySparkEtlJob",
|
|
17660
17644
|
"properties": [
|
|
@@ -17667,7 +17651,7 @@
|
|
|
17667
17651
|
"immutable": true,
|
|
17668
17652
|
"locationInModule": {
|
|
17669
17653
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17670
|
-
"line":
|
|
17654
|
+
"line": 86
|
|
17671
17655
|
},
|
|
17672
17656
|
"name": "PROPERTY_INJECTION_ID",
|
|
17673
17657
|
"static": true,
|
|
@@ -17683,7 +17667,7 @@
|
|
|
17683
17667
|
"immutable": true,
|
|
17684
17668
|
"locationInModule": {
|
|
17685
17669
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17686
|
-
"line":
|
|
17670
|
+
"line": 132
|
|
17687
17671
|
},
|
|
17688
17672
|
"name": "jobArn",
|
|
17689
17673
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -17699,7 +17683,7 @@
|
|
|
17699
17683
|
"immutable": true,
|
|
17700
17684
|
"locationInModule": {
|
|
17701
17685
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17702
|
-
"line":
|
|
17686
|
+
"line": 137
|
|
17703
17687
|
},
|
|
17704
17688
|
"name": "jobName",
|
|
17705
17689
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -17716,7 +17700,7 @@
|
|
|
17716
17700
|
"docs": {
|
|
17717
17701
|
"stability": "experimental",
|
|
17718
17702
|
"summary": "Properties for creating a Python Spark ETL job.",
|
|
17719
|
-
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n//
|
|
17703
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n// Create a job to run from the workflow\nconst job = new glue.PySparkEtlJob(stack, 'Job', { role, script });\n\n// Create a workflow and add a trigger that runs the job\nconst workflow = new glue.Workflow(stack, 'Workflow');\nworkflow.addOnDemandTrigger('OnDemandTrigger', {\n actions: [{ job }],\n});",
|
|
17720
17704
|
"custom": {
|
|
17721
17705
|
"exampleMetadata": "infused"
|
|
17722
17706
|
}
|
|
@@ -17728,7 +17712,7 @@
|
|
|
17728
17712
|
"kind": "interface",
|
|
17729
17713
|
"locationInModule": {
|
|
17730
17714
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17731
|
-
"line":
|
|
17715
|
+
"line": 16
|
|
17732
17716
|
},
|
|
17733
17717
|
"name": "PySparkEtlJobProps",
|
|
17734
17718
|
"properties": [
|
|
@@ -17743,7 +17727,7 @@
|
|
|
17743
17727
|
"immutable": true,
|
|
17744
17728
|
"locationInModule": {
|
|
17745
17729
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17746
|
-
"line":
|
|
17730
|
+
"line": 39
|
|
17747
17731
|
},
|
|
17748
17732
|
"name": "extraFiles",
|
|
17749
17733
|
"optional": true,
|
|
@@ -17766,7 +17750,7 @@
|
|
|
17766
17750
|
"immutable": true,
|
|
17767
17751
|
"locationInModule": {
|
|
17768
17752
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17769
|
-
"line":
|
|
17753
|
+
"line": 46
|
|
17770
17754
|
},
|
|
17771
17755
|
"name": "extraJars",
|
|
17772
17756
|
"optional": true,
|
|
@@ -17790,7 +17774,7 @@
|
|
|
17790
17774
|
"immutable": true,
|
|
17791
17775
|
"locationInModule": {
|
|
17792
17776
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17793
|
-
"line":
|
|
17777
|
+
"line": 55
|
|
17794
17778
|
},
|
|
17795
17779
|
"name": "extraJarsFirst",
|
|
17796
17780
|
"optional": true,
|
|
@@ -17808,7 +17792,7 @@
|
|
|
17808
17792
|
"immutable": true,
|
|
17809
17793
|
"locationInModule": {
|
|
17810
17794
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17811
|
-
"line":
|
|
17795
|
+
"line": 30
|
|
17812
17796
|
},
|
|
17813
17797
|
"name": "extraPythonFiles",
|
|
17814
17798
|
"optional": true,
|
|
@@ -17832,7 +17816,7 @@
|
|
|
17832
17816
|
"immutable": true,
|
|
17833
17817
|
"locationInModule": {
|
|
17834
17818
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17835
|
-
"line":
|
|
17819
|
+
"line": 67
|
|
17836
17820
|
},
|
|
17837
17821
|
"name": "jobRunQueuingEnabled",
|
|
17838
17822
|
"optional": true,
|
|
@@ -17851,7 +17835,7 @@
|
|
|
17851
17835
|
"immutable": true,
|
|
17852
17836
|
"locationInModule": {
|
|
17853
17837
|
"filename": "lib/jobs/pyspark-etl-job.ts",
|
|
17854
|
-
"line":
|
|
17838
|
+
"line": 22
|
|
17855
17839
|
},
|
|
17856
17840
|
"name": "notifyDelayAfter",
|
|
17857
17841
|
"optional": true,
|
|
@@ -17866,7 +17850,7 @@
|
|
|
17866
17850
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
17867
17851
|
"base": "@aws-cdk/aws-glue-alpha.SparkJob",
|
|
17868
17852
|
"docs": {
|
|
17869
|
-
"remarks": "Flex jobs supports Python and Scala language.\nThe flexible execution class is appropriate for non-urgent jobs such as\npre-production jobs, testing, and one-time data loads.\nFlexible job runs are supported for jobs using AWS Glue version 3.0 or later and G.1X or\nG.2X worker types but will default to the latest version of Glue (currently Glue 3.0.)\n\nSimilar to ETL, we’ll enable these features:
|
|
17853
|
+
"remarks": "Flex jobs supports Python and Scala language.\nThe flexible execution class is appropriate for non-urgent jobs such as\npre-production jobs, testing, and one-time data loads.\nFlexible job runs are supported for jobs using AWS Glue version 3.0 or later and G.1X or\nG.2X worker types but will default to the latest version of Glue (currently Glue 3.0.)\n\nSimilar to ETL, we’ll enable these features: --enable-metrics,\n--enable-continuous-cloudwatch-log. The Spark UI (--enable-spark-ui) is off by\ndefault; enable it by setting the `sparkUI` prop.",
|
|
17870
17854
|
"stability": "experimental",
|
|
17871
17855
|
"summary": "Flex Jobs class.",
|
|
17872
17856
|
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkFlexEtlJob(stack, 'ImportedJob', { role, script });",
|
|
@@ -17882,7 +17866,7 @@
|
|
|
17882
17866
|
},
|
|
17883
17867
|
"locationInModule": {
|
|
17884
17868
|
"filename": "lib/jobs/pyspark-flex-etl-job.ts",
|
|
17885
|
-
"line":
|
|
17869
|
+
"line": 79
|
|
17886
17870
|
},
|
|
17887
17871
|
"parameters": [
|
|
17888
17872
|
{
|
|
@@ -17908,7 +17892,7 @@
|
|
|
17908
17892
|
"kind": "class",
|
|
17909
17893
|
"locationInModule": {
|
|
17910
17894
|
"filename": "lib/jobs/pyspark-flex-etl-job.ts",
|
|
17911
|
-
"line":
|
|
17895
|
+
"line": 70
|
|
17912
17896
|
},
|
|
17913
17897
|
"name": "PySparkFlexEtlJob",
|
|
17914
17898
|
"properties": [
|
|
@@ -17921,7 +17905,7 @@
|
|
|
17921
17905
|
"immutable": true,
|
|
17922
17906
|
"locationInModule": {
|
|
17923
17907
|
"filename": "lib/jobs/pyspark-flex-etl-job.ts",
|
|
17924
|
-
"line":
|
|
17908
|
+
"line": 73
|
|
17925
17909
|
},
|
|
17926
17910
|
"name": "PROPERTY_INJECTION_ID",
|
|
17927
17911
|
"static": true,
|
|
@@ -17937,7 +17921,7 @@
|
|
|
17937
17921
|
"immutable": true,
|
|
17938
17922
|
"locationInModule": {
|
|
17939
17923
|
"filename": "lib/jobs/pyspark-flex-etl-job.ts",
|
|
17940
|
-
"line":
|
|
17924
|
+
"line": 116
|
|
17941
17925
|
},
|
|
17942
17926
|
"name": "jobArn",
|
|
17943
17927
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -17953,7 +17937,7 @@
|
|
|
17953
17937
|
"immutable": true,
|
|
17954
17938
|
"locationInModule": {
|
|
17955
17939
|
"filename": "lib/jobs/pyspark-flex-etl-job.ts",
|
|
17956
|
-
"line":
|
|
17940
|
+
"line": 121
|
|
17957
17941
|
},
|
|
17958
17942
|
"name": "jobName",
|
|
17959
17943
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -18101,7 +18085,7 @@
|
|
|
18101
18085
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
18102
18086
|
"base": "@aws-cdk/aws-glue-alpha.SparkJob",
|
|
18103
18087
|
"docs": {
|
|
18104
|
-
"remarks": "A Streaming job is similar to an ETL job, except that it performs ETL on data streams\nusing the Apache Spark Structured Streaming framework.\nThese jobs will default to use Python 3.9.\n\nSimilar to ETL jobs, streaming job supports Scala and Python languages. Similar to ETL,\nit supports G1 and G2 worker type and 2.0, 3.0 and 4.0 version. We’ll default to G2 worker\nand 4.0 version for streaming jobs which developers can override.\nWe will enable
|
|
18088
|
+
"remarks": "A Streaming job is similar to an ETL job, except that it performs ETL on data streams\nusing the Apache Spark Structured Streaming framework.\nThese jobs will default to use Python 3.9.\n\nSimilar to ETL jobs, streaming job supports Scala and Python languages. Similar to ETL,\nit supports G1 and G2 worker type and 2.0, 3.0 and 4.0 version. We’ll default to G2 worker\nand 4.0 version for streaming jobs which developers can override.\nWe will enable --enable-metrics, --enable-continuous-cloudwatch-log. The Spark UI\n(--enable-spark-ui) is off by default; enable it by setting the `sparkUI` prop.",
|
|
18105
18089
|
"stability": "experimental",
|
|
18106
18090
|
"summary": "Python Spark Streaming Jobs class.",
|
|
18107
18091
|
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkStreamingJob(stack, 'ImportedJob', { role, script });",
|
|
@@ -18117,7 +18101,7 @@
|
|
|
18117
18101
|
},
|
|
18118
18102
|
"locationInModule": {
|
|
18119
18103
|
"filename": "lib/jobs/pyspark-streaming-job.ts",
|
|
18120
|
-
"line":
|
|
18104
|
+
"line": 83
|
|
18121
18105
|
},
|
|
18122
18106
|
"parameters": [
|
|
18123
18107
|
{
|
|
@@ -18143,7 +18127,7 @@
|
|
|
18143
18127
|
"kind": "class",
|
|
18144
18128
|
"locationInModule": {
|
|
18145
18129
|
"filename": "lib/jobs/pyspark-streaming-job.ts",
|
|
18146
|
-
"line":
|
|
18130
|
+
"line": 74
|
|
18147
18131
|
},
|
|
18148
18132
|
"name": "PySparkStreamingJob",
|
|
18149
18133
|
"properties": [
|
|
@@ -18156,7 +18140,7 @@
|
|
|
18156
18140
|
"immutable": true,
|
|
18157
18141
|
"locationInModule": {
|
|
18158
18142
|
"filename": "lib/jobs/pyspark-streaming-job.ts",
|
|
18159
|
-
"line":
|
|
18143
|
+
"line": 77
|
|
18160
18144
|
},
|
|
18161
18145
|
"name": "PROPERTY_INJECTION_ID",
|
|
18162
18146
|
"static": true,
|
|
@@ -18172,7 +18156,7 @@
|
|
|
18172
18156
|
"immutable": true,
|
|
18173
18157
|
"locationInModule": {
|
|
18174
18158
|
"filename": "lib/jobs/pyspark-streaming-job.ts",
|
|
18175
|
-
"line":
|
|
18159
|
+
"line": 117
|
|
18176
18160
|
},
|
|
18177
18161
|
"name": "jobArn",
|
|
18178
18162
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -18188,7 +18172,7 @@
|
|
|
18188
18172
|
"immutable": true,
|
|
18189
18173
|
"locationInModule": {
|
|
18190
18174
|
"filename": "lib/jobs/pyspark-streaming-job.ts",
|
|
18191
|
-
"line":
|
|
18175
|
+
"line": 122
|
|
18192
18176
|
},
|
|
18193
18177
|
"name": "jobName",
|
|
18194
18178
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -18576,7 +18560,7 @@
|
|
|
18576
18560
|
"docs": {
|
|
18577
18561
|
"stability": "experimental",
|
|
18578
18562
|
"summary": "Python version.",
|
|
18579
|
-
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\ndeclare const extraPythonFile: glue.Code;\nnew glue.PythonShellJob(stack, 'PythonShellJob', {\n jobName: 'PythonShellJobCustomName',\n description: 'This is a description',\n pythonVersion: glue.PythonVersion.
|
|
18563
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\ndeclare const extraPythonFile: glue.Code;\nnew glue.PythonShellJob(stack, 'PythonShellJob', {\n jobName: 'PythonShellJobCustomName',\n description: 'This is a description',\n pythonVersion: glue.PythonVersion.THREE_NINE,\n maxCapacity: glue.MaxCapacity.DPU_1,\n role,\n script,\n extraPythonFiles: [extraPythonFile],\n glueVersion: glue.GlueVersion.V3_0,\n continuousLogging: { enabled: false },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});",
|
|
18580
18564
|
"custom": {
|
|
18581
18565
|
"exampleMetadata": "infused"
|
|
18582
18566
|
}
|
|
@@ -18621,7 +18605,7 @@
|
|
|
18621
18605
|
"remarks": "Glue Ray jobs use worker type Z.2X and Glue version 4.0.\nThese are not overrideable since these are the only configuration that\nGlue Ray jobs currently support. The runtime defaults to Ray2.4 and min\nworkers defaults to 3.",
|
|
18622
18606
|
"stability": "deprecated",
|
|
18623
18607
|
"summary": "Ray Jobs class.",
|
|
18624
|
-
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\n\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst rayJob = new glue_alpha.RayJob(this, 'MyRayJob', {\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n
|
|
18608
|
+
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\n\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst rayJob = new glue_alpha.RayJob(this, 'MyRayJob', {\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n glueVersion: glue_alpha.GlueVersion.V0_9,\n jobName: 'jobName',\n jobRunQueuingEnabled: false,\n maxConcurrentRuns: 123,\n maxRetries: 123,\n numberOfWorkers: 123,\n runtime: glue_alpha.Runtime.RAY_TWO_FOUR,\n securityConfiguration: securityConfiguration,\n tags: {\n tagsKey: 'tags',\n },\n timeout: cdk.Duration.minutes(30),\n});",
|
|
18625
18609
|
"custom": {
|
|
18626
18610
|
"exampleMetadata": "fixture=_generated"
|
|
18627
18611
|
}
|
|
@@ -18634,7 +18618,7 @@
|
|
|
18634
18618
|
},
|
|
18635
18619
|
"locationInModule": {
|
|
18636
18620
|
"filename": "lib/jobs/ray-job.ts",
|
|
18637
|
-
"line":
|
|
18621
|
+
"line": 89
|
|
18638
18622
|
},
|
|
18639
18623
|
"parameters": [
|
|
18640
18624
|
{
|
|
@@ -18660,7 +18644,7 @@
|
|
|
18660
18644
|
"kind": "class",
|
|
18661
18645
|
"locationInModule": {
|
|
18662
18646
|
"filename": "lib/jobs/ray-job.ts",
|
|
18663
|
-
"line":
|
|
18647
|
+
"line": 78
|
|
18664
18648
|
},
|
|
18665
18649
|
"name": "RayJob",
|
|
18666
18650
|
"properties": [
|
|
@@ -18673,7 +18657,7 @@
|
|
|
18673
18657
|
"immutable": true,
|
|
18674
18658
|
"locationInModule": {
|
|
18675
18659
|
"filename": "lib/jobs/ray-job.ts",
|
|
18676
|
-
"line":
|
|
18660
|
+
"line": 81
|
|
18677
18661
|
},
|
|
18678
18662
|
"name": "PROPERTY_INJECTION_ID",
|
|
18679
18663
|
"static": true,
|
|
@@ -18689,7 +18673,7 @@
|
|
|
18689
18673
|
"immutable": true,
|
|
18690
18674
|
"locationInModule": {
|
|
18691
18675
|
"filename": "lib/jobs/ray-job.ts",
|
|
18692
|
-
"line":
|
|
18676
|
+
"line": 83
|
|
18693
18677
|
},
|
|
18694
18678
|
"name": "grantPrincipal",
|
|
18695
18679
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -18705,7 +18689,7 @@
|
|
|
18705
18689
|
"immutable": true,
|
|
18706
18690
|
"locationInModule": {
|
|
18707
18691
|
"filename": "lib/jobs/ray-job.ts",
|
|
18708
|
-
"line":
|
|
18692
|
+
"line": 138
|
|
18709
18693
|
},
|
|
18710
18694
|
"name": "jobArn",
|
|
18711
18695
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -18721,7 +18705,7 @@
|
|
|
18721
18705
|
"immutable": true,
|
|
18722
18706
|
"locationInModule": {
|
|
18723
18707
|
"filename": "lib/jobs/ray-job.ts",
|
|
18724
|
-
"line":
|
|
18708
|
+
"line": 143
|
|
18725
18709
|
},
|
|
18726
18710
|
"name": "jobName",
|
|
18727
18711
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -18737,7 +18721,7 @@
|
|
|
18737
18721
|
"immutable": true,
|
|
18738
18722
|
"locationInModule": {
|
|
18739
18723
|
"filename": "lib/jobs/ray-job.ts",
|
|
18740
|
-
"line":
|
|
18724
|
+
"line": 82
|
|
18741
18725
|
},
|
|
18742
18726
|
"name": "role",
|
|
18743
18727
|
"overrides": "@aws-cdk/aws-glue-alpha.Job",
|
|
@@ -18755,7 +18739,7 @@
|
|
|
18755
18739
|
"deprecated": "AWS Glue for Ray is closed to new customers as of April 30, 2026.\nMigrate to Amazon EKS with KubeRay Operator. See\nhttps://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html",
|
|
18756
18740
|
"stability": "deprecated",
|
|
18757
18741
|
"summary": "Properties for creating a Ray Glue job.",
|
|
18758
|
-
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\n\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst rayJobProps: glue_alpha.RayJobProps = {\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n
|
|
18742
|
+
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\n\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst rayJobProps: glue_alpha.RayJobProps = {\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n glueVersion: glue_alpha.GlueVersion.V0_9,\n jobName: 'jobName',\n jobRunQueuingEnabled: false,\n maxConcurrentRuns: 123,\n maxRetries: 123,\n numberOfWorkers: 123,\n runtime: glue_alpha.Runtime.RAY_TWO_FOUR,\n securityConfiguration: securityConfiguration,\n tags: {\n tagsKey: 'tags',\n },\n timeout: cdk.Duration.minutes(30),\n};",
|
|
18759
18743
|
"custom": {
|
|
18760
18744
|
"exampleMetadata": "fixture=_generated"
|
|
18761
18745
|
}
|
|
@@ -18767,7 +18751,7 @@
|
|
|
18767
18751
|
"kind": "interface",
|
|
18768
18752
|
"locationInModule": {
|
|
18769
18753
|
"filename": "lib/jobs/ray-job.ts",
|
|
18770
|
-
"line":
|
|
18754
|
+
"line": 18
|
|
18771
18755
|
},
|
|
18772
18756
|
"name": "RayJobProps",
|
|
18773
18757
|
"properties": [
|
|
@@ -18782,7 +18766,7 @@
|
|
|
18782
18766
|
"immutable": true,
|
|
18783
18767
|
"locationInModule": {
|
|
18784
18768
|
"filename": "lib/jobs/ray-job.ts",
|
|
18785
|
-
"line":
|
|
18769
|
+
"line": 54
|
|
18786
18770
|
},
|
|
18787
18771
|
"name": "enableMetrics",
|
|
18788
18772
|
"optional": true,
|
|
@@ -18801,7 +18785,7 @@
|
|
|
18801
18785
|
"immutable": true,
|
|
18802
18786
|
"locationInModule": {
|
|
18803
18787
|
"filename": "lib/jobs/ray-job.ts",
|
|
18804
|
-
"line":
|
|
18788
|
+
"line": 63
|
|
18805
18789
|
},
|
|
18806
18790
|
"name": "enableObservabilityMetrics",
|
|
18807
18791
|
"optional": true,
|
|
@@ -18820,7 +18804,7 @@
|
|
|
18820
18804
|
"immutable": true,
|
|
18821
18805
|
"locationInModule": {
|
|
18822
18806
|
"filename": "lib/jobs/ray-job.ts",
|
|
18823
|
-
"line":
|
|
18807
|
+
"line": 45
|
|
18824
18808
|
},
|
|
18825
18809
|
"name": "jobRunQueuingEnabled",
|
|
18826
18810
|
"optional": true,
|
|
@@ -18828,6 +18812,25 @@
|
|
|
18828
18812
|
"primitive": "boolean"
|
|
18829
18813
|
}
|
|
18830
18814
|
},
|
|
18815
|
+
{
|
|
18816
|
+
"abstract": true,
|
|
18817
|
+
"docs": {
|
|
18818
|
+
"default": "3",
|
|
18819
|
+
"remarks": "Ray jobs only support the Z.2X worker type, so the worker type is not configurable.",
|
|
18820
|
+
"stability": "deprecated",
|
|
18821
|
+
"summary": "The number of workers allocated when a job runs."
|
|
18822
|
+
},
|
|
18823
|
+
"immutable": true,
|
|
18824
|
+
"locationInModule": {
|
|
18825
|
+
"filename": "lib/jobs/ray-job.ts",
|
|
18826
|
+
"line": 33
|
|
18827
|
+
},
|
|
18828
|
+
"name": "numberOfWorkers",
|
|
18829
|
+
"optional": true,
|
|
18830
|
+
"type": {
|
|
18831
|
+
"primitive": "number"
|
|
18832
|
+
}
|
|
18833
|
+
},
|
|
18831
18834
|
{
|
|
18832
18835
|
"abstract": true,
|
|
18833
18836
|
"docs": {
|
|
@@ -18838,7 +18841,7 @@
|
|
|
18838
18841
|
"immutable": true,
|
|
18839
18842
|
"locationInModule": {
|
|
18840
18843
|
"filename": "lib/jobs/ray-job.ts",
|
|
18841
|
-
"line":
|
|
18844
|
+
"line": 24
|
|
18842
18845
|
},
|
|
18843
18846
|
"name": "runtime",
|
|
18844
18847
|
"optional": true,
|
|
@@ -18952,58 +18955,73 @@
|
|
|
18952
18955
|
},
|
|
18953
18956
|
"@aws-cdk/aws-glue-alpha.S3Encryption": {
|
|
18954
18957
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
18955
|
-
"datatype": true,
|
|
18956
18958
|
"docs": {
|
|
18959
|
+
"remarks": "Use {@link S3Encryption.s3Managed} for SSE-S3 or {@link S3Encryption.kms} for\nSSE-KMS. Because these are separate factories, a KMS key can never be paired\nwith S3-managed encryption.",
|
|
18957
18960
|
"stability": "experimental",
|
|
18958
|
-
"summary": "S3 encryption configuration
|
|
18959
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption:
|
|
18961
|
+
"summary": "S3 encryption configuration for a `SecurityConfiguration`.",
|
|
18962
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: glue.CloudWatchEncryption.kms(),\n jobBookmarksEncryption: glue.JobBookmarksEncryption.clientSideKms(),\n s3Encryption: glue.S3Encryption.kms(),\n});",
|
|
18960
18963
|
"custom": {
|
|
18961
18964
|
"exampleMetadata": "infused"
|
|
18962
18965
|
}
|
|
18963
18966
|
},
|
|
18964
18967
|
"fqn": "@aws-cdk/aws-glue-alpha.S3Encryption",
|
|
18965
|
-
"kind": "
|
|
18968
|
+
"kind": "class",
|
|
18966
18969
|
"locationInModule": {
|
|
18967
18970
|
"filename": "lib/security-configuration.ts",
|
|
18968
|
-
"line":
|
|
18971
|
+
"line": 52
|
|
18969
18972
|
},
|
|
18970
|
-
"
|
|
18971
|
-
"properties": [
|
|
18973
|
+
"methods": [
|
|
18972
18974
|
{
|
|
18973
|
-
"abstract": true,
|
|
18974
18975
|
"docs": {
|
|
18976
|
+
"see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html",
|
|
18975
18977
|
"stability": "experimental",
|
|
18976
|
-
"summary": "
|
|
18978
|
+
"summary": "Server-side encryption (SSE) with an AWS KMS key managed by the account owner."
|
|
18977
18979
|
},
|
|
18978
|
-
"immutable": true,
|
|
18979
18980
|
"locationInModule": {
|
|
18980
18981
|
"filename": "lib/security-configuration.ts",
|
|
18981
|
-
"line":
|
|
18982
|
+
"line": 68
|
|
18982
18983
|
},
|
|
18983
|
-
"name": "
|
|
18984
|
-
"
|
|
18985
|
-
|
|
18986
|
-
|
|
18984
|
+
"name": "kms",
|
|
18985
|
+
"parameters": [
|
|
18986
|
+
{
|
|
18987
|
+
"docs": {
|
|
18988
|
+
"remarks": "A key is created if one is not provided.",
|
|
18989
|
+
"summary": "the KMS key used to encrypt the data."
|
|
18990
|
+
},
|
|
18991
|
+
"name": "kmsKey",
|
|
18992
|
+
"optional": true,
|
|
18993
|
+
"type": {
|
|
18994
|
+
"fqn": "aws-cdk-lib.interfaces.aws_kms.IKeyRef"
|
|
18995
|
+
}
|
|
18996
|
+
}
|
|
18997
|
+
],
|
|
18998
|
+
"returns": {
|
|
18999
|
+
"type": {
|
|
19000
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3Encryption"
|
|
19001
|
+
}
|
|
19002
|
+
},
|
|
19003
|
+
"static": true
|
|
18987
19004
|
},
|
|
18988
19005
|
{
|
|
18989
|
-
"abstract": true,
|
|
18990
19006
|
"docs": {
|
|
18991
|
-
"
|
|
19007
|
+
"see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html",
|
|
18992
19008
|
"stability": "experimental",
|
|
18993
|
-
"summary": "
|
|
19009
|
+
"summary": "Server-side encryption (SSE) with an Amazon S3-managed key."
|
|
18994
19010
|
},
|
|
18995
|
-
"immutable": true,
|
|
18996
19011
|
"locationInModule": {
|
|
18997
19012
|
"filename": "lib/security-configuration.ts",
|
|
18998
|
-
"line":
|
|
19013
|
+
"line": 58
|
|
18999
19014
|
},
|
|
19000
|
-
"name": "
|
|
19001
|
-
"
|
|
19002
|
-
|
|
19003
|
-
|
|
19004
|
-
|
|
19015
|
+
"name": "s3Managed",
|
|
19016
|
+
"returns": {
|
|
19017
|
+
"type": {
|
|
19018
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3Encryption"
|
|
19019
|
+
}
|
|
19020
|
+
},
|
|
19021
|
+
"static": true
|
|
19005
19022
|
}
|
|
19006
19023
|
],
|
|
19024
|
+
"name": "S3Encryption",
|
|
19007
19025
|
"symbolId": "lib/security-configuration:S3Encryption"
|
|
19008
19026
|
},
|
|
19009
19027
|
"@aws-cdk/aws-glue-alpha.S3EncryptionMode": {
|
|
@@ -19011,11 +19029,7 @@
|
|
|
19011
19029
|
"docs": {
|
|
19012
19030
|
"see": "https://docs.aws.amazon.com/glue/latest/webapi/API_S3Encryption.html#Glue-Type-S3Encryption-S3EncryptionMode",
|
|
19013
19031
|
"stability": "experimental",
|
|
19014
|
-
"summary": "Encryption mode for S3."
|
|
19015
|
-
"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});",
|
|
19016
|
-
"custom": {
|
|
19017
|
-
"exampleMetadata": "infused"
|
|
19018
|
-
}
|
|
19032
|
+
"summary": "Encryption mode for S3."
|
|
19019
19033
|
},
|
|
19020
19034
|
"fqn": "@aws-cdk/aws-glue-alpha.S3EncryptionMode",
|
|
19021
19035
|
"kind": "enum",
|
|
@@ -19063,7 +19077,7 @@
|
|
|
19063
19077
|
},
|
|
19064
19078
|
"locationInModule": {
|
|
19065
19079
|
"filename": "lib/s3-table.ts",
|
|
19066
|
-
"line":
|
|
19080
|
+
"line": 204
|
|
19067
19081
|
},
|
|
19068
19082
|
"parameters": [
|
|
19069
19083
|
{
|
|
@@ -19089,7 +19103,7 @@
|
|
|
19089
19103
|
"kind": "class",
|
|
19090
19104
|
"locationInModule": {
|
|
19091
19105
|
"filename": "lib/s3-table.ts",
|
|
19092
|
-
"line":
|
|
19106
|
+
"line": 165
|
|
19093
19107
|
},
|
|
19094
19108
|
"methods": [
|
|
19095
19109
|
{
|
|
@@ -19098,7 +19112,7 @@
|
|
|
19098
19112
|
},
|
|
19099
19113
|
"locationInModule": {
|
|
19100
19114
|
"filename": "lib/s3-table.ts",
|
|
19101
|
-
"line":
|
|
19115
|
+
"line": 333
|
|
19102
19116
|
},
|
|
19103
19117
|
"name": "generateS3PrefixForGrant",
|
|
19104
19118
|
"protected": true,
|
|
@@ -19116,7 +19130,7 @@
|
|
|
19116
19130
|
},
|
|
19117
19131
|
"locationInModule": {
|
|
19118
19132
|
"filename": "lib/s3-table.ts",
|
|
19119
|
-
"line":
|
|
19133
|
+
"line": 297
|
|
19120
19134
|
},
|
|
19121
19135
|
"name": "grantRead",
|
|
19122
19136
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -19145,7 +19159,7 @@
|
|
|
19145
19159
|
},
|
|
19146
19160
|
"locationInModule": {
|
|
19147
19161
|
"filename": "lib/s3-table.ts",
|
|
19148
|
-
"line":
|
|
19162
|
+
"line": 325
|
|
19149
19163
|
},
|
|
19150
19164
|
"name": "grantReadWrite",
|
|
19151
19165
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -19174,7 +19188,7 @@
|
|
|
19174
19188
|
},
|
|
19175
19189
|
"locationInModule": {
|
|
19176
19190
|
"filename": "lib/s3-table.ts",
|
|
19177
|
-
"line":
|
|
19191
|
+
"line": 311
|
|
19178
19192
|
},
|
|
19179
19193
|
"name": "grantWrite",
|
|
19180
19194
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -19207,7 +19221,7 @@
|
|
|
19207
19221
|
"immutable": true,
|
|
19208
19222
|
"locationInModule": {
|
|
19209
19223
|
"filename": "lib/s3-table.ts",
|
|
19210
|
-
"line":
|
|
19224
|
+
"line": 168
|
|
19211
19225
|
},
|
|
19212
19226
|
"name": "PROPERTY_INJECTION_ID",
|
|
19213
19227
|
"static": true,
|
|
@@ -19223,28 +19237,13 @@
|
|
|
19223
19237
|
"immutable": true,
|
|
19224
19238
|
"locationInModule": {
|
|
19225
19239
|
"filename": "lib/s3-table.ts",
|
|
19226
|
-
"line":
|
|
19240
|
+
"line": 175
|
|
19227
19241
|
},
|
|
19228
19242
|
"name": "bucket",
|
|
19229
19243
|
"type": {
|
|
19230
19244
|
"fqn": "aws-cdk-lib.aws_s3.IBucket"
|
|
19231
19245
|
}
|
|
19232
19246
|
},
|
|
19233
|
-
{
|
|
19234
|
-
"docs": {
|
|
19235
|
-
"stability": "experimental",
|
|
19236
|
-
"summary": "The type of encryption enabled for the table."
|
|
19237
|
-
},
|
|
19238
|
-
"immutable": true,
|
|
19239
|
-
"locationInModule": {
|
|
19240
|
-
"filename": "lib/s3-table.ts",
|
|
19241
|
-
"line": 112
|
|
19242
|
-
},
|
|
19243
|
-
"name": "encryption",
|
|
19244
|
-
"type": {
|
|
19245
|
-
"fqn": "@aws-cdk/aws-glue-alpha.TableEncryption"
|
|
19246
|
-
}
|
|
19247
|
-
},
|
|
19248
19247
|
{
|
|
19249
19248
|
"docs": {
|
|
19250
19249
|
"stability": "experimental",
|
|
@@ -19253,7 +19252,7 @@
|
|
|
19253
19252
|
"immutable": true,
|
|
19254
19253
|
"locationInModule": {
|
|
19255
19254
|
"filename": "lib/s3-table.ts",
|
|
19256
|
-
"line":
|
|
19255
|
+
"line": 180
|
|
19257
19256
|
},
|
|
19258
19257
|
"name": "s3Prefix",
|
|
19259
19258
|
"type": {
|
|
@@ -19268,7 +19267,7 @@
|
|
|
19268
19267
|
"immutable": true,
|
|
19269
19268
|
"locationInModule": {
|
|
19270
19269
|
"filename": "lib/s3-table.ts",
|
|
19271
|
-
"line":
|
|
19270
|
+
"line": 282
|
|
19272
19271
|
},
|
|
19273
19272
|
"name": "tableArn",
|
|
19274
19273
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -19284,7 +19283,7 @@
|
|
|
19284
19283
|
"immutable": true,
|
|
19285
19284
|
"locationInModule": {
|
|
19286
19285
|
"filename": "lib/s3-table.ts",
|
|
19287
|
-
"line":
|
|
19286
|
+
"line": 274
|
|
19288
19287
|
},
|
|
19289
19288
|
"name": "tableName",
|
|
19290
19289
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -19299,7 +19298,7 @@
|
|
|
19299
19298
|
"immutable": true,
|
|
19300
19299
|
"locationInModule": {
|
|
19301
19300
|
"filename": "lib/s3-table.ts",
|
|
19302
|
-
"line":
|
|
19301
|
+
"line": 195
|
|
19303
19302
|
},
|
|
19304
19303
|
"name": "tableResource",
|
|
19305
19304
|
"overrides": "@aws-cdk/aws-glue-alpha.TableBase",
|
|
@@ -19310,16 +19309,16 @@
|
|
|
19310
19309
|
},
|
|
19311
19310
|
{
|
|
19312
19311
|
"docs": {
|
|
19313
|
-
"remarks": "
|
|
19312
|
+
"remarks": "For server-side (bucket) encryption, read `bucket.encryptionKey` instead.",
|
|
19314
19313
|
"stability": "experimental",
|
|
19315
|
-
"summary": "The KMS key used
|
|
19314
|
+
"summary": "The KMS key used for client-side encryption of the table's data, if `clientSideEncryption` was configured. Otherwise, `undefined`."
|
|
19316
19315
|
},
|
|
19317
19316
|
"immutable": true,
|
|
19318
19317
|
"locationInModule": {
|
|
19319
19318
|
"filename": "lib/s3-table.ts",
|
|
19320
|
-
"line":
|
|
19319
|
+
"line": 188
|
|
19321
19320
|
},
|
|
19322
|
-
"name": "
|
|
19321
|
+
"name": "clientSideEncryptionKey",
|
|
19323
19322
|
"optional": true,
|
|
19324
19323
|
"type": {
|
|
19325
19324
|
"fqn": "aws-cdk-lib.aws_kms.IKey"
|
|
@@ -19333,7 +19332,7 @@
|
|
|
19333
19332
|
"immutable": true,
|
|
19334
19333
|
"locationInModule": {
|
|
19335
19334
|
"filename": "lib/s3-table.ts",
|
|
19336
|
-
"line":
|
|
19335
|
+
"line": 193
|
|
19337
19336
|
},
|
|
19338
19337
|
"name": "partitionIndexes",
|
|
19339
19338
|
"optional": true,
|
|
@@ -19350,6 +19349,92 @@
|
|
|
19350
19349
|
],
|
|
19351
19350
|
"symbolId": "lib/s3-table:S3Table"
|
|
19352
19351
|
},
|
|
19352
|
+
"@aws-cdk/aws-glue-alpha.S3TableEncryption": {
|
|
19353
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
19354
|
+
"docs": {
|
|
19355
|
+
"remarks": "Applies only when the table manages its own bucket (via\n`S3TableStorage.managedBucket`). An existing bucket keeps whatever encryption\nit was created with.",
|
|
19356
|
+
"stability": "experimental",
|
|
19357
|
+
"summary": "Server-side encryption for the S3 bucket that a managed `S3Table` creates.",
|
|
19358
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n storage: glue.S3TableStorage.managedBucket(glue.S3TableEncryption.s3Managed()),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
|
|
19359
|
+
"custom": {
|
|
19360
|
+
"exampleMetadata": "infused"
|
|
19361
|
+
}
|
|
19362
|
+
},
|
|
19363
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3TableEncryption",
|
|
19364
|
+
"kind": "class",
|
|
19365
|
+
"locationInModule": {
|
|
19366
|
+
"filename": "lib/s3-table.ts",
|
|
19367
|
+
"line": 21
|
|
19368
|
+
},
|
|
19369
|
+
"methods": [
|
|
19370
|
+
{
|
|
19371
|
+
"docs": {
|
|
19372
|
+
"stability": "experimental",
|
|
19373
|
+
"summary": "Server-side encryption (SSE-KMS) with an AWS KMS key managed by the account owner."
|
|
19374
|
+
},
|
|
19375
|
+
"locationInModule": {
|
|
19376
|
+
"filename": "lib/s3-table.ts",
|
|
19377
|
+
"line": 34
|
|
19378
|
+
},
|
|
19379
|
+
"name": "kms",
|
|
19380
|
+
"parameters": [
|
|
19381
|
+
{
|
|
19382
|
+
"docs": {
|
|
19383
|
+
"remarks": "A key is created if one is not provided.",
|
|
19384
|
+
"summary": "the KMS key used to encrypt the data."
|
|
19385
|
+
},
|
|
19386
|
+
"name": "key",
|
|
19387
|
+
"optional": true,
|
|
19388
|
+
"type": {
|
|
19389
|
+
"fqn": "aws-cdk-lib.aws_kms.IKey"
|
|
19390
|
+
}
|
|
19391
|
+
}
|
|
19392
|
+
],
|
|
19393
|
+
"returns": {
|
|
19394
|
+
"type": {
|
|
19395
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3TableEncryption"
|
|
19396
|
+
}
|
|
19397
|
+
},
|
|
19398
|
+
"static": true
|
|
19399
|
+
},
|
|
19400
|
+
{
|
|
19401
|
+
"docs": {
|
|
19402
|
+
"stability": "experimental",
|
|
19403
|
+
"summary": "Server-side encryption (SSE-KMS) with an AWS KMS key managed by the KMS service."
|
|
19404
|
+
},
|
|
19405
|
+
"locationInModule": {
|
|
19406
|
+
"filename": "lib/s3-table.ts",
|
|
19407
|
+
"line": 41
|
|
19408
|
+
},
|
|
19409
|
+
"name": "kmsManaged",
|
|
19410
|
+
"returns": {
|
|
19411
|
+
"type": {
|
|
19412
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3TableEncryption"
|
|
19413
|
+
}
|
|
19414
|
+
},
|
|
19415
|
+
"static": true
|
|
19416
|
+
},
|
|
19417
|
+
{
|
|
19418
|
+
"docs": {
|
|
19419
|
+
"stability": "experimental",
|
|
19420
|
+
"summary": "Server-side encryption (SSE-S3) with an Amazon S3-managed key."
|
|
19421
|
+
},
|
|
19422
|
+
"locationInModule": {
|
|
19423
|
+
"filename": "lib/s3-table.ts",
|
|
19424
|
+
"line": 25
|
|
19425
|
+
},
|
|
19426
|
+
"name": "s3Managed",
|
|
19427
|
+
"returns": {
|
|
19428
|
+
"type": {
|
|
19429
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3TableEncryption"
|
|
19430
|
+
}
|
|
19431
|
+
},
|
|
19432
|
+
"static": true
|
|
19433
|
+
}
|
|
19434
|
+
],
|
|
19435
|
+
"name": "S3TableEncryption",
|
|
19436
|
+
"symbolId": "lib/s3-table:S3TableEncryption"
|
|
19437
|
+
},
|
|
19353
19438
|
"@aws-cdk/aws-glue-alpha.S3TableProps": {
|
|
19354
19439
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
19355
19440
|
"datatype": true,
|
|
@@ -19367,87 +19452,149 @@
|
|
|
19367
19452
|
"kind": "interface",
|
|
19368
19453
|
"locationInModule": {
|
|
19369
19454
|
"filename": "lib/s3-table.ts",
|
|
19370
|
-
"line":
|
|
19455
|
+
"line": 130
|
|
19371
19456
|
},
|
|
19372
19457
|
"name": "S3TableProps",
|
|
19373
19458
|
"properties": [
|
|
19374
19459
|
{
|
|
19375
19460
|
"abstract": true,
|
|
19376
19461
|
"docs": {
|
|
19377
|
-
"default": "
|
|
19462
|
+
"default": "- no client-side encryption",
|
|
19463
|
+
"remarks": "Independent of the bucket's server-side encryption, and valid whether the\nbucket is managed or provided.",
|
|
19378
19464
|
"stability": "experimental",
|
|
19379
|
-
"summary": "
|
|
19465
|
+
"summary": "Client-side encryption (CSE-KMS) for the table's data."
|
|
19380
19466
|
},
|
|
19381
19467
|
"immutable": true,
|
|
19382
19468
|
"locationInModule": {
|
|
19383
19469
|
"filename": "lib/s3-table.ts",
|
|
19384
|
-
"line":
|
|
19470
|
+
"line": 158
|
|
19385
19471
|
},
|
|
19386
|
-
"name": "
|
|
19472
|
+
"name": "clientSideEncryption",
|
|
19387
19473
|
"optional": true,
|
|
19388
19474
|
"type": {
|
|
19389
|
-
"fqn": "aws-cdk-
|
|
19475
|
+
"fqn": "@aws-cdk/aws-glue-alpha.TableClientSideEncryption"
|
|
19390
19476
|
}
|
|
19391
19477
|
},
|
|
19392
19478
|
{
|
|
19393
19479
|
"abstract": true,
|
|
19394
19480
|
"docs": {
|
|
19395
|
-
"default": "
|
|
19396
|
-
"remarks": "
|
|
19481
|
+
"default": "- No prefix. The data will be stored under the root of the bucket.",
|
|
19482
|
+
"remarks": "When the table shares a bucket with other tables or consumers, set this so\nthat the `grant*` methods scope S3 access to this table's data. Without a\nprefix, those grants cover the entire bucket.",
|
|
19397
19483
|
"stability": "experimental",
|
|
19398
|
-
"summary": "
|
|
19484
|
+
"summary": "S3 prefix under which table objects are stored."
|
|
19399
19485
|
},
|
|
19400
19486
|
"immutable": true,
|
|
19401
19487
|
"locationInModule": {
|
|
19402
19488
|
"filename": "lib/s3-table.ts",
|
|
19403
|
-
"line":
|
|
19489
|
+
"line": 148
|
|
19404
19490
|
},
|
|
19405
|
-
"name": "
|
|
19491
|
+
"name": "s3Prefix",
|
|
19406
19492
|
"optional": true,
|
|
19407
19493
|
"type": {
|
|
19408
|
-
"
|
|
19494
|
+
"primitive": "string"
|
|
19409
19495
|
}
|
|
19410
19496
|
},
|
|
19411
19497
|
{
|
|
19412
19498
|
"abstract": true,
|
|
19413
19499
|
"docs": {
|
|
19414
|
-
"default": "
|
|
19415
|
-
"remarks": "The `encryption` property must be `SSE-KMS` or `CSE-KMS`.",
|
|
19500
|
+
"default": "- a managed bucket with S3-managed (SSE-S3) encryption",
|
|
19416
19501
|
"stability": "experimental",
|
|
19417
|
-
"summary": "
|
|
19502
|
+
"summary": "Where the table's data is stored: a bucket created and managed by the table, or an existing bucket you provide."
|
|
19418
19503
|
},
|
|
19419
19504
|
"immutable": true,
|
|
19420
19505
|
"locationInModule": {
|
|
19421
19506
|
"filename": "lib/s3-table.ts",
|
|
19422
|
-
"line":
|
|
19507
|
+
"line": 137
|
|
19423
19508
|
},
|
|
19424
|
-
"name": "
|
|
19509
|
+
"name": "storage",
|
|
19425
19510
|
"optional": true,
|
|
19426
19511
|
"type": {
|
|
19427
|
-
"fqn": "aws-cdk-
|
|
19512
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3TableStorage"
|
|
19428
19513
|
}
|
|
19514
|
+
}
|
|
19515
|
+
],
|
|
19516
|
+
"symbolId": "lib/s3-table:S3TableProps"
|
|
19517
|
+
},
|
|
19518
|
+
"@aws-cdk/aws-glue-alpha.S3TableStorage": {
|
|
19519
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
19520
|
+
"docs": {
|
|
19521
|
+
"remarks": "The two paths are mutually exclusive: a managed bucket may specify its\nserver-side encryption, while an existing bucket keeps its own encryption — so\nan encryption choice can never be paired with a bring-your-own bucket.",
|
|
19522
|
+
"stability": "experimental",
|
|
19523
|
+
"summary": "Where an `S3Table` stores its data.",
|
|
19524
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n storage: glue.S3TableStorage.managedBucket(glue.S3TableEncryption.s3Managed()),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
|
|
19525
|
+
"custom": {
|
|
19526
|
+
"exampleMetadata": "infused"
|
|
19527
|
+
}
|
|
19528
|
+
},
|
|
19529
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3TableStorage",
|
|
19530
|
+
"kind": "class",
|
|
19531
|
+
"locationInModule": {
|
|
19532
|
+
"filename": "lib/s3-table.ts",
|
|
19533
|
+
"line": 64
|
|
19534
|
+
},
|
|
19535
|
+
"methods": [
|
|
19536
|
+
{
|
|
19537
|
+
"docs": {
|
|
19538
|
+
"remarks": "The bucket can be one you don't own, imported with\n`Bucket.fromBucketArn()` or `Bucket.fromBucketAttributes()`. If that bucket\nis KMS-encrypted, import it with `Bucket.fromBucketAttributes()` and supply\nthe `encryptionKey` attribute. Otherwise, CDK has no reference to the key,\nwhich means that `S3Table.grantRead()`/`grantWrite()` will correctly grant\nS3 access but silently skip the KMS permissions on the key. As a consequence,\nat runtime, reads and writes will fail with access denied on the key.",
|
|
19539
|
+
"stability": "experimental",
|
|
19540
|
+
"summary": "Store the table's data in an existing bucket. CDK does not manage the bucket's encryption."
|
|
19541
|
+
},
|
|
19542
|
+
"locationInModule": {
|
|
19543
|
+
"filename": "lib/s3-table.ts",
|
|
19544
|
+
"line": 89
|
|
19545
|
+
},
|
|
19546
|
+
"name": "fromBucket",
|
|
19547
|
+
"parameters": [
|
|
19548
|
+
{
|
|
19549
|
+
"docs": {
|
|
19550
|
+
"summary": "the bucket that holds the table's data."
|
|
19551
|
+
},
|
|
19552
|
+
"name": "bucket",
|
|
19553
|
+
"type": {
|
|
19554
|
+
"fqn": "aws-cdk-lib.aws_s3.IBucket"
|
|
19555
|
+
}
|
|
19556
|
+
}
|
|
19557
|
+
],
|
|
19558
|
+
"returns": {
|
|
19559
|
+
"type": {
|
|
19560
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3TableStorage"
|
|
19561
|
+
}
|
|
19562
|
+
},
|
|
19563
|
+
"static": true
|
|
19429
19564
|
},
|
|
19430
19565
|
{
|
|
19431
|
-
"abstract": true,
|
|
19432
19566
|
"docs": {
|
|
19433
|
-
"default": "-
|
|
19434
|
-
"remarks": "When the table shares a bucket with other tables or consumers, set this so\nthat the `grant*` methods scope S3 access to this table's data. Without a\nprefix, those grants cover the entire bucket.",
|
|
19567
|
+
"default": "- S3-managed (SSE-S3) encryption",
|
|
19435
19568
|
"stability": "experimental",
|
|
19436
|
-
"summary": "
|
|
19569
|
+
"summary": "Store the table's data in a bucket created and managed by the table."
|
|
19437
19570
|
},
|
|
19438
|
-
"immutable": true,
|
|
19439
19571
|
"locationInModule": {
|
|
19440
19572
|
"filename": "lib/s3-table.ts",
|
|
19441
|
-
"line":
|
|
19573
|
+
"line": 71
|
|
19442
19574
|
},
|
|
19443
|
-
"name": "
|
|
19444
|
-
"
|
|
19445
|
-
|
|
19446
|
-
|
|
19447
|
-
|
|
19575
|
+
"name": "managedBucket",
|
|
19576
|
+
"parameters": [
|
|
19577
|
+
{
|
|
19578
|
+
"docs": {
|
|
19579
|
+
"summary": "the server-side encryption for the created bucket."
|
|
19580
|
+
},
|
|
19581
|
+
"name": "encryption",
|
|
19582
|
+
"optional": true,
|
|
19583
|
+
"type": {
|
|
19584
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3TableEncryption"
|
|
19585
|
+
}
|
|
19586
|
+
}
|
|
19587
|
+
],
|
|
19588
|
+
"returns": {
|
|
19589
|
+
"type": {
|
|
19590
|
+
"fqn": "@aws-cdk/aws-glue-alpha.S3TableStorage"
|
|
19591
|
+
}
|
|
19592
|
+
},
|
|
19593
|
+
"static": true
|
|
19448
19594
|
}
|
|
19449
19595
|
],
|
|
19450
|
-
"
|
|
19596
|
+
"name": "S3TableStorage",
|
|
19597
|
+
"symbolId": "lib/s3-table:S3TableStorage"
|
|
19451
19598
|
},
|
|
19452
19599
|
"@aws-cdk/aws-glue-alpha.ScalaSparkEtlJob": {
|
|
19453
19600
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
@@ -19456,7 +19603,7 @@
|
|
|
19456
19603
|
"remarks": "ETL jobs support pySpark and Scala languages, for which there are separate\nbut similar constructors. ETL jobs default to the G2 worker type, but you\ncan override this default with other supported worker type values\n(G1, G2, G4 and G8). ETL jobs defaults to Glue version 4.0, which you can\noverride to 3.0. The following ETL features are enabled by default:\n—enable-metrics, —enable-spark-ui, —enable-continuous-cloudwatch-log.\nYou can find more details about version, worker type and other features\nin Glue's public documentation.",
|
|
19457
19604
|
"stability": "experimental",
|
|
19458
19605
|
"summary": "Spark ETL Jobs class.",
|
|
19459
|
-
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkEtlJob = new glue_alpha.ScalaSparkEtlJob(this, 'MyScalaSparkEtlJob', {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n
|
|
19606
|
+
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkEtlJob = new glue_alpha.ScalaSparkEtlJob(this, 'MyScalaSparkEtlJob', {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n extraFiles: [code],\n extraJars: [code],\n extraJarsFirst: false,\n glueVersion: glue_alpha.GlueVersion.V0_9,\n jobName: 'jobName',\n jobRunQueuingEnabled: false,\n maxConcurrentRuns: 123,\n maxRetries: 123,\n notifyDelayAfter: cdk.Duration.minutes(30),\n securityConfiguration: securityConfiguration,\n sparkUI: {\n bucket: bucket,\n prefix: 'prefix',\n },\n tags: {\n tagsKey: 'tags',\n },\n timeout: cdk.Duration.minutes(30),\n workerConfiguration: {\n numberOfWorkers: 123,\n workerType: glue_alpha.WorkerType.STANDARD,\n },\n});",
|
|
19460
19607
|
"custom": {
|
|
19461
19608
|
"exampleMetadata": "fixture=_generated"
|
|
19462
19609
|
}
|
|
@@ -19469,7 +19616,7 @@
|
|
|
19469
19616
|
},
|
|
19470
19617
|
"locationInModule": {
|
|
19471
19618
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19472
|
-
"line":
|
|
19619
|
+
"line": 89
|
|
19473
19620
|
},
|
|
19474
19621
|
"parameters": [
|
|
19475
19622
|
{
|
|
@@ -19495,7 +19642,7 @@
|
|
|
19495
19642
|
"kind": "class",
|
|
19496
19643
|
"locationInModule": {
|
|
19497
19644
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19498
|
-
"line":
|
|
19645
|
+
"line": 80
|
|
19499
19646
|
},
|
|
19500
19647
|
"name": "ScalaSparkEtlJob",
|
|
19501
19648
|
"properties": [
|
|
@@ -19508,7 +19655,7 @@
|
|
|
19508
19655
|
"immutable": true,
|
|
19509
19656
|
"locationInModule": {
|
|
19510
19657
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19511
|
-
"line":
|
|
19658
|
+
"line": 83
|
|
19512
19659
|
},
|
|
19513
19660
|
"name": "PROPERTY_INJECTION_ID",
|
|
19514
19661
|
"static": true,
|
|
@@ -19524,7 +19671,7 @@
|
|
|
19524
19671
|
"immutable": true,
|
|
19525
19672
|
"locationInModule": {
|
|
19526
19673
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19527
|
-
"line":
|
|
19674
|
+
"line": 123
|
|
19528
19675
|
},
|
|
19529
19676
|
"name": "jobArn",
|
|
19530
19677
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -19540,7 +19687,7 @@
|
|
|
19540
19687
|
"immutable": true,
|
|
19541
19688
|
"locationInModule": {
|
|
19542
19689
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19543
|
-
"line":
|
|
19690
|
+
"line": 128
|
|
19544
19691
|
},
|
|
19545
19692
|
"name": "jobName",
|
|
19546
19693
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -19557,7 +19704,7 @@
|
|
|
19557
19704
|
"docs": {
|
|
19558
19705
|
"stability": "experimental",
|
|
19559
19706
|
"summary": "Properties for creating a Scala Spark ETL job.",
|
|
19560
|
-
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkEtlJobProps: glue_alpha.ScalaSparkEtlJobProps = {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n
|
|
19707
|
+
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkEtlJobProps: glue_alpha.ScalaSparkEtlJobProps = {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n extraFiles: [code],\n extraJars: [code],\n extraJarsFirst: false,\n glueVersion: glue_alpha.GlueVersion.V0_9,\n jobName: 'jobName',\n jobRunQueuingEnabled: false,\n maxConcurrentRuns: 123,\n maxRetries: 123,\n notifyDelayAfter: cdk.Duration.minutes(30),\n securityConfiguration: securityConfiguration,\n sparkUI: {\n bucket: bucket,\n prefix: 'prefix',\n },\n tags: {\n tagsKey: 'tags',\n },\n timeout: cdk.Duration.minutes(30),\n workerConfiguration: {\n numberOfWorkers: 123,\n workerType: glue_alpha.WorkerType.STANDARD,\n },\n};",
|
|
19561
19708
|
"custom": {
|
|
19562
19709
|
"exampleMetadata": "fixture=_generated"
|
|
19563
19710
|
}
|
|
@@ -19569,7 +19716,7 @@
|
|
|
19569
19716
|
"kind": "interface",
|
|
19570
19717
|
"locationInModule": {
|
|
19571
19718
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19572
|
-
"line":
|
|
19719
|
+
"line": 15
|
|
19573
19720
|
},
|
|
19574
19721
|
"name": "ScalaSparkEtlJobProps",
|
|
19575
19722
|
"properties": [
|
|
@@ -19582,7 +19729,7 @@
|
|
|
19582
19729
|
"immutable": true,
|
|
19583
19730
|
"locationInModule": {
|
|
19584
19731
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19585
|
-
"line":
|
|
19732
|
+
"line": 21
|
|
19586
19733
|
},
|
|
19587
19734
|
"name": "className",
|
|
19588
19735
|
"type": {
|
|
@@ -19600,7 +19747,7 @@
|
|
|
19600
19747
|
"immutable": true,
|
|
19601
19748
|
"locationInModule": {
|
|
19602
19749
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19603
|
-
"line":
|
|
19750
|
+
"line": 37
|
|
19604
19751
|
},
|
|
19605
19752
|
"name": "extraFiles",
|
|
19606
19753
|
"optional": true,
|
|
@@ -19623,7 +19770,7 @@
|
|
|
19623
19770
|
"immutable": true,
|
|
19624
19771
|
"locationInModule": {
|
|
19625
19772
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19626
|
-
"line":
|
|
19773
|
+
"line": 44
|
|
19627
19774
|
},
|
|
19628
19775
|
"name": "extraJars",
|
|
19629
19776
|
"optional": true,
|
|
@@ -19647,7 +19794,7 @@
|
|
|
19647
19794
|
"immutable": true,
|
|
19648
19795
|
"locationInModule": {
|
|
19649
19796
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19650
|
-
"line":
|
|
19797
|
+
"line": 53
|
|
19651
19798
|
},
|
|
19652
19799
|
"name": "extraJarsFirst",
|
|
19653
19800
|
"optional": true,
|
|
@@ -19666,7 +19813,7 @@
|
|
|
19666
19813
|
"immutable": true,
|
|
19667
19814
|
"locationInModule": {
|
|
19668
19815
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19669
|
-
"line":
|
|
19816
|
+
"line": 65
|
|
19670
19817
|
},
|
|
19671
19818
|
"name": "jobRunQueuingEnabled",
|
|
19672
19819
|
"optional": true,
|
|
@@ -19685,7 +19832,7 @@
|
|
|
19685
19832
|
"immutable": true,
|
|
19686
19833
|
"locationInModule": {
|
|
19687
19834
|
"filename": "lib/jobs/scala-spark-etl-job.ts",
|
|
19688
|
-
"line":
|
|
19835
|
+
"line": 28
|
|
19689
19836
|
},
|
|
19690
19837
|
"name": "notifyDelayAfter",
|
|
19691
19838
|
"optional": true,
|
|
@@ -19703,7 +19850,7 @@
|
|
|
19703
19850
|
"remarks": "ETL jobs support pySpark and Scala languages, for which there are separate\nbut similar constructors. ETL jobs default to the G2 worker type, but you\ncan override this default with other supported worker type values\n(G1, G2, G4 and G8). ETL jobs defaults to Glue version 4.0, which you can\noverride to 3.0. The following ETL features are enabled by default:\n—enable-metrics, —enable-spark-ui, —enable-continuous-cloudwatch-log.\nYou can find more details about version, worker type and other features\nin Glue's public documentation.",
|
|
19704
19851
|
"stability": "experimental",
|
|
19705
19852
|
"summary": "Spark ETL Jobs class.",
|
|
19706
|
-
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkFlexEtlJob = new glue_alpha.ScalaSparkFlexEtlJob(this, 'MyScalaSparkFlexEtlJob', {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n
|
|
19853
|
+
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkFlexEtlJob = new glue_alpha.ScalaSparkFlexEtlJob(this, 'MyScalaSparkFlexEtlJob', {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n extraFiles: [code],\n extraJars: [code],\n extraJarsFirst: false,\n glueVersion: glue_alpha.GlueVersion.V0_9,\n jobName: 'jobName',\n maxConcurrentRuns: 123,\n maxRetries: 123,\n notifyDelayAfter: cdk.Duration.minutes(30),\n securityConfiguration: securityConfiguration,\n sparkUI: {\n bucket: bucket,\n prefix: 'prefix',\n },\n tags: {\n tagsKey: 'tags',\n },\n timeout: cdk.Duration.minutes(30),\n workerConfiguration: {\n numberOfWorkers: 123,\n workerType: glue_alpha.WorkerType.STANDARD,\n },\n});",
|
|
19707
19854
|
"custom": {
|
|
19708
19855
|
"exampleMetadata": "fixture=_generated"
|
|
19709
19856
|
}
|
|
@@ -19805,7 +19952,7 @@
|
|
|
19805
19952
|
"remarks": "Flex jobs supports Python and Scala language.\nThe flexible execution class is appropriate for non-urgent jobs such as\npre-production jobs, testing, and one-time data loads.\nFlexible job runs are supported for jobs using AWS Glue version 3.0 or later and G.1X or\nG.2X worker types but will default to the latest version of Glue (currently Glue 3.0.)\n\nSimilar to ETL, we’ll enable these features: —enable-metrics, —enable-spark-ui,\n—enable-continuous-cloudwatch-log",
|
|
19806
19953
|
"stability": "experimental",
|
|
19807
19954
|
"summary": "Flex Jobs class.",
|
|
19808
|
-
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkFlexEtlJobProps: glue_alpha.ScalaSparkFlexEtlJobProps = {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n
|
|
19955
|
+
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkFlexEtlJobProps: glue_alpha.ScalaSparkFlexEtlJobProps = {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n extraFiles: [code],\n extraJars: [code],\n extraJarsFirst: false,\n glueVersion: glue_alpha.GlueVersion.V0_9,\n jobName: 'jobName',\n maxConcurrentRuns: 123,\n maxRetries: 123,\n notifyDelayAfter: cdk.Duration.minutes(30),\n securityConfiguration: securityConfiguration,\n sparkUI: {\n bucket: bucket,\n prefix: 'prefix',\n },\n tags: {\n tagsKey: 'tags',\n },\n timeout: cdk.Duration.minutes(30),\n workerConfiguration: {\n numberOfWorkers: 123,\n workerType: glue_alpha.WorkerType.STANDARD,\n },\n};",
|
|
19809
19956
|
"custom": {
|
|
19810
19957
|
"exampleMetadata": "fixture=_generated"
|
|
19811
19958
|
}
|
|
@@ -19933,7 +20080,7 @@
|
|
|
19933
20080
|
"remarks": "A Streaming job is similar to an ETL job, except that it performs ETL on data streams\nusing the Apache Spark Structured Streaming framework.\nThese jobs will default to use Python 3.9.\n\nSimilar to ETL jobs, streaming job supports Scala and Python languages. Similar to ETL,\nit supports G1 and G2 worker type and 2.0, 3.0 and 4.0 version. We’ll default to G2 worker\nand 4.0 version for streaming jobs which developers can override.\nWe will enable —enable-metrics, —enable-spark-ui, —enable-continuous-cloudwatch-log.",
|
|
19934
20081
|
"stability": "experimental",
|
|
19935
20082
|
"summary": "Scala Streaming Jobs class.",
|
|
19936
|
-
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkStreamingJob = new glue_alpha.ScalaSparkStreamingJob(this, 'MyScalaSparkStreamingJob', {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n
|
|
20083
|
+
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkStreamingJob = new glue_alpha.ScalaSparkStreamingJob(this, 'MyScalaSparkStreamingJob', {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n extraFiles: [code],\n extraJars: [code],\n extraJarsFirst: false,\n glueVersion: glue_alpha.GlueVersion.V0_9,\n jobName: 'jobName',\n jobRunQueuingEnabled: false,\n maxConcurrentRuns: 123,\n maxRetries: 123,\n securityConfiguration: securityConfiguration,\n sparkUI: {\n bucket: bucket,\n prefix: 'prefix',\n },\n tags: {\n tagsKey: 'tags',\n },\n timeout: cdk.Duration.minutes(30),\n workerConfiguration: {\n numberOfWorkers: 123,\n workerType: glue_alpha.WorkerType.STANDARD,\n },\n});",
|
|
19937
20084
|
"custom": {
|
|
19938
20085
|
"exampleMetadata": "fixture=_generated"
|
|
19939
20086
|
}
|
|
@@ -19946,7 +20093,7 @@
|
|
|
19946
20093
|
},
|
|
19947
20094
|
"locationInModule": {
|
|
19948
20095
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
19949
|
-
"line":
|
|
20096
|
+
"line": 81
|
|
19950
20097
|
},
|
|
19951
20098
|
"parameters": [
|
|
19952
20099
|
{
|
|
@@ -19972,7 +20119,7 @@
|
|
|
19972
20119
|
"kind": "class",
|
|
19973
20120
|
"locationInModule": {
|
|
19974
20121
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
19975
|
-
"line":
|
|
20122
|
+
"line": 72
|
|
19976
20123
|
},
|
|
19977
20124
|
"name": "ScalaSparkStreamingJob",
|
|
19978
20125
|
"properties": [
|
|
@@ -19985,7 +20132,7 @@
|
|
|
19985
20132
|
"immutable": true,
|
|
19986
20133
|
"locationInModule": {
|
|
19987
20134
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
19988
|
-
"line":
|
|
20135
|
+
"line": 75
|
|
19989
20136
|
},
|
|
19990
20137
|
"name": "PROPERTY_INJECTION_ID",
|
|
19991
20138
|
"static": true,
|
|
@@ -20001,7 +20148,7 @@
|
|
|
20001
20148
|
"immutable": true,
|
|
20002
20149
|
"locationInModule": {
|
|
20003
20150
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
20004
|
-
"line":
|
|
20151
|
+
"line": 114
|
|
20005
20152
|
},
|
|
20006
20153
|
"name": "jobArn",
|
|
20007
20154
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -20017,7 +20164,7 @@
|
|
|
20017
20164
|
"immutable": true,
|
|
20018
20165
|
"locationInModule": {
|
|
20019
20166
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
20020
|
-
"line":
|
|
20167
|
+
"line": 119
|
|
20021
20168
|
},
|
|
20022
20169
|
"name": "jobName",
|
|
20023
20170
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -20034,7 +20181,7 @@
|
|
|
20034
20181
|
"docs": {
|
|
20035
20182
|
"stability": "experimental",
|
|
20036
20183
|
"summary": "Properties for creating a Scala Spark ETL job.",
|
|
20037
|
-
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkStreamingJobProps: glue_alpha.ScalaSparkStreamingJobProps = {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n
|
|
20184
|
+
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst scalaSparkStreamingJobProps: glue_alpha.ScalaSparkStreamingJobProps = {\n className: 'className',\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n extraFiles: [code],\n extraJars: [code],\n extraJarsFirst: false,\n glueVersion: glue_alpha.GlueVersion.V0_9,\n jobName: 'jobName',\n jobRunQueuingEnabled: false,\n maxConcurrentRuns: 123,\n maxRetries: 123,\n securityConfiguration: securityConfiguration,\n sparkUI: {\n bucket: bucket,\n prefix: 'prefix',\n },\n tags: {\n tagsKey: 'tags',\n },\n timeout: cdk.Duration.minutes(30),\n workerConfiguration: {\n numberOfWorkers: 123,\n workerType: glue_alpha.WorkerType.STANDARD,\n },\n};",
|
|
20038
20185
|
"custom": {
|
|
20039
20186
|
"exampleMetadata": "fixture=_generated"
|
|
20040
20187
|
}
|
|
@@ -20046,7 +20193,7 @@
|
|
|
20046
20193
|
"kind": "interface",
|
|
20047
20194
|
"locationInModule": {
|
|
20048
20195
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
20049
|
-
"line":
|
|
20196
|
+
"line": 14
|
|
20050
20197
|
},
|
|
20051
20198
|
"name": "ScalaSparkStreamingJobProps",
|
|
20052
20199
|
"properties": [
|
|
@@ -20059,7 +20206,7 @@
|
|
|
20059
20206
|
"immutable": true,
|
|
20060
20207
|
"locationInModule": {
|
|
20061
20208
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
20062
|
-
"line":
|
|
20209
|
+
"line": 20
|
|
20063
20210
|
},
|
|
20064
20211
|
"name": "className",
|
|
20065
20212
|
"type": {
|
|
@@ -20077,7 +20224,7 @@
|
|
|
20077
20224
|
"immutable": true,
|
|
20078
20225
|
"locationInModule": {
|
|
20079
20226
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
20080
|
-
"line":
|
|
20227
|
+
"line": 29
|
|
20081
20228
|
},
|
|
20082
20229
|
"name": "extraFiles",
|
|
20083
20230
|
"optional": true,
|
|
@@ -20100,7 +20247,7 @@
|
|
|
20100
20247
|
"immutable": true,
|
|
20101
20248
|
"locationInModule": {
|
|
20102
20249
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
20103
|
-
"line":
|
|
20250
|
+
"line": 36
|
|
20104
20251
|
},
|
|
20105
20252
|
"name": "extraJars",
|
|
20106
20253
|
"optional": true,
|
|
@@ -20124,7 +20271,7 @@
|
|
|
20124
20271
|
"immutable": true,
|
|
20125
20272
|
"locationInModule": {
|
|
20126
20273
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
20127
|
-
"line":
|
|
20274
|
+
"line": 45
|
|
20128
20275
|
},
|
|
20129
20276
|
"name": "extraJarsFirst",
|
|
20130
20277
|
"optional": true,
|
|
@@ -20143,7 +20290,7 @@
|
|
|
20143
20290
|
"immutable": true,
|
|
20144
20291
|
"locationInModule": {
|
|
20145
20292
|
"filename": "lib/jobs/scala-spark-streaming-job.ts",
|
|
20146
|
-
"line":
|
|
20293
|
+
"line": 57
|
|
20147
20294
|
},
|
|
20148
20295
|
"name": "jobRunQueuingEnabled",
|
|
20149
20296
|
"optional": true,
|
|
@@ -20173,7 +20320,7 @@
|
|
|
20173
20320
|
"kind": "class",
|
|
20174
20321
|
"locationInModule": {
|
|
20175
20322
|
"filename": "lib/schema.ts",
|
|
20176
|
-
"line":
|
|
20323
|
+
"line": 62
|
|
20177
20324
|
},
|
|
20178
20325
|
"methods": [
|
|
20179
20326
|
{
|
|
@@ -20183,7 +20330,7 @@
|
|
|
20183
20330
|
},
|
|
20184
20331
|
"locationInModule": {
|
|
20185
20332
|
"filename": "lib/schema.ts",
|
|
20186
|
-
"line":
|
|
20333
|
+
"line": 158
|
|
20187
20334
|
},
|
|
20188
20335
|
"name": "array",
|
|
20189
20336
|
"parameters": [
|
|
@@ -20211,7 +20358,7 @@
|
|
|
20211
20358
|
},
|
|
20212
20359
|
"locationInModule": {
|
|
20213
20360
|
"filename": "lib/schema.ts",
|
|
20214
|
-
"line":
|
|
20361
|
+
"line": 128
|
|
20215
20362
|
},
|
|
20216
20363
|
"name": "char",
|
|
20217
20364
|
"parameters": [
|
|
@@ -20234,19 +20381,59 @@
|
|
|
20234
20381
|
},
|
|
20235
20382
|
{
|
|
20236
20383
|
"docs": {
|
|
20237
|
-
"remarks": "
|
|
20384
|
+
"remarks": "Escape hatch for column types the other `Schema` factories don't model. The\n`inputString` is emitted verbatim and is not validated.",
|
|
20385
|
+
"stability": "experimental",
|
|
20386
|
+
"summary": "Creates a custom type from a raw Glue input string."
|
|
20387
|
+
},
|
|
20388
|
+
"locationInModule": {
|
|
20389
|
+
"filename": "lib/schema.ts",
|
|
20390
|
+
"line": 195
|
|
20391
|
+
},
|
|
20392
|
+
"name": "custom",
|
|
20393
|
+
"parameters": [
|
|
20394
|
+
{
|
|
20395
|
+
"docs": {
|
|
20396
|
+
"summary": "the Glue input string for the type (for example `interval_day_to_second`)."
|
|
20397
|
+
},
|
|
20398
|
+
"name": "inputString",
|
|
20399
|
+
"type": {
|
|
20400
|
+
"primitive": "string"
|
|
20401
|
+
}
|
|
20402
|
+
},
|
|
20403
|
+
{
|
|
20404
|
+
"docs": {
|
|
20405
|
+
"remarks": "Defaults to true.",
|
|
20406
|
+
"summary": "whether the type is a primitive (non-nested) data type."
|
|
20407
|
+
},
|
|
20408
|
+
"name": "isPrimitive",
|
|
20409
|
+
"optional": true,
|
|
20410
|
+
"type": {
|
|
20411
|
+
"primitive": "boolean"
|
|
20412
|
+
}
|
|
20413
|
+
}
|
|
20414
|
+
],
|
|
20415
|
+
"returns": {
|
|
20416
|
+
"type": {
|
|
20417
|
+
"fqn": "@aws-cdk/aws-glue-alpha.Type"
|
|
20418
|
+
}
|
|
20419
|
+
},
|
|
20420
|
+
"static": true
|
|
20421
|
+
},
|
|
20422
|
+
{
|
|
20423
|
+
"docs": {
|
|
20424
|
+
"see": "https://docs.aws.amazon.com/athena/latest/ug/data-types.html",
|
|
20238
20425
|
"stability": "experimental",
|
|
20239
20426
|
"summary": "Creates a decimal type."
|
|
20240
20427
|
},
|
|
20241
20428
|
"locationInModule": {
|
|
20242
20429
|
"filename": "lib/schema.ts",
|
|
20243
|
-
"line":
|
|
20430
|
+
"line": 113
|
|
20244
20431
|
},
|
|
20245
20432
|
"name": "decimal",
|
|
20246
20433
|
"parameters": [
|
|
20247
20434
|
{
|
|
20248
20435
|
"docs": {
|
|
20249
|
-
"summary": "the total number of digits."
|
|
20436
|
+
"summary": "the total number of digits, between 1 and 38."
|
|
20250
20437
|
},
|
|
20251
20438
|
"name": "precision",
|
|
20252
20439
|
"type": {
|
|
@@ -20255,7 +20442,8 @@
|
|
|
20255
20442
|
},
|
|
20256
20443
|
{
|
|
20257
20444
|
"docs": {
|
|
20258
|
-
"
|
|
20445
|
+
"remarks": "the default is 0",
|
|
20446
|
+
"summary": "the number of digits in the fractional part, between 0 and 38;"
|
|
20259
20447
|
},
|
|
20260
20448
|
"name": "scale",
|
|
20261
20449
|
"optional": true,
|
|
@@ -20278,7 +20466,7 @@
|
|
|
20278
20466
|
},
|
|
20279
20467
|
"locationInModule": {
|
|
20280
20468
|
"filename": "lib/schema.ts",
|
|
20281
|
-
"line":
|
|
20469
|
+
"line": 168
|
|
20282
20470
|
},
|
|
20283
20471
|
"name": "map",
|
|
20284
20472
|
"parameters": [
|
|
@@ -20315,7 +20503,7 @@
|
|
|
20315
20503
|
},
|
|
20316
20504
|
"locationInModule": {
|
|
20317
20505
|
"filename": "lib/schema.ts",
|
|
20318
|
-
"line":
|
|
20506
|
+
"line": 180
|
|
20319
20507
|
},
|
|
20320
20508
|
"name": "struct",
|
|
20321
20509
|
"parameters": [
|
|
@@ -20348,7 +20536,7 @@
|
|
|
20348
20536
|
},
|
|
20349
20537
|
"locationInModule": {
|
|
20350
20538
|
"filename": "lib/schema.ts",
|
|
20351
|
-
"line":
|
|
20539
|
+
"line": 143
|
|
20352
20540
|
},
|
|
20353
20541
|
"name": "varchar",
|
|
20354
20542
|
"parameters": [
|
|
@@ -20381,7 +20569,7 @@
|
|
|
20381
20569
|
"immutable": true,
|
|
20382
20570
|
"locationInModule": {
|
|
20383
20571
|
"filename": "lib/schema.ts",
|
|
20384
|
-
"line":
|
|
20572
|
+
"line": 70
|
|
20385
20573
|
},
|
|
20386
20574
|
"name": "BIG_INT",
|
|
20387
20575
|
"static": true,
|
|
@@ -20397,7 +20585,7 @@
|
|
|
20397
20585
|
"immutable": true,
|
|
20398
20586
|
"locationInModule": {
|
|
20399
20587
|
"filename": "lib/schema.ts",
|
|
20400
|
-
"line":
|
|
20588
|
+
"line": 65
|
|
20401
20589
|
},
|
|
20402
20590
|
"name": "BINARY",
|
|
20403
20591
|
"static": true,
|
|
@@ -20413,7 +20601,7 @@
|
|
|
20413
20601
|
"immutable": true,
|
|
20414
20602
|
"locationInModule": {
|
|
20415
20603
|
"filename": "lib/schema.ts",
|
|
20416
|
-
"line":
|
|
20604
|
+
"line": 63
|
|
20417
20605
|
},
|
|
20418
20606
|
"name": "BOOLEAN",
|
|
20419
20607
|
"static": true,
|
|
@@ -20430,7 +20618,7 @@
|
|
|
20430
20618
|
"immutable": true,
|
|
20431
20619
|
"locationInModule": {
|
|
20432
20620
|
"filename": "lib/schema.ts",
|
|
20433
|
-
"line":
|
|
20621
|
+
"line": 94
|
|
20434
20622
|
},
|
|
20435
20623
|
"name": "DATE",
|
|
20436
20624
|
"static": true,
|
|
@@ -20446,7 +20634,7 @@
|
|
|
20446
20634
|
"immutable": true,
|
|
20447
20635
|
"locationInModule": {
|
|
20448
20636
|
"filename": "lib/schema.ts",
|
|
20449
|
-
"line":
|
|
20637
|
+
"line": 72
|
|
20450
20638
|
},
|
|
20451
20639
|
"name": "DOUBLE",
|
|
20452
20640
|
"static": true,
|
|
@@ -20462,7 +20650,7 @@
|
|
|
20462
20650
|
"immutable": true,
|
|
20463
20651
|
"locationInModule": {
|
|
20464
20652
|
"filename": "lib/schema.ts",
|
|
20465
|
-
"line":
|
|
20653
|
+
"line": 74
|
|
20466
20654
|
},
|
|
20467
20655
|
"name": "FLOAT",
|
|
20468
20656
|
"static": true,
|
|
@@ -20479,7 +20667,7 @@
|
|
|
20479
20667
|
"immutable": true,
|
|
20480
20668
|
"locationInModule": {
|
|
20481
20669
|
"filename": "lib/schema.ts",
|
|
20482
|
-
"line":
|
|
20670
|
+
"line": 79
|
|
20483
20671
|
},
|
|
20484
20672
|
"name": "INTEGER",
|
|
20485
20673
|
"static": true,
|
|
@@ -20513,7 +20701,7 @@
|
|
|
20513
20701
|
"immutable": true,
|
|
20514
20702
|
"locationInModule": {
|
|
20515
20703
|
"filename": "lib/schema.ts",
|
|
20516
|
-
"line":
|
|
20704
|
+
"line": 104
|
|
20517
20705
|
},
|
|
20518
20706
|
"name": "STRING",
|
|
20519
20707
|
"static": true,
|
|
@@ -20530,7 +20718,7 @@
|
|
|
20530
20718
|
"immutable": true,
|
|
20531
20719
|
"locationInModule": {
|
|
20532
20720
|
"filename": "lib/schema.ts",
|
|
20533
|
-
"line":
|
|
20721
|
+
"line": 99
|
|
20534
20722
|
},
|
|
20535
20723
|
"name": "TIMESTAMP",
|
|
20536
20724
|
"static": true,
|
|
@@ -20547,7 +20735,7 @@
|
|
|
20547
20735
|
"immutable": true,
|
|
20548
20736
|
"locationInModule": {
|
|
20549
20737
|
"filename": "lib/schema.ts",
|
|
20550
|
-
"line":
|
|
20738
|
+
"line": 89
|
|
20551
20739
|
},
|
|
20552
20740
|
"name": "TINY_INT",
|
|
20553
20741
|
"static": true,
|
|
@@ -20565,7 +20753,7 @@
|
|
|
20565
20753
|
"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.",
|
|
20566
20754
|
"stability": "experimental",
|
|
20567
20755
|
"summary": "A security configuration is a set of security properties that can be used by AWS Glue to encrypt data at rest.",
|
|
20568
|
-
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerType: glue.WorkerType.G_2X,\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n
|
|
20756
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerConfiguration: {\n workerType: glue.WorkerType.G_2X,\n numberOfWorkers: 2,\n },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});",
|
|
20569
20757
|
"custom": {
|
|
20570
20758
|
"exampleMetadata": "infused"
|
|
20571
20759
|
}
|
|
@@ -20577,7 +20765,7 @@
|
|
|
20577
20765
|
},
|
|
20578
20766
|
"locationInModule": {
|
|
20579
20767
|
"filename": "lib/security-configuration.ts",
|
|
20580
|
-
"line":
|
|
20768
|
+
"line": 214
|
|
20581
20769
|
},
|
|
20582
20770
|
"parameters": [
|
|
20583
20771
|
{
|
|
@@ -20607,7 +20795,7 @@
|
|
|
20607
20795
|
"kind": "class",
|
|
20608
20796
|
"locationInModule": {
|
|
20609
20797
|
"filename": "lib/security-configuration.ts",
|
|
20610
|
-
"line":
|
|
20798
|
+
"line": 177
|
|
20611
20799
|
},
|
|
20612
20800
|
"methods": [
|
|
20613
20801
|
{
|
|
@@ -20617,7 +20805,7 @@
|
|
|
20617
20805
|
},
|
|
20618
20806
|
"locationInModule": {
|
|
20619
20807
|
"filename": "lib/security-configuration.ts",
|
|
20620
|
-
"line":
|
|
20808
|
+
"line": 189
|
|
20621
20809
|
},
|
|
20622
20810
|
"name": "fromSecurityConfigurationName",
|
|
20623
20811
|
"parameters": [
|
|
@@ -20668,7 +20856,7 @@
|
|
|
20668
20856
|
"immutable": true,
|
|
20669
20857
|
"locationInModule": {
|
|
20670
20858
|
"filename": "lib/security-configuration.ts",
|
|
20671
|
-
"line":
|
|
20859
|
+
"line": 180
|
|
20672
20860
|
},
|
|
20673
20861
|
"name": "PROPERTY_INJECTION_ID",
|
|
20674
20862
|
"static": true,
|
|
@@ -20684,7 +20872,7 @@
|
|
|
20684
20872
|
"immutable": true,
|
|
20685
20873
|
"locationInModule": {
|
|
20686
20874
|
"filename": "lib/security-configuration.ts",
|
|
20687
|
-
"line":
|
|
20875
|
+
"line": 278
|
|
20688
20876
|
},
|
|
20689
20877
|
"name": "securityConfigurationName",
|
|
20690
20878
|
"overrides": "@aws-cdk/aws-glue-alpha.ISecurityConfiguration",
|
|
@@ -20700,7 +20888,7 @@
|
|
|
20700
20888
|
"immutable": true,
|
|
20701
20889
|
"locationInModule": {
|
|
20702
20890
|
"filename": "lib/security-configuration.ts",
|
|
20703
|
-
"line":
|
|
20891
|
+
"line": 200
|
|
20704
20892
|
},
|
|
20705
20893
|
"name": "cloudWatchEncryptionKey",
|
|
20706
20894
|
"optional": true,
|
|
@@ -20716,7 +20904,7 @@
|
|
|
20716
20904
|
"immutable": true,
|
|
20717
20905
|
"locationInModule": {
|
|
20718
20906
|
"filename": "lib/security-configuration.ts",
|
|
20719
|
-
"line":
|
|
20907
|
+
"line": 205
|
|
20720
20908
|
},
|
|
20721
20909
|
"name": "jobBookmarksEncryptionKey",
|
|
20722
20910
|
"optional": true,
|
|
@@ -20732,7 +20920,7 @@
|
|
|
20732
20920
|
"immutable": true,
|
|
20733
20921
|
"locationInModule": {
|
|
20734
20922
|
"filename": "lib/security-configuration.ts",
|
|
20735
|
-
"line":
|
|
20923
|
+
"line": 210
|
|
20736
20924
|
},
|
|
20737
20925
|
"name": "s3EncryptionKey",
|
|
20738
20926
|
"optional": true,
|
|
@@ -20749,7 +20937,7 @@
|
|
|
20749
20937
|
"docs": {
|
|
20750
20938
|
"stability": "experimental",
|
|
20751
20939
|
"summary": "Constructions properties of `SecurityConfiguration`.",
|
|
20752
|
-
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption:
|
|
20940
|
+
"example": "new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: glue.CloudWatchEncryption.kms(),\n jobBookmarksEncryption: glue.JobBookmarksEncryption.clientSideKms(),\n s3Encryption: glue.S3Encryption.kms(),\n});",
|
|
20753
20941
|
"custom": {
|
|
20754
20942
|
"exampleMetadata": "infused"
|
|
20755
20943
|
}
|
|
@@ -20758,7 +20946,7 @@
|
|
|
20758
20946
|
"kind": "interface",
|
|
20759
20947
|
"locationInModule": {
|
|
20760
20948
|
"filename": "lib/security-configuration.ts",
|
|
20761
|
-
"line":
|
|
20949
|
+
"line": 134
|
|
20762
20950
|
},
|
|
20763
20951
|
"name": "SecurityConfigurationProps",
|
|
20764
20952
|
"properties": [
|
|
@@ -20772,7 +20960,7 @@
|
|
|
20772
20960
|
"immutable": true,
|
|
20773
20961
|
"locationInModule": {
|
|
20774
20962
|
"filename": "lib/security-configuration.ts",
|
|
20775
|
-
"line":
|
|
20963
|
+
"line": 146
|
|
20776
20964
|
},
|
|
20777
20965
|
"name": "cloudWatchEncryption",
|
|
20778
20966
|
"optional": true,
|
|
@@ -20790,7 +20978,7 @@
|
|
|
20790
20978
|
"immutable": true,
|
|
20791
20979
|
"locationInModule": {
|
|
20792
20980
|
"filename": "lib/security-configuration.ts",
|
|
20793
|
-
"line":
|
|
20981
|
+
"line": 152
|
|
20794
20982
|
},
|
|
20795
20983
|
"name": "jobBookmarksEncryption",
|
|
20796
20984
|
"optional": true,
|
|
@@ -20808,7 +20996,7 @@
|
|
|
20808
20996
|
"immutable": true,
|
|
20809
20997
|
"locationInModule": {
|
|
20810
20998
|
"filename": "lib/security-configuration.ts",
|
|
20811
|
-
"line":
|
|
20999
|
+
"line": 165
|
|
20812
21000
|
},
|
|
20813
21001
|
"name": "removalPolicy",
|
|
20814
21002
|
"optional": true,
|
|
@@ -20826,7 +21014,7 @@
|
|
|
20826
21014
|
"immutable": true,
|
|
20827
21015
|
"locationInModule": {
|
|
20828
21016
|
"filename": "lib/security-configuration.ts",
|
|
20829
|
-
"line":
|
|
21017
|
+
"line": 158
|
|
20830
21018
|
},
|
|
20831
21019
|
"name": "s3Encryption",
|
|
20832
21020
|
"optional": true,
|
|
@@ -20844,7 +21032,7 @@
|
|
|
20844
21032
|
"immutable": true,
|
|
20845
21033
|
"locationInModule": {
|
|
20846
21034
|
"filename": "lib/security-configuration.ts",
|
|
20847
|
-
"line":
|
|
21035
|
+
"line": 140
|
|
20848
21036
|
},
|
|
20849
21037
|
"name": "securityConfigurationName",
|
|
20850
21038
|
"optional": true,
|
|
@@ -21093,7 +21281,7 @@
|
|
|
21093
21281
|
"kind": "interface",
|
|
21094
21282
|
"locationInModule": {
|
|
21095
21283
|
"filename": "lib/jobs/spark-job.ts",
|
|
21096
|
-
"line":
|
|
21284
|
+
"line": 16
|
|
21097
21285
|
},
|
|
21098
21286
|
"name": "SparkExtraCodeProps",
|
|
21099
21287
|
"properties": [
|
|
@@ -21108,7 +21296,7 @@
|
|
|
21108
21296
|
"immutable": true,
|
|
21109
21297
|
"locationInModule": {
|
|
21110
21298
|
"filename": "lib/jobs/spark-job.ts",
|
|
21111
|
-
"line":
|
|
21299
|
+
"line": 32
|
|
21112
21300
|
},
|
|
21113
21301
|
"name": "extraFiles",
|
|
21114
21302
|
"optional": true,
|
|
@@ -21131,7 +21319,7 @@
|
|
|
21131
21319
|
"immutable": true,
|
|
21132
21320
|
"locationInModule": {
|
|
21133
21321
|
"filename": "lib/jobs/spark-job.ts",
|
|
21134
|
-
"line":
|
|
21322
|
+
"line": 39
|
|
21135
21323
|
},
|
|
21136
21324
|
"name": "extraJars",
|
|
21137
21325
|
"optional": true,
|
|
@@ -21155,7 +21343,7 @@
|
|
|
21155
21343
|
"immutable": true,
|
|
21156
21344
|
"locationInModule": {
|
|
21157
21345
|
"filename": "lib/jobs/spark-job.ts",
|
|
21158
|
-
"line":
|
|
21346
|
+
"line": 48
|
|
21159
21347
|
},
|
|
21160
21348
|
"name": "extraJarsFirst",
|
|
21161
21349
|
"optional": true,
|
|
@@ -21173,7 +21361,7 @@
|
|
|
21173
21361
|
"immutable": true,
|
|
21174
21362
|
"locationInModule": {
|
|
21175
21363
|
"filename": "lib/jobs/spark-job.ts",
|
|
21176
|
-
"line":
|
|
21364
|
+
"line": 23
|
|
21177
21365
|
},
|
|
21178
21366
|
"name": "extraPythonFiles",
|
|
21179
21367
|
"optional": true,
|
|
@@ -21208,7 +21396,7 @@
|
|
|
21208
21396
|
},
|
|
21209
21397
|
"locationInModule": {
|
|
21210
21398
|
"filename": "lib/jobs/spark-job.ts",
|
|
21211
|
-
"line":
|
|
21399
|
+
"line": 170
|
|
21212
21400
|
},
|
|
21213
21401
|
"parameters": [
|
|
21214
21402
|
{
|
|
@@ -21234,7 +21422,7 @@
|
|
|
21234
21422
|
"kind": "class",
|
|
21235
21423
|
"locationInModule": {
|
|
21236
21424
|
"filename": "lib/jobs/spark-job.ts",
|
|
21237
|
-
"line":
|
|
21425
|
+
"line": 158
|
|
21238
21426
|
},
|
|
21239
21427
|
"methods": [
|
|
21240
21428
|
{
|
|
@@ -21243,7 +21431,7 @@
|
|
|
21243
21431
|
},
|
|
21244
21432
|
"locationInModule": {
|
|
21245
21433
|
"filename": "lib/jobs/spark-job.ts",
|
|
21246
|
-
"line":
|
|
21434
|
+
"line": 183
|
|
21247
21435
|
},
|
|
21248
21436
|
"name": "nonExecutableCommonArguments",
|
|
21249
21437
|
"parameters": [
|
|
@@ -21273,7 +21461,7 @@
|
|
|
21273
21461
|
},
|
|
21274
21462
|
"locationInModule": {
|
|
21275
21463
|
"filename": "lib/jobs/spark-job.ts",
|
|
21276
|
-
"line":
|
|
21464
|
+
"line": 209
|
|
21277
21465
|
},
|
|
21278
21466
|
"name": "setupExtraCodeArguments",
|
|
21279
21467
|
"parameters": [
|
|
@@ -21308,7 +21496,7 @@
|
|
|
21308
21496
|
"immutable": true,
|
|
21309
21497
|
"locationInModule": {
|
|
21310
21498
|
"filename": "lib/jobs/spark-job.ts",
|
|
21311
|
-
"line":
|
|
21499
|
+
"line": 160
|
|
21312
21500
|
},
|
|
21313
21501
|
"name": "grantPrincipal",
|
|
21314
21502
|
"overrides": "@aws-cdk/aws-glue-alpha.JobBase",
|
|
@@ -21324,7 +21512,7 @@
|
|
|
21324
21512
|
"immutable": true,
|
|
21325
21513
|
"locationInModule": {
|
|
21326
21514
|
"filename": "lib/jobs/spark-job.ts",
|
|
21327
|
-
"line":
|
|
21515
|
+
"line": 159
|
|
21328
21516
|
},
|
|
21329
21517
|
"name": "role",
|
|
21330
21518
|
"overrides": "@aws-cdk/aws-glue-alpha.Job",
|
|
@@ -21341,7 +21529,7 @@
|
|
|
21341
21529
|
"immutable": true,
|
|
21342
21530
|
"locationInModule": {
|
|
21343
21531
|
"filename": "lib/jobs/spark-job.ts",
|
|
21344
|
-
"line":
|
|
21532
|
+
"line": 168
|
|
21345
21533
|
},
|
|
21346
21534
|
"name": "sparkUILoggingLocation",
|
|
21347
21535
|
"optional": true,
|
|
@@ -21358,7 +21546,7 @@
|
|
|
21358
21546
|
"docs": {
|
|
21359
21547
|
"stability": "experimental",
|
|
21360
21548
|
"summary": "Common properties for different types of Spark jobs.",
|
|
21361
|
-
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst sparkJobProps: glue_alpha.SparkJobProps = {\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n
|
|
21549
|
+
"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';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const code: glue_alpha.Code;\ndeclare const connection: glue_alpha.Connection;\ndeclare const logGroup: logs.LogGroup;\ndeclare const role: iam.Role;\ndeclare const securityConfiguration: glue_alpha.SecurityConfiguration;\nconst sparkJobProps: glue_alpha.SparkJobProps = {\n role: role,\n script: code,\n\n // the properties below are optional\n connections: [connection],\n continuousLogging: {\n enabled: false,\n\n // the properties below are optional\n conversionPattern: 'conversionPattern',\n logGroup: logGroup,\n logStreamPrefix: 'logStreamPrefix',\n quiet: false,\n },\n defaultArguments: {\n defaultArgumentsKey: 'defaultArguments',\n },\n description: 'description',\n enableMetrics: false,\n enableObservabilityMetrics: false,\n glueVersion: glue_alpha.GlueVersion.V0_9,\n jobName: 'jobName',\n maxConcurrentRuns: 123,\n maxRetries: 123,\n securityConfiguration: securityConfiguration,\n sparkUI: {\n bucket: bucket,\n prefix: 'prefix',\n },\n tags: {\n tagsKey: 'tags',\n },\n timeout: cdk.Duration.minutes(30),\n workerConfiguration: {\n numberOfWorkers: 123,\n workerType: glue_alpha.WorkerType.STANDARD,\n },\n};",
|
|
21362
21550
|
"custom": {
|
|
21363
21551
|
"exampleMetadata": "fixture=_generated"
|
|
21364
21552
|
}
|
|
@@ -21370,7 +21558,7 @@
|
|
|
21370
21558
|
"kind": "interface",
|
|
21371
21559
|
"locationInModule": {
|
|
21372
21560
|
"filename": "lib/jobs/spark-job.ts",
|
|
21373
|
-
"line":
|
|
21561
|
+
"line": 118
|
|
21374
21562
|
},
|
|
21375
21563
|
"name": "SparkJobProps",
|
|
21376
21564
|
"properties": [
|
|
@@ -21385,7 +21573,7 @@
|
|
|
21385
21573
|
"immutable": true,
|
|
21386
21574
|
"locationInModule": {
|
|
21387
21575
|
"filename": "lib/jobs/spark-job.ts",
|
|
21388
|
-
"line":
|
|
21576
|
+
"line": 143
|
|
21389
21577
|
},
|
|
21390
21578
|
"name": "enableMetrics",
|
|
21391
21579
|
"optional": true,
|
|
@@ -21404,7 +21592,7 @@
|
|
|
21404
21592
|
"immutable": true,
|
|
21405
21593
|
"locationInModule": {
|
|
21406
21594
|
"filename": "lib/jobs/spark-job.ts",
|
|
21407
|
-
"line":
|
|
21595
|
+
"line": 152
|
|
21408
21596
|
},
|
|
21409
21597
|
"name": "enableObservabilityMetrics",
|
|
21410
21598
|
"optional": true,
|
|
@@ -21423,12 +21611,30 @@
|
|
|
21423
21611
|
"immutable": true,
|
|
21424
21612
|
"locationInModule": {
|
|
21425
21613
|
"filename": "lib/jobs/spark-job.ts",
|
|
21426
|
-
"line":
|
|
21614
|
+
"line": 134
|
|
21615
|
+
},
|
|
21616
|
+
"name": "sparkUI",
|
|
21617
|
+
"optional": true,
|
|
21618
|
+
"type": {
|
|
21619
|
+
"fqn": "@aws-cdk/aws-glue-alpha.SparkUIProps"
|
|
21620
|
+
}
|
|
21621
|
+
},
|
|
21622
|
+
{
|
|
21623
|
+
"abstract": true,
|
|
21624
|
+
"docs": {
|
|
21625
|
+
"default": "- the job runs with the G_1X worker type and 10 workers.",
|
|
21626
|
+
"stability": "experimental",
|
|
21627
|
+
"summary": "The worker type and the number of workers allocated when a job runs."
|
|
21628
|
+
},
|
|
21629
|
+
"immutable": true,
|
|
21630
|
+
"locationInModule": {
|
|
21631
|
+
"filename": "lib/jobs/spark-job.ts",
|
|
21632
|
+
"line": 124
|
|
21427
21633
|
},
|
|
21428
|
-
"name": "
|
|
21634
|
+
"name": "workerConfiguration",
|
|
21429
21635
|
"optional": true,
|
|
21430
21636
|
"type": {
|
|
21431
|
-
"fqn": "@aws-cdk/aws-glue-alpha.
|
|
21637
|
+
"fqn": "@aws-cdk/aws-glue-alpha.WorkerConfiguration"
|
|
21432
21638
|
}
|
|
21433
21639
|
}
|
|
21434
21640
|
],
|
|
@@ -21450,7 +21656,7 @@
|
|
|
21450
21656
|
"kind": "interface",
|
|
21451
21657
|
"locationInModule": {
|
|
21452
21658
|
"filename": "lib/jobs/spark-job.ts",
|
|
21453
|
-
"line":
|
|
21659
|
+
"line": 80
|
|
21454
21660
|
},
|
|
21455
21661
|
"name": "SparkUILoggingLocation",
|
|
21456
21662
|
"properties": [
|
|
@@ -21463,7 +21669,7 @@
|
|
|
21463
21669
|
"immutable": true,
|
|
21464
21670
|
"locationInModule": {
|
|
21465
21671
|
"filename": "lib/jobs/spark-job.ts",
|
|
21466
|
-
"line":
|
|
21672
|
+
"line": 84
|
|
21467
21673
|
},
|
|
21468
21674
|
"name": "bucket",
|
|
21469
21675
|
"type": {
|
|
@@ -21480,7 +21686,7 @@
|
|
|
21480
21686
|
"immutable": true,
|
|
21481
21687
|
"locationInModule": {
|
|
21482
21688
|
"filename": "lib/jobs/spark-job.ts",
|
|
21483
|
-
"line":
|
|
21689
|
+
"line": 91
|
|
21484
21690
|
},
|
|
21485
21691
|
"name": "prefix",
|
|
21486
21692
|
"optional": true,
|
|
@@ -21507,7 +21713,7 @@
|
|
|
21507
21713
|
"kind": "interface",
|
|
21508
21714
|
"locationInModule": {
|
|
21509
21715
|
"filename": "lib/jobs/spark-job.ts",
|
|
21510
|
-
"line":
|
|
21716
|
+
"line": 57
|
|
21511
21717
|
},
|
|
21512
21718
|
"name": "SparkUIProps",
|
|
21513
21719
|
"properties": [
|
|
@@ -21521,7 +21727,7 @@
|
|
|
21521
21727
|
"immutable": true,
|
|
21522
21728
|
"locationInModule": {
|
|
21523
21729
|
"filename": "lib/jobs/spark-job.ts",
|
|
21524
|
-
"line":
|
|
21730
|
+
"line": 63
|
|
21525
21731
|
},
|
|
21526
21732
|
"name": "bucket",
|
|
21527
21733
|
"optional": true,
|
|
@@ -21540,7 +21746,7 @@
|
|
|
21540
21746
|
"immutable": true,
|
|
21541
21747
|
"locationInModule": {
|
|
21542
21748
|
"filename": "lib/jobs/spark-job.ts",
|
|
21543
|
-
"line":
|
|
21749
|
+
"line": 71
|
|
21544
21750
|
},
|
|
21545
21751
|
"name": "prefix",
|
|
21546
21752
|
"optional": true,
|
|
@@ -21570,7 +21776,7 @@
|
|
|
21570
21776
|
},
|
|
21571
21777
|
"locationInModule": {
|
|
21572
21778
|
"filename": "lib/storage-parameter.ts",
|
|
21573
|
-
"line":
|
|
21779
|
+
"line": 434
|
|
21574
21780
|
},
|
|
21575
21781
|
"parameters": [
|
|
21576
21782
|
{
|
|
@@ -21591,7 +21797,7 @@
|
|
|
21591
21797
|
"kind": "class",
|
|
21592
21798
|
"locationInModule": {
|
|
21593
21799
|
"filename": "lib/storage-parameter.ts",
|
|
21594
|
-
"line":
|
|
21800
|
+
"line": 305
|
|
21595
21801
|
},
|
|
21596
21802
|
"methods": [
|
|
21597
21803
|
{
|
|
@@ -21602,7 +21808,7 @@
|
|
|
21602
21808
|
},
|
|
21603
21809
|
"locationInModule": {
|
|
21604
21810
|
"filename": "lib/storage-parameter.ts",
|
|
21605
|
-
"line":
|
|
21811
|
+
"line": 365
|
|
21606
21812
|
},
|
|
21607
21813
|
"name": "columnCountMismatchHandling",
|
|
21608
21814
|
"parameters": [
|
|
@@ -21628,7 +21834,7 @@
|
|
|
21628
21834
|
},
|
|
21629
21835
|
"locationInModule": {
|
|
21630
21836
|
"filename": "lib/storage-parameter.ts",
|
|
21631
|
-
"line":
|
|
21837
|
+
"line": 323
|
|
21632
21838
|
},
|
|
21633
21839
|
"name": "compressionType",
|
|
21634
21840
|
"parameters": [
|
|
@@ -21653,7 +21859,7 @@
|
|
|
21653
21859
|
},
|
|
21654
21860
|
"locationInModule": {
|
|
21655
21861
|
"filename": "lib/storage-parameter.ts",
|
|
21656
|
-
"line":
|
|
21862
|
+
"line": 430
|
|
21657
21863
|
},
|
|
21658
21864
|
"name": "custom",
|
|
21659
21865
|
"parameters": [
|
|
@@ -21672,7 +21878,7 @@
|
|
|
21672
21878
|
},
|
|
21673
21879
|
"name": "value",
|
|
21674
21880
|
"type": {
|
|
21675
|
-
"primitive": "
|
|
21881
|
+
"primitive": "string"
|
|
21676
21882
|
}
|
|
21677
21883
|
}
|
|
21678
21884
|
],
|
|
@@ -21690,7 +21896,7 @@
|
|
|
21690
21896
|
},
|
|
21691
21897
|
"locationInModule": {
|
|
21692
21898
|
"filename": "lib/storage-parameter.ts",
|
|
21693
|
-
"line":
|
|
21899
|
+
"line": 316
|
|
21694
21900
|
},
|
|
21695
21901
|
"name": "dataCleansingEnabled",
|
|
21696
21902
|
"parameters": [
|
|
@@ -21715,7 +21921,7 @@
|
|
|
21715
21921
|
},
|
|
21716
21922
|
"locationInModule": {
|
|
21717
21923
|
"filename": "lib/storage-parameter.ts",
|
|
21718
|
-
"line":
|
|
21924
|
+
"line": 330
|
|
21719
21925
|
},
|
|
21720
21926
|
"name": "invalidCharHandling",
|
|
21721
21927
|
"parameters": [
|
|
@@ -21740,7 +21946,7 @@
|
|
|
21740
21946
|
},
|
|
21741
21947
|
"locationInModule": {
|
|
21742
21948
|
"filename": "lib/storage-parameter.ts",
|
|
21743
|
-
"line":
|
|
21949
|
+
"line": 344
|
|
21744
21950
|
},
|
|
21745
21951
|
"name": "numericOverflowHandling",
|
|
21746
21952
|
"parameters": [
|
|
@@ -21766,7 +21972,7 @@
|
|
|
21766
21972
|
},
|
|
21767
21973
|
"locationInModule": {
|
|
21768
21974
|
"filename": "lib/storage-parameter.ts",
|
|
21769
|
-
"line":
|
|
21975
|
+
"line": 372
|
|
21770
21976
|
},
|
|
21771
21977
|
"name": "numRows",
|
|
21772
21978
|
"parameters": [
|
|
@@ -21793,7 +21999,7 @@
|
|
|
21793
21999
|
},
|
|
21794
22000
|
"locationInModule": {
|
|
21795
22001
|
"filename": "lib/storage-parameter.ts",
|
|
21796
|
-
"line":
|
|
22002
|
+
"line": 388
|
|
21797
22003
|
},
|
|
21798
22004
|
"name": "orcSchemaResolution",
|
|
21799
22005
|
"parameters": [
|
|
@@ -21818,7 +22024,7 @@
|
|
|
21818
22024
|
},
|
|
21819
22025
|
"locationInModule": {
|
|
21820
22026
|
"filename": "lib/storage-parameter.ts",
|
|
21821
|
-
"line":
|
|
22027
|
+
"line": 337
|
|
21822
22028
|
},
|
|
21823
22029
|
"name": "replacementChar",
|
|
21824
22030
|
"parameters": [
|
|
@@ -21843,7 +22049,7 @@
|
|
|
21843
22049
|
},
|
|
21844
22050
|
"locationInModule": {
|
|
21845
22051
|
"filename": "lib/storage-parameter.ts",
|
|
21846
|
-
"line":
|
|
22052
|
+
"line": 379
|
|
21847
22053
|
},
|
|
21848
22054
|
"name": "serializationNullFormat",
|
|
21849
22055
|
"parameters": [
|
|
@@ -21868,7 +22074,7 @@
|
|
|
21868
22074
|
},
|
|
21869
22075
|
"locationInModule": {
|
|
21870
22076
|
"filename": "lib/storage-parameter.ts",
|
|
21871
|
-
"line":
|
|
22077
|
+
"line": 309
|
|
21872
22078
|
},
|
|
21873
22079
|
"name": "skipHeaderLineCount",
|
|
21874
22080
|
"parameters": [
|
|
@@ -21894,7 +22100,7 @@
|
|
|
21894
22100
|
},
|
|
21895
22101
|
"locationInModule": {
|
|
21896
22102
|
"filename": "lib/storage-parameter.ts",
|
|
21897
|
-
"line":
|
|
22103
|
+
"line": 351
|
|
21898
22104
|
},
|
|
21899
22105
|
"name": "surplusBytesHandling",
|
|
21900
22106
|
"parameters": [
|
|
@@ -21920,7 +22126,7 @@
|
|
|
21920
22126
|
},
|
|
21921
22127
|
"locationInModule": {
|
|
21922
22128
|
"filename": "lib/storage-parameter.ts",
|
|
21923
|
-
"line":
|
|
22129
|
+
"line": 358
|
|
21924
22130
|
},
|
|
21925
22131
|
"name": "surplusCharHandling",
|
|
21926
22132
|
"parameters": [
|
|
@@ -21940,19 +22146,21 @@
|
|
|
21940
22146
|
},
|
|
21941
22147
|
{
|
|
21942
22148
|
"docs": {
|
|
22149
|
+
"remarks": "Redshift Spectrum accepts either the key's ARN or its bare key ID for the\n`write.kms.key.id` property, and encrypts the written objects with that key;\nthis renders the ARN. To use the S3 bucket's default KMS key instead, set the\nliteral value `auto` via `StorageParameter.custom('write.kms.key.id', 'auto')` —\nthis typed factory cannot express `auto`.",
|
|
22150
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html",
|
|
21943
22151
|
"stability": "experimental",
|
|
21944
|
-
"summary": "
|
|
22152
|
+
"summary": "Enables server-side encryption (SSE-KMS) with the given AWS KMS key on the files Redshift Spectrum writes for this table (via `CREATE EXTERNAL TABLE AS` or `INSERT`)."
|
|
21945
22153
|
},
|
|
21946
22154
|
"locationInModule": {
|
|
21947
22155
|
"filename": "lib/storage-parameter.ts",
|
|
21948
|
-
"line":
|
|
22156
|
+
"line": 421
|
|
21949
22157
|
},
|
|
21950
22158
|
"name": "writeKmsKeyId",
|
|
21951
22159
|
"parameters": [
|
|
21952
22160
|
{
|
|
21953
|
-
"name": "
|
|
22161
|
+
"name": "key",
|
|
21954
22162
|
"type": {
|
|
21955
|
-
"
|
|
22163
|
+
"fqn": "aws-cdk-lib.interfaces.aws_kms.IKeyRef"
|
|
21956
22164
|
}
|
|
21957
22165
|
}
|
|
21958
22166
|
],
|
|
@@ -21971,7 +22179,7 @@
|
|
|
21971
22179
|
},
|
|
21972
22180
|
"locationInModule": {
|
|
21973
22181
|
"filename": "lib/storage-parameter.ts",
|
|
21974
|
-
"line":
|
|
22182
|
+
"line": 404
|
|
21975
22183
|
},
|
|
21976
22184
|
"name": "writeMaxFileSizeMb",
|
|
21977
22185
|
"parameters": [
|
|
@@ -21998,7 +22206,7 @@
|
|
|
21998
22206
|
},
|
|
21999
22207
|
"locationInModule": {
|
|
22000
22208
|
"filename": "lib/storage-parameter.ts",
|
|
22001
|
-
"line":
|
|
22209
|
+
"line": 397
|
|
22002
22210
|
},
|
|
22003
22211
|
"name": "writeParallel",
|
|
22004
22212
|
"parameters": [
|
|
@@ -22026,7 +22234,7 @@
|
|
|
22026
22234
|
"immutable": true,
|
|
22027
22235
|
"locationInModule": {
|
|
22028
22236
|
"filename": "lib/storage-parameter.ts",
|
|
22029
|
-
"line":
|
|
22237
|
+
"line": 434
|
|
22030
22238
|
},
|
|
22031
22239
|
"name": "key",
|
|
22032
22240
|
"type": {
|
|
@@ -22040,7 +22248,7 @@
|
|
|
22040
22248
|
"immutable": true,
|
|
22041
22249
|
"locationInModule": {
|
|
22042
22250
|
"filename": "lib/storage-parameter.ts",
|
|
22043
|
-
"line":
|
|
22251
|
+
"line": 434
|
|
22044
22252
|
},
|
|
22045
22253
|
"name": "value",
|
|
22046
22254
|
"type": {
|
|
@@ -22055,7 +22263,7 @@
|
|
|
22055
22263
|
"docs": {
|
|
22056
22264
|
"stability": "experimental",
|
|
22057
22265
|
"summary": "The storage parameter keys that are currently known, this list is not exhaustive and other keys may be used.",
|
|
22058
|
-
"example": " declare const glueDatabase: glue.IDatabase;\n const table = new glue.
|
|
22266
|
+
"example": " declare const glueDatabase: glue.IDatabase;\n const table = new glue.S3Table(this, 'Table', {\n storageParameters: [\n glue.StorageParameter.skipHeaderLineCount(1),\n glue.StorageParameter.compressionType(glue.CompressionType.GZIP),\n glue.StorageParameter.custom('foo', 'bar'), // Will have no effect\n glue.StorageParameter.custom('separatorChar', ','), // Will describe the separator char used in the data\n glue.StorageParameter.custom(glue.StorageParameters.WRITE_PARALLEL, 'off'),\n ],\n // ...\n database: glueDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.CSV,\n });",
|
|
22059
22267
|
"custom": {
|
|
22060
22268
|
"exampleMetadata": "infused"
|
|
22061
22269
|
}
|
|
@@ -22064,7 +22272,7 @@
|
|
|
22064
22272
|
"kind": "enum",
|
|
22065
22273
|
"locationInModule": {
|
|
22066
22274
|
"filename": "lib/storage-parameter.ts",
|
|
22067
|
-
"line":
|
|
22275
|
+
"line": 217
|
|
22068
22276
|
},
|
|
22069
22277
|
"members": [
|
|
22070
22278
|
{
|
|
@@ -22196,7 +22404,7 @@
|
|
|
22196
22404
|
"kind": "enum",
|
|
22197
22405
|
"locationInModule": {
|
|
22198
22406
|
"filename": "lib/storage-parameter.ts",
|
|
22199
|
-
"line":
|
|
22407
|
+
"line": 94
|
|
22200
22408
|
},
|
|
22201
22409
|
"members": [
|
|
22202
22410
|
{
|
|
@@ -22250,7 +22458,7 @@
|
|
|
22250
22458
|
"kind": "enum",
|
|
22251
22459
|
"locationInModule": {
|
|
22252
22460
|
"filename": "lib/storage-parameter.ts",
|
|
22253
|
-
"line":
|
|
22461
|
+
"line": 126
|
|
22254
22462
|
},
|
|
22255
22463
|
"members": [
|
|
22256
22464
|
{
|
|
@@ -22292,76 +22500,6 @@
|
|
|
22292
22500
|
"name": "SurplusCharHandlingAction",
|
|
22293
22501
|
"symbolId": "lib/storage-parameter:SurplusCharHandlingAction"
|
|
22294
22502
|
},
|
|
22295
|
-
"@aws-cdk/aws-glue-alpha.Table": {
|
|
22296
|
-
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
22297
|
-
"base": "@aws-cdk/aws-glue-alpha.S3Table",
|
|
22298
|
-
"docs": {
|
|
22299
|
-
"deprecated": "Use {@link S3Table } instead.",
|
|
22300
|
-
"stability": "deprecated",
|
|
22301
|
-
"summary": "A Glue table.",
|
|
22302
|
-
"example": " declare const glueDatabase: glue.IDatabase;\n const table = new glue.Table(this, 'Table', {\n storageParameters: [\n glue.StorageParameter.skipHeaderLineCount(1),\n glue.StorageParameter.compressionType(glue.CompressionType.GZIP),\n glue.StorageParameter.custom('foo', 'bar'), // Will have no effect\n glue.StorageParameter.custom('separatorChar', ','), // Will describe the separator char used in the data\n glue.StorageParameter.custom(glue.StorageParameters.WRITE_PARALLEL, 'off'),\n ],\n // ...\n database: glueDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.CSV,\n });",
|
|
22303
|
-
"custom": {
|
|
22304
|
-
"exampleMetadata": "infused"
|
|
22305
|
-
}
|
|
22306
|
-
},
|
|
22307
|
-
"fqn": "@aws-cdk/aws-glue-alpha.Table",
|
|
22308
|
-
"initializer": {
|
|
22309
|
-
"docs": {
|
|
22310
|
-
"stability": "experimental"
|
|
22311
|
-
},
|
|
22312
|
-
"locationInModule": {
|
|
22313
|
-
"filename": "lib/s3-table.ts",
|
|
22314
|
-
"line": 133
|
|
22315
|
-
},
|
|
22316
|
-
"parameters": [
|
|
22317
|
-
{
|
|
22318
|
-
"name": "scope",
|
|
22319
|
-
"type": {
|
|
22320
|
-
"fqn": "constructs.Construct"
|
|
22321
|
-
}
|
|
22322
|
-
},
|
|
22323
|
-
{
|
|
22324
|
-
"name": "id",
|
|
22325
|
-
"type": {
|
|
22326
|
-
"primitive": "string"
|
|
22327
|
-
}
|
|
22328
|
-
},
|
|
22329
|
-
{
|
|
22330
|
-
"name": "props",
|
|
22331
|
-
"type": {
|
|
22332
|
-
"fqn": "@aws-cdk/aws-glue-alpha.S3TableProps"
|
|
22333
|
-
}
|
|
22334
|
-
}
|
|
22335
|
-
]
|
|
22336
|
-
},
|
|
22337
|
-
"kind": "class",
|
|
22338
|
-
"locationInModule": {
|
|
22339
|
-
"filename": "lib/table-deprecated.ts",
|
|
22340
|
-
"line": 12
|
|
22341
|
-
},
|
|
22342
|
-
"name": "Table",
|
|
22343
|
-
"properties": [
|
|
22344
|
-
{
|
|
22345
|
-
"const": true,
|
|
22346
|
-
"docs": {
|
|
22347
|
-
"stability": "deprecated",
|
|
22348
|
-
"summary": "Uniquely identifies this class."
|
|
22349
|
-
},
|
|
22350
|
-
"immutable": true,
|
|
22351
|
-
"locationInModule": {
|
|
22352
|
-
"filename": "lib/table-deprecated.ts",
|
|
22353
|
-
"line": 15
|
|
22354
|
-
},
|
|
22355
|
-
"name": "PROPERTY_INJECTION_ID",
|
|
22356
|
-
"overrides": "@aws-cdk/aws-glue-alpha.S3Table",
|
|
22357
|
-
"static": true,
|
|
22358
|
-
"type": {
|
|
22359
|
-
"primitive": "string"
|
|
22360
|
-
}
|
|
22361
|
-
}
|
|
22362
|
-
],
|
|
22363
|
-
"symbolId": "lib/table-deprecated:Table"
|
|
22364
|
-
},
|
|
22365
22503
|
"@aws-cdk/aws-glue-alpha.TableAttributes": {
|
|
22366
22504
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
22367
22505
|
"datatype": true,
|
|
@@ -22432,7 +22570,7 @@
|
|
|
22432
22570
|
},
|
|
22433
22571
|
"locationInModule": {
|
|
22434
22572
|
"filename": "lib/table-base.ts",
|
|
22435
|
-
"line":
|
|
22573
|
+
"line": 284
|
|
22436
22574
|
},
|
|
22437
22575
|
"parameters": [
|
|
22438
22576
|
{
|
|
@@ -22461,7 +22599,7 @@
|
|
|
22461
22599
|
"kind": "class",
|
|
22462
22600
|
"locationInModule": {
|
|
22463
22601
|
"filename": "lib/table-base.ts",
|
|
22464
|
-
"line":
|
|
22602
|
+
"line": 199
|
|
22465
22603
|
},
|
|
22466
22604
|
"methods": [
|
|
22467
22605
|
{
|
|
@@ -22470,7 +22608,7 @@
|
|
|
22470
22608
|
},
|
|
22471
22609
|
"locationInModule": {
|
|
22472
22610
|
"filename": "lib/table-base.ts",
|
|
22473
|
-
"line":
|
|
22611
|
+
"line": 200
|
|
22474
22612
|
},
|
|
22475
22613
|
"name": "fromTableArn",
|
|
22476
22614
|
"parameters": [
|
|
@@ -22507,7 +22645,7 @@
|
|
|
22507
22645
|
},
|
|
22508
22646
|
"locationInModule": {
|
|
22509
22647
|
"filename": "lib/table-base.ts",
|
|
22510
|
-
"line":
|
|
22648
|
+
"line": 216
|
|
22511
22649
|
},
|
|
22512
22650
|
"name": "fromTableAttributes",
|
|
22513
22651
|
"parameters": [
|
|
@@ -22555,7 +22693,7 @@
|
|
|
22555
22693
|
},
|
|
22556
22694
|
"locationInModule": {
|
|
22557
22695
|
"filename": "lib/table-base.ts",
|
|
22558
|
-
"line":
|
|
22696
|
+
"line": 321
|
|
22559
22697
|
},
|
|
22560
22698
|
"name": "addPartitionIndex",
|
|
22561
22699
|
"parameters": [
|
|
@@ -22575,7 +22713,7 @@
|
|
|
22575
22713
|
},
|
|
22576
22714
|
"locationInModule": {
|
|
22577
22715
|
"filename": "lib/table-base.ts",
|
|
22578
|
-
"line":
|
|
22716
|
+
"line": 536
|
|
22579
22717
|
},
|
|
22580
22718
|
"name": "grant",
|
|
22581
22719
|
"parameters": [
|
|
@@ -22616,7 +22754,7 @@
|
|
|
22616
22754
|
},
|
|
22617
22755
|
"locationInModule": {
|
|
22618
22756
|
"filename": "lib/table-base.ts",
|
|
22619
|
-
"line":
|
|
22757
|
+
"line": 310
|
|
22620
22758
|
},
|
|
22621
22759
|
"name": "grantRead",
|
|
22622
22760
|
"parameters": [
|
|
@@ -22640,7 +22778,7 @@
|
|
|
22640
22778
|
},
|
|
22641
22779
|
"locationInModule": {
|
|
22642
22780
|
"filename": "lib/table-base.ts",
|
|
22643
|
-
"line":
|
|
22781
|
+
"line": 312
|
|
22644
22782
|
},
|
|
22645
22783
|
"name": "grantReadWrite",
|
|
22646
22784
|
"parameters": [
|
|
@@ -22665,7 +22803,7 @@
|
|
|
22665
22803
|
},
|
|
22666
22804
|
"locationInModule": {
|
|
22667
22805
|
"filename": "lib/table-base.ts",
|
|
22668
|
-
"line":
|
|
22806
|
+
"line": 560
|
|
22669
22807
|
},
|
|
22670
22808
|
"name": "grantToUnderlyingResources",
|
|
22671
22809
|
"parameters": [
|
|
@@ -22706,7 +22844,7 @@
|
|
|
22706
22844
|
},
|
|
22707
22845
|
"locationInModule": {
|
|
22708
22846
|
"filename": "lib/table-base.ts",
|
|
22709
|
-
"line":
|
|
22847
|
+
"line": 311
|
|
22710
22848
|
},
|
|
22711
22849
|
"name": "grantWrite",
|
|
22712
22850
|
"parameters": [
|
|
@@ -22734,7 +22872,7 @@
|
|
|
22734
22872
|
"immutable": true,
|
|
22735
22873
|
"locationInModule": {
|
|
22736
22874
|
"filename": "lib/table-base.ts",
|
|
22737
|
-
"line":
|
|
22875
|
+
"line": 248
|
|
22738
22876
|
},
|
|
22739
22877
|
"name": "columns",
|
|
22740
22878
|
"type": {
|
|
@@ -22754,7 +22892,7 @@
|
|
|
22754
22892
|
"immutable": true,
|
|
22755
22893
|
"locationInModule": {
|
|
22756
22894
|
"filename": "lib/table-base.ts",
|
|
22757
|
-
"line":
|
|
22895
|
+
"line": 238
|
|
22758
22896
|
},
|
|
22759
22897
|
"name": "compressed",
|
|
22760
22898
|
"type": {
|
|
@@ -22769,7 +22907,7 @@
|
|
|
22769
22907
|
"immutable": true,
|
|
22770
22908
|
"locationInModule": {
|
|
22771
22909
|
"filename": "lib/table-base.ts",
|
|
22772
|
-
"line":
|
|
22910
|
+
"line": 233
|
|
22773
22911
|
},
|
|
22774
22912
|
"name": "database",
|
|
22775
22913
|
"type": {
|
|
@@ -22784,13 +22922,30 @@
|
|
|
22784
22922
|
"immutable": true,
|
|
22785
22923
|
"locationInModule": {
|
|
22786
22924
|
"filename": "lib/table-base.ts",
|
|
22787
|
-
"line":
|
|
22925
|
+
"line": 243
|
|
22788
22926
|
},
|
|
22789
22927
|
"name": "dataFormat",
|
|
22790
22928
|
"type": {
|
|
22791
22929
|
"fqn": "@aws-cdk/aws-glue-alpha.DataFormat"
|
|
22792
22930
|
}
|
|
22793
22931
|
},
|
|
22932
|
+
{
|
|
22933
|
+
"docs": {
|
|
22934
|
+
"remarks": "Emitted as the\n`has_encrypted_data` table parameter.",
|
|
22935
|
+
"stability": "experimental",
|
|
22936
|
+
"summary": "Whether the data stored in the table is encrypted."
|
|
22937
|
+
},
|
|
22938
|
+
"immutable": true,
|
|
22939
|
+
"locationInModule": {
|
|
22940
|
+
"filename": "lib/table-base.ts",
|
|
22941
|
+
"line": 275
|
|
22942
|
+
},
|
|
22943
|
+
"name": "hasEncryptedData",
|
|
22944
|
+
"protected": true,
|
|
22945
|
+
"type": {
|
|
22946
|
+
"primitive": "boolean"
|
|
22947
|
+
}
|
|
22948
|
+
},
|
|
22794
22949
|
{
|
|
22795
22950
|
"docs": {
|
|
22796
22951
|
"see": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters",
|
|
@@ -22800,7 +22955,7 @@
|
|
|
22800
22955
|
"immutable": true,
|
|
22801
22956
|
"locationInModule": {
|
|
22802
22957
|
"filename": "lib/table-base.ts",
|
|
22803
|
-
"line":
|
|
22958
|
+
"line": 269
|
|
22804
22959
|
},
|
|
22805
22960
|
"name": "parameters",
|
|
22806
22961
|
"protected": true,
|
|
@@ -22821,7 +22976,7 @@
|
|
|
22821
22976
|
"immutable": true,
|
|
22822
22977
|
"locationInModule": {
|
|
22823
22978
|
"filename": "lib/table-base.ts",
|
|
22824
|
-
"line":
|
|
22979
|
+
"line": 227
|
|
22825
22980
|
},
|
|
22826
22981
|
"name": "tableArn",
|
|
22827
22982
|
"overrides": "@aws-cdk/aws-glue-alpha.ITable",
|
|
@@ -22837,7 +22992,7 @@
|
|
|
22837
22992
|
"immutable": true,
|
|
22838
22993
|
"locationInModule": {
|
|
22839
22994
|
"filename": "lib/table-base.ts",
|
|
22840
|
-
"line":
|
|
22995
|
+
"line": 226
|
|
22841
22996
|
},
|
|
22842
22997
|
"name": "tableName",
|
|
22843
22998
|
"overrides": "@aws-cdk/aws-glue-alpha.ITable",
|
|
@@ -22853,7 +23008,7 @@
|
|
|
22853
23008
|
"immutable": true,
|
|
22854
23009
|
"locationInModule": {
|
|
22855
23010
|
"filename": "lib/table-base.ts",
|
|
22856
|
-
"line":
|
|
23011
|
+
"line": 225
|
|
22857
23012
|
},
|
|
22858
23013
|
"name": "tableResource",
|
|
22859
23014
|
"protected": true,
|
|
@@ -22869,7 +23024,7 @@
|
|
|
22869
23024
|
"immutable": true,
|
|
22870
23025
|
"locationInModule": {
|
|
22871
23026
|
"filename": "lib/table-base.ts",
|
|
22872
|
-
"line":
|
|
23027
|
+
"line": 228
|
|
22873
23028
|
},
|
|
22874
23029
|
"name": "partitionIndexes",
|
|
22875
23030
|
"optional": true,
|
|
@@ -22890,7 +23045,7 @@
|
|
|
22890
23045
|
"immutable": true,
|
|
22891
23046
|
"locationInModule": {
|
|
22892
23047
|
"filename": "lib/table-base.ts",
|
|
22893
|
-
"line":
|
|
23048
|
+
"line": 253
|
|
22894
23049
|
},
|
|
22895
23050
|
"name": "partitionKeys",
|
|
22896
23051
|
"optional": true,
|
|
@@ -22911,7 +23066,7 @@
|
|
|
22911
23066
|
"immutable": true,
|
|
22912
23067
|
"locationInModule": {
|
|
22913
23068
|
"filename": "lib/table-base.ts",
|
|
22914
|
-
"line":
|
|
23069
|
+
"line": 263
|
|
22915
23070
|
},
|
|
22916
23071
|
"name": "partitionProjection",
|
|
22917
23072
|
"optional": true,
|
|
@@ -22932,7 +23087,7 @@
|
|
|
22932
23087
|
"immutable": true,
|
|
22933
23088
|
"locationInModule": {
|
|
22934
23089
|
"filename": "lib/table-base.ts",
|
|
22935
|
-
"line":
|
|
23090
|
+
"line": 258
|
|
22936
23091
|
},
|
|
22937
23092
|
"name": "storageParameters",
|
|
22938
23093
|
"optional": true,
|
|
@@ -22953,7 +23108,7 @@
|
|
|
22953
23108
|
"datatype": true,
|
|
22954
23109
|
"docs": {
|
|
22955
23110
|
"stability": "experimental",
|
|
22956
|
-
"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';\n\ndeclare const database: glue_alpha.Database;\ndeclare const dataFormat: glue_alpha.DataFormat;\ndeclare const partitionProjectionConfiguration: glue_alpha.PartitionProjectionConfiguration;\ndeclare const storageParameter: glue_alpha.StorageParameter;\nconst tableBaseProps: glue_alpha.TableBaseProps = {\n columns: [{\n name: 'name',\n type:
|
|
23111
|
+
"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';\n\ndeclare const database: glue_alpha.Database;\ndeclare const dataFormat: glue_alpha.DataFormat;\ndeclare const partitionProjectionConfiguration: glue_alpha.PartitionProjectionConfiguration;\ndeclare const storageParameter: glue_alpha.StorageParameter;\ndeclare const type: glue_alpha.Type;\nconst tableBaseProps: glue_alpha.TableBaseProps = {\n columns: [{\n name: 'name',\n type: type,\n\n // the properties below are optional\n comment: 'comment',\n }],\n database: database,\n dataFormat: dataFormat,\n\n // the properties below are optional\n compressed: false,\n description: 'description',\n enablePartitionFiltering: false,\n hasEncryptedData: false,\n parameters: {\n parametersKey: 'parameters',\n },\n partitionIndexes: [{\n keyNames: ['keyNames'],\n\n // the properties below are optional\n indexName: 'indexName',\n }],\n partitionKeys: [{\n name: 'name',\n type: type,\n\n // the properties below are optional\n comment: 'comment',\n }],\n partitionProjection: {\n partitionProjectionKey: partitionProjectionConfiguration,\n },\n storageParameters: [storageParameter],\n storedAsSubDirectories: false,\n tableName: 'tableName',\n};",
|
|
22957
23112
|
"custom": {
|
|
22958
23113
|
"exampleMetadata": "fixture=_generated"
|
|
22959
23114
|
}
|
|
@@ -23074,6 +23229,26 @@
|
|
|
23074
23229
|
"primitive": "boolean"
|
|
23075
23230
|
}
|
|
23076
23231
|
},
|
|
23232
|
+
{
|
|
23233
|
+
"abstract": true,
|
|
23234
|
+
"docs": {
|
|
23235
|
+
"default": "true",
|
|
23236
|
+
"remarks": "This sets the `has_encrypted_data` table parameter. Athena reads it when\nquerying client-side (CSE-KMS) encrypted datasets; for server-side\nencrypted (SSE-S3 / SSE-KMS) or unencrypted data it has no effect, since\nAmazon S3 decrypts server-side encrypted objects transparently.\n\nDo not also set `has_encrypted_data` through `parameters` - use this\nproperty instead. A conflicting value in `parameters` is rejected.",
|
|
23237
|
+
"see": "https://docs.aws.amazon.com/athena/latest/ug/creating-tables-based-on-encrypted-datasets-in-s3.html",
|
|
23238
|
+
"stability": "experimental",
|
|
23239
|
+
"summary": "Whether the data stored in the table is encrypted."
|
|
23240
|
+
},
|
|
23241
|
+
"immutable": true,
|
|
23242
|
+
"locationInModule": {
|
|
23243
|
+
"filename": "lib/table-base.ts",
|
|
23244
|
+
"line": 181
|
|
23245
|
+
},
|
|
23246
|
+
"name": "hasEncryptedData",
|
|
23247
|
+
"optional": true,
|
|
23248
|
+
"type": {
|
|
23249
|
+
"primitive": "boolean"
|
|
23250
|
+
}
|
|
23251
|
+
},
|
|
23077
23252
|
{
|
|
23078
23253
|
"abstract": true,
|
|
23079
23254
|
"docs": {
|
|
@@ -23158,7 +23333,7 @@
|
|
|
23158
23333
|
"immutable": true,
|
|
23159
23334
|
"locationInModule": {
|
|
23160
23335
|
"filename": "lib/table-base.ts",
|
|
23161
|
-
"line":
|
|
23336
|
+
"line": 193
|
|
23162
23337
|
},
|
|
23163
23338
|
"name": "partitionProjection",
|
|
23164
23339
|
"optional": true,
|
|
@@ -23175,7 +23350,7 @@
|
|
|
23175
23350
|
"abstract": true,
|
|
23176
23351
|
"docs": {
|
|
23177
23352
|
"default": "- The parameter is not defined",
|
|
23178
|
-
"example": " declare const glueDatabase: glue.IDatabase;\n const table = new glue.
|
|
23353
|
+
"example": " declare const glueDatabase: glue.IDatabase;\n const table = new glue.S3Table(this, 'Table', {\n storageParameters: [\n glue.StorageParameter.skipHeaderLineCount(1),\n glue.StorageParameter.compressionType(glue.CompressionType.GZIP),\n glue.StorageParameter.custom('foo', 'bar'), // Will have no effect\n glue.StorageParameter.custom('separatorChar', ','), // Will describe the separator char used in the data\n glue.StorageParameter.custom(glue.StorageParameters.WRITE_PARALLEL, 'off'),\n ],\n // ...\n database: glueDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.CSV,\n });",
|
|
23179
23354
|
"remarks": "These properties help describe the format of the data that is stored within the crawled data sources.\n\nThe key/value pairs that are allowed to be submitted are not limited, however their functionality is not guaranteed.\n\nSome keys will be auto-populated by glue crawlers, however, you can override them by specifying the key and value in this property.",
|
|
23180
23355
|
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_",
|
|
23181
23356
|
"stability": "experimental",
|
|
@@ -23236,80 +23411,57 @@
|
|
|
23236
23411
|
],
|
|
23237
23412
|
"symbolId": "lib/table-base:TableBaseProps"
|
|
23238
23413
|
},
|
|
23239
|
-
"@aws-cdk/aws-glue-alpha.
|
|
23414
|
+
"@aws-cdk/aws-glue-alpha.TableClientSideEncryption": {
|
|
23240
23415
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
23241
23416
|
"docs": {
|
|
23242
|
-
"
|
|
23417
|
+
"remarks": "Independent of the bucket's server-side encryption and of who owns the bucket:\nthe data is encrypted by the client before it is written to S3. When set, the\n`grant*` methods also grant the relevant KMS permissions on the key.",
|
|
23243
23418
|
"stability": "experimental",
|
|
23244
|
-
"summary": "
|
|
23245
|
-
"example": "declare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n
|
|
23419
|
+
"summary": "Client-side encryption for an `S3Table`'s data.",
|
|
23420
|
+
"example": "declare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.S3Table(this, 'MyTable', {\n clientSideEncryption: glue.TableClientSideEncryption.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.S3Table(this, 'MyTable', {\n clientSideEncryption: glue.TableClientSideEncryption.kms(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});",
|
|
23246
23421
|
"custom": {
|
|
23247
23422
|
"exampleMetadata": "infused"
|
|
23248
23423
|
}
|
|
23249
23424
|
},
|
|
23250
|
-
"fqn": "@aws-cdk/aws-glue-alpha.
|
|
23251
|
-
"kind": "
|
|
23425
|
+
"fqn": "@aws-cdk/aws-glue-alpha.TableClientSideEncryption",
|
|
23426
|
+
"kind": "class",
|
|
23252
23427
|
"locationInModule": {
|
|
23253
23428
|
"filename": "lib/s3-table.ts",
|
|
23254
|
-
"line":
|
|
23429
|
+
"line": 112
|
|
23255
23430
|
},
|
|
23256
|
-
"
|
|
23257
|
-
{
|
|
23258
|
-
"docs": {
|
|
23259
|
-
"see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html",
|
|
23260
|
-
"stability": "experimental",
|
|
23261
|
-
"summary": "Server side encryption (SSE) with an Amazon S3-managed key."
|
|
23262
|
-
},
|
|
23263
|
-
"name": "S3_MANAGED"
|
|
23264
|
-
},
|
|
23431
|
+
"methods": [
|
|
23265
23432
|
{
|
|
23266
23433
|
"docs": {
|
|
23267
|
-
"see": "https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html",
|
|
23268
23434
|
"stability": "experimental",
|
|
23269
|
-
"summary": "
|
|
23435
|
+
"summary": "Client-side encryption (CSE-KMS) with an AWS KMS key managed by the account owner."
|
|
23270
23436
|
},
|
|
23271
|
-
"
|
|
23272
|
-
|
|
23273
|
-
|
|
23274
|
-
"docs": {
|
|
23275
|
-
"stability": "experimental",
|
|
23276
|
-
"summary": "Server-side encryption (SSE) with an AWS KMS key managed by the KMS service."
|
|
23437
|
+
"locationInModule": {
|
|
23438
|
+
"filename": "lib/s3-table.ts",
|
|
23439
|
+
"line": 118
|
|
23277
23440
|
},
|
|
23278
|
-
"name": "
|
|
23279
|
-
|
|
23280
|
-
|
|
23281
|
-
|
|
23282
|
-
|
|
23283
|
-
|
|
23284
|
-
|
|
23441
|
+
"name": "kms",
|
|
23442
|
+
"parameters": [
|
|
23443
|
+
{
|
|
23444
|
+
"docs": {
|
|
23445
|
+
"remarks": "A key is created if one is not provided.",
|
|
23446
|
+
"summary": "the KMS key used to encrypt the data."
|
|
23447
|
+
},
|
|
23448
|
+
"name": "key",
|
|
23449
|
+
"optional": true,
|
|
23450
|
+
"type": {
|
|
23451
|
+
"fqn": "aws-cdk-lib.aws_kms.IKey"
|
|
23452
|
+
}
|
|
23453
|
+
}
|
|
23454
|
+
],
|
|
23455
|
+
"returns": {
|
|
23456
|
+
"type": {
|
|
23457
|
+
"fqn": "@aws-cdk/aws-glue-alpha.TableClientSideEncryption"
|
|
23458
|
+
}
|
|
23285
23459
|
},
|
|
23286
|
-
"
|
|
23287
|
-
}
|
|
23288
|
-
],
|
|
23289
|
-
"name": "TableEncryption",
|
|
23290
|
-
"symbolId": "lib/s3-table:TableEncryption"
|
|
23291
|
-
},
|
|
23292
|
-
"@aws-cdk/aws-glue-alpha.TableProps": {
|
|
23293
|
-
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
23294
|
-
"datatype": true,
|
|
23295
|
-
"docs": {
|
|
23296
|
-
"stability": "experimental",
|
|
23297
|
-
"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';\nimport { aws_kms as kms } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const database: glue_alpha.Database;\ndeclare const dataFormat: glue_alpha.DataFormat;\ndeclare const key: kms.Key;\ndeclare const partitionProjectionConfiguration: glue_alpha.PartitionProjectionConfiguration;\ndeclare const storageParameter: glue_alpha.StorageParameter;\nconst tableProps: glue_alpha.TableProps = {\n columns: [{\n name: 'name',\n type: {\n inputString: 'inputString',\n isPrimitive: false,\n },\n\n // the properties below are optional\n comment: 'comment',\n }],\n database: database,\n dataFormat: dataFormat,\n\n // the properties below are optional\n bucket: bucket,\n compressed: false,\n description: 'description',\n enablePartitionFiltering: false,\n encryption: glue_alpha.TableEncryption.S3_MANAGED,\n encryptionKey: key,\n parameters: {\n parametersKey: 'parameters',\n },\n partitionIndexes: [{\n keyNames: ['keyNames'],\n\n // the properties below are optional\n indexName: 'indexName',\n }],\n partitionKeys: [{\n name: 'name',\n type: {\n inputString: 'inputString',\n isPrimitive: false,\n },\n\n // the properties below are optional\n comment: 'comment',\n }],\n partitionProjection: {\n partitionProjectionKey: partitionProjectionConfiguration,\n },\n s3Prefix: 's3Prefix',\n storageParameters: [storageParameter],\n storedAsSubDirectories: false,\n tableName: 'tableName',\n};",
|
|
23298
|
-
"custom": {
|
|
23299
|
-
"exampleMetadata": "fixture=_generated"
|
|
23460
|
+
"static": true
|
|
23300
23461
|
}
|
|
23301
|
-
},
|
|
23302
|
-
"fqn": "@aws-cdk/aws-glue-alpha.TableProps",
|
|
23303
|
-
"interfaces": [
|
|
23304
|
-
"@aws-cdk/aws-glue-alpha.S3TableProps"
|
|
23305
23462
|
],
|
|
23306
|
-
"
|
|
23307
|
-
"
|
|
23308
|
-
"filename": "lib/table-deprecated.ts",
|
|
23309
|
-
"line": 5
|
|
23310
|
-
},
|
|
23311
|
-
"name": "TableProps",
|
|
23312
|
-
"symbolId": "lib/table-deprecated:TableProps"
|
|
23463
|
+
"name": "TableClientSideEncryption",
|
|
23464
|
+
"symbolId": "lib/s3-table:TableClientSideEncryption"
|
|
23313
23465
|
},
|
|
23314
23466
|
"@aws-cdk/aws-glue-alpha.TriggerOptions": {
|
|
23315
23467
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
@@ -23488,25 +23640,24 @@
|
|
|
23488
23640
|
},
|
|
23489
23641
|
"@aws-cdk/aws-glue-alpha.Type": {
|
|
23490
23642
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
23491
|
-
"datatype": true,
|
|
23492
23643
|
"docs": {
|
|
23644
|
+
"remarks": "Instances are opaque: obtain one from a `Schema` factory (for example\n`Schema.STRING`, `Schema.decimal(...)`, `Schema.array(...)`) or, for a type the\n`Schema` factories don't model, from `Schema.custom(...)`.",
|
|
23493
23645
|
"stability": "experimental",
|
|
23494
|
-
"summary": "
|
|
23646
|
+
"summary": "The type of a column in a table schema.",
|
|
23495
23647
|
"example": "declare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'data',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'date',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n partitionProjection: {\n date: glue.PartitionProjectionConfiguration.date({\n min: '2020-01-01',\n max: '2023-12-31',\n format: 'yyyy-MM-dd',\n interval: 1, // optional, defaults to 1\n intervalUnit: glue.DateIntervalUnit.DAYS, // optional: YEARS, MONTHS, WEEKS, DAYS, HOURS, MINUTES, SECONDS\n }),\n },\n});",
|
|
23496
23648
|
"custom": {
|
|
23497
23649
|
"exampleMetadata": "infused"
|
|
23498
23650
|
}
|
|
23499
23651
|
},
|
|
23500
23652
|
"fqn": "@aws-cdk/aws-glue-alpha.Type",
|
|
23501
|
-
"kind": "
|
|
23653
|
+
"kind": "class",
|
|
23502
23654
|
"locationInModule": {
|
|
23503
23655
|
"filename": "lib/schema.ts",
|
|
23504
|
-
"line":
|
|
23656
|
+
"line": 33
|
|
23505
23657
|
},
|
|
23506
23658
|
"name": "Type",
|
|
23507
23659
|
"properties": [
|
|
23508
23660
|
{
|
|
23509
|
-
"abstract": true,
|
|
23510
23661
|
"docs": {
|
|
23511
23662
|
"stability": "experimental",
|
|
23512
23663
|
"summary": "Glue InputString for this type."
|
|
@@ -23514,7 +23665,7 @@
|
|
|
23514
23665
|
"immutable": true,
|
|
23515
23666
|
"locationInModule": {
|
|
23516
23667
|
"filename": "lib/schema.ts",
|
|
23517
|
-
"line":
|
|
23668
|
+
"line": 51
|
|
23518
23669
|
},
|
|
23519
23670
|
"name": "inputString",
|
|
23520
23671
|
"type": {
|
|
@@ -23522,7 +23673,6 @@
|
|
|
23522
23673
|
}
|
|
23523
23674
|
},
|
|
23524
23675
|
{
|
|
23525
|
-
"abstract": true,
|
|
23526
23676
|
"docs": {
|
|
23527
23677
|
"stability": "experimental",
|
|
23528
23678
|
"summary": "Indicates whether this type is a primitive data type."
|
|
@@ -23530,7 +23680,7 @@
|
|
|
23530
23680
|
"immutable": true,
|
|
23531
23681
|
"locationInModule": {
|
|
23532
23682
|
"filename": "lib/schema.ts",
|
|
23533
|
-
"line":
|
|
23683
|
+
"line": 46
|
|
23534
23684
|
},
|
|
23535
23685
|
"name": "isPrimitive",
|
|
23536
23686
|
"type": {
|
|
@@ -23563,12 +23713,68 @@
|
|
|
23563
23713
|
"name": "WeeklyScheduleTriggerOptions",
|
|
23564
23714
|
"symbolId": "lib/triggers/trigger-options:WeeklyScheduleTriggerOptions"
|
|
23565
23715
|
},
|
|
23716
|
+
"@aws-cdk/aws-glue-alpha.WorkerConfiguration": {
|
|
23717
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
23718
|
+
"datatype": true,
|
|
23719
|
+
"docs": {
|
|
23720
|
+
"remarks": "The worker type and the number of workers are set together: providing this\nconfiguration requires both values, so a Spark job can never be given one\nwithout the other.",
|
|
23721
|
+
"stability": "experimental",
|
|
23722
|
+
"summary": "The worker configuration for a Spark job.",
|
|
23723
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerConfiguration: {\n workerType: glue.WorkerType.G_2X,\n numberOfWorkers: 2,\n },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});",
|
|
23724
|
+
"custom": {
|
|
23725
|
+
"exampleMetadata": "infused"
|
|
23726
|
+
}
|
|
23727
|
+
},
|
|
23728
|
+
"fqn": "@aws-cdk/aws-glue-alpha.WorkerConfiguration",
|
|
23729
|
+
"kind": "interface",
|
|
23730
|
+
"locationInModule": {
|
|
23731
|
+
"filename": "lib/jobs/spark-job.ts",
|
|
23732
|
+
"line": 101
|
|
23733
|
+
},
|
|
23734
|
+
"name": "WorkerConfiguration",
|
|
23735
|
+
"properties": [
|
|
23736
|
+
{
|
|
23737
|
+
"abstract": true,
|
|
23738
|
+
"docs": {
|
|
23739
|
+
"stability": "experimental",
|
|
23740
|
+
"summary": "The number of workers of the given `workerType` that are allocated when a job runs."
|
|
23741
|
+
},
|
|
23742
|
+
"immutable": true,
|
|
23743
|
+
"locationInModule": {
|
|
23744
|
+
"filename": "lib/jobs/spark-job.ts",
|
|
23745
|
+
"line": 112
|
|
23746
|
+
},
|
|
23747
|
+
"name": "numberOfWorkers",
|
|
23748
|
+
"type": {
|
|
23749
|
+
"primitive": "number"
|
|
23750
|
+
}
|
|
23751
|
+
},
|
|
23752
|
+
{
|
|
23753
|
+
"abstract": true,
|
|
23754
|
+
"docs": {
|
|
23755
|
+
"remarks": "Enum options: Standard, G_1X, G_2X, G_025X, G_4X, G_8X, Z_2X",
|
|
23756
|
+
"stability": "experimental",
|
|
23757
|
+
"summary": "The type of predefined worker that is allocated when a job runs."
|
|
23758
|
+
},
|
|
23759
|
+
"immutable": true,
|
|
23760
|
+
"locationInModule": {
|
|
23761
|
+
"filename": "lib/jobs/spark-job.ts",
|
|
23762
|
+
"line": 107
|
|
23763
|
+
},
|
|
23764
|
+
"name": "workerType",
|
|
23765
|
+
"type": {
|
|
23766
|
+
"fqn": "@aws-cdk/aws-glue-alpha.WorkerType"
|
|
23767
|
+
}
|
|
23768
|
+
}
|
|
23769
|
+
],
|
|
23770
|
+
"symbolId": "lib/jobs/spark-job:WorkerConfiguration"
|
|
23771
|
+
},
|
|
23566
23772
|
"@aws-cdk/aws-glue-alpha.WorkerType": {
|
|
23567
23773
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
23568
23774
|
"docs": {
|
|
23569
23775
|
"stability": "experimental",
|
|
23570
23776
|
"summary": "The type of predefined worker that is allocated when a job runs.",
|
|
23571
|
-
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerType: glue.WorkerType.G_2X,\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n
|
|
23777
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nnew glue.PySparkEtlJob(stack, 'PySparkETLJob', {\n jobName: 'PySparkETLJobCustomName',\n description: 'This is a description',\n role,\n script,\n glueVersion: glue.GlueVersion.V5_1,\n continuousLogging: { enabled: false },\n workerConfiguration: {\n workerType: glue.WorkerType.G_2X,\n numberOfWorkers: 2,\n },\n maxConcurrentRuns: 100,\n timeout: cdk.Duration.hours(2),\n connections: [glue.Connection.fromConnectionName(stack, 'Connection', 'connectionName')],\n securityConfiguration: glue.SecurityConfiguration.fromSecurityConfigurationName(stack, 'SecurityConfig', 'securityConfigName'),\n tags: {\n FirstTagName: 'FirstTagValue',\n SecondTagName: 'SecondTagValue',\n XTagName: 'XTagValue',\n },\n maxRetries: 2,\n});",
|
|
23572
23778
|
"custom": {
|
|
23573
23779
|
"exampleMetadata": "infused"
|
|
23574
23780
|
}
|
|
@@ -23684,9 +23890,9 @@
|
|
|
23684
23890
|
"see": "https://docs.aws.amazon.com/glue/latest/dg/about-triggers.html\n\n## Usage Example\n\n```ts\nconst app = new App();\nconst stack = new Stack(app, 'TestStack');\n\n// Create a Glue Job\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\nconst job = new glue.PySparkStreamingJob(stack, 'ImportedJob', { role, script });\n\n// Create a Glue Workflow\nconst workflow = new glue.Workflow(stack, 'TestWorkflow');\n\n// Add an on-demand trigger to the Workflow\nworkflow.addOnDemandTrigger('OnDemandTrigger', {\nactions: [{ job: job }],\n});\n```",
|
|
23685
23891
|
"stability": "experimental",
|
|
23686
23892
|
"summary": "This module defines a construct for creating and managing AWS Glue Workflows and Triggers.",
|
|
23687
|
-
"example": "
|
|
23893
|
+
"example": "import * as cdk from 'aws-cdk-lib';\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const stack: cdk.Stack;\ndeclare const role: iam.IRole;\ndeclare const script: glue.Code;\n\n// Create a job to run from the workflow\nconst job = new glue.PySparkEtlJob(stack, 'Job', { role, script });\n\n// Create a workflow and add a trigger that runs the job\nconst workflow = new glue.Workflow(stack, 'Workflow');\nworkflow.addOnDemandTrigger('OnDemandTrigger', {\n actions: [{ job }],\n});",
|
|
23688
23894
|
"custom": {
|
|
23689
|
-
"exampleMetadata": "
|
|
23895
|
+
"exampleMetadata": "infused"
|
|
23690
23896
|
}
|
|
23691
23897
|
},
|
|
23692
23898
|
"fqn": "@aws-cdk/aws-glue-alpha.Workflow",
|
|
@@ -24454,7 +24660,7 @@
|
|
|
24454
24660
|
"kind": "enum",
|
|
24455
24661
|
"locationInModule": {
|
|
24456
24662
|
"filename": "lib/storage-parameter.ts",
|
|
24457
|
-
"line":
|
|
24663
|
+
"line": 185
|
|
24458
24664
|
},
|
|
24459
24665
|
"members": [
|
|
24460
24666
|
{
|
|
@@ -24476,6 +24682,6 @@
|
|
|
24476
24682
|
"symbolId": "lib/storage-parameter:WriteParallel"
|
|
24477
24683
|
}
|
|
24478
24684
|
},
|
|
24479
|
-
"version": "2.
|
|
24685
|
+
"version": "2.267.0-alpha.0",
|
|
24480
24686
|
"fingerprint": "**********"
|
|
24481
24687
|
}
|