data_drain 0.5.0 → 0.5.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c92c85e6232344565dc090539d3d58aa47904ca1e454b696ba4eba12e2648881
4
- data.tar.gz: 1b3332ac50288dfd6793aed0c51ab8fa49d8dc309f7bc8dd4a642ecffd97e3cd
3
+ metadata.gz: 036367c9d2512c4a9a2785bbef6efeaaf9ee013ee31c013e1527001f91f22d65
4
+ data.tar.gz: c7dc050b51c3024ad9e2e62ae57e28bb549fee9a0341aea5ee524d4b55a07da5
5
5
  SHA512:
6
- metadata.gz: d0cecb3d168ad96943b9cc70eb936e9b95e92d03dc0bd08ed5996ac1967ef627191802892097abf3b094d5b59515c150ca8edc4ffcefe13be8b4a2d7721a180a
7
- data.tar.gz: 45018ca7e4287bf055cb7060e5720f83da318bd7c9ad44a30d8e832972feb1eb99d29286a9813128d4f84171d4c032e12f9a4f4dd7cc0022b36e44a3098d91c8
6
+ metadata.gz: 9ed7fb071a8d1f0c103c44c402279b9b575b535944a21db6f260b5d2aa4da2675f56095a9d79d1054c8e4c48ac578a955673befde82a84ca030ee508adf11e8e
7
+ data.tar.gz: f4c3665f97d5f4c287f70a715bd4fc36264bae977f868bb5f062bade177527cb6bfb10dbaf6c83fb6280ab2fce4787bf8abc1789fa9fb5893ac99f3a0a2b1ee0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.5.1] - 2026-04-15
4
+
5
+ ### Docs
6
+
7
+ - `skill/references/eventos-telemetria.md`: nuevos eventos `script_uploaded` y `script_upload_error`.
8
+ - `README.md`: ejemplos de `script_path` en GlueRunner y observabilidad.
9
+
3
10
  ## [0.5.0] - 2026-04-15
4
11
 
5
12
  ### Features
data/README.md CHANGED
@@ -115,11 +115,13 @@ DataDrain::GlueRunner.job_exists?("my-glue-export-job")
115
115
  job = DataDrain::GlueRunner.get_job("my-glue-export-job")
116
116
  # => Aws::Glue::Types::Job (Name, Command, DefaultArguments, etc.)
117
117
 
118
- # Crear un job
118
+ # Crear un job con script local (v0.5.0+)
119
119
  job = DataDrain::GlueRunner.create_job(
120
120
  "my-glue-export-job",
121
121
  role_arn: "arn:aws:iam::123:role/GlueServiceRole",
122
- script_location: "s3://my-bucket/scripts/export.py",
122
+ script_path: "scripts/glue/export.py", # local → S3 automático
123
+ script_bucket: "my-bucket",
124
+ script_folder: "scripts",
123
125
  default_arguments: { "--extra-files" => "s3://my-bucket/scripts/udf.py" },
124
126
  timeout: 1440,
125
127
  max_retries: 2
@@ -129,8 +131,9 @@ job = DataDrain::GlueRunner.create_job(
129
131
  job = DataDrain::GlueRunner.ensure_job(
130
132
  "my-glue-export-job",
131
133
  role_arn: "arn:aws:iam::123:role/GlueServiceRole",
132
- script_location: "s3://my-bucket/scripts/export.py",
133
- timeout: 1440
134
+ script_path: "scripts/glue/export.py",
135
+ script_bucket: "my-bucket",
136
+ script_folder: "scripts"
134
137
  )
135
138
 
136
139
  # Eliminar un job
@@ -198,6 +201,7 @@ ArchivedVersion.destroy_all(year: 2024, month: 3) # un mes globalmente
198
201
  ```
199
202
  component=data_drain event=engine.complete table=versions duration_s=12.4 export_duration_s=8.1 purge_duration_s=3.9 count=150000
200
203
  component=data_drain event=engine.purge_heartbeat table=versions batches_processed_count=100 rows_deleted_count=500000
204
+ component=data_drain event=glue_runner.script_uploaded local_path=scripts/glue/export.py s3_path=s3://my-bucket/scripts/export.py bytes=4521
201
205
  component=data_drain event=glue_runner.failed job=my-export-job run_id=jr_abc123 status=FAILED duration_s=301.0
202
206
  ```
203
207
 
@@ -2,5 +2,5 @@
2
2
 
3
3
  module DataDrain
4
4
  # @return [String] versión semver de la gema
5
- VERSION = "0.5.0"
5
+ VERSION = "0.5.1"
6
6
  end
data/skill/SKILL.md CHANGED
@@ -70,7 +70,7 @@ DataDrain resuelve el ciclo de vida de datos históricos en bases relacionales c
70
70
 
71
71
  - Ruby `>= 3.2.0`
72
72
  - Runtime: `activemodel >= 6.0`, `duckdb ~> 1.4`, `pg >= 1.2`, `aws-sdk-s3 ~> 1.114`, `aws-sdk-glue ~> 1.0`
73
- - Versión actual: `0.5.0`
73
+ - Versión actual: `0.5.1`
74
74
 
75
75
  ## API Pública (resumen)
76
76
 
@@ -115,6 +115,15 @@ Catálogo completo de eventos KV emitidos por DataDrain. Formato Wispro-Observab
115
115
  **Nivel:** INFO. Emite antes de `start_job_run`.
116
116
  **Campos:** `job`.
117
117
 
118
+ ### `glue_runner.script_uploaded`
119
+ **Nivel:** INFO. Emite tras subir un script a S3 (v0.5.0+).
120
+ **Campos:** `local_path`, `s3_path`, `bytes`.
121
+
122
+ ### `glue_runner.script_upload_error`
123
+ **Nivel:** ERROR. Emite si el upload a S3 falla (v0.5.0+).
124
+ **Campos:** `local_path`, `bucket`, `error_class`, `error_message`.
125
+ **Consecuencia:** propaga el `Aws::S3::Errors::ServiceError`.
126
+
118
127
  ### `glue_runner.job_exists`
119
128
  **Nivel:** INFO. Emite en `ensure_job` cuando el job ya existe y se actualiza.
120
129
  **Campos:** `job`.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_drain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel
@@ -104,11 +104,11 @@ files:
104
104
  - docs/execution/archive/v0.3.0.md
105
105
  - docs/execution/archive/v0.3.1-OBSERVACIONES.md
106
106
  - docs/execution/archive/v0.3.1.md
107
+ - docs/execution/archives/v0.5.0-OBSERVACIONES.md
108
+ - docs/execution/archives/v0.5.0.md
107
109
  - docs/execution/v0.2.2.md
108
110
  - docs/execution/v0.4.0-OBSERVACIONES.md
109
111
  - docs/execution/v0.4.0.md
110
- - docs/execution/v0.5.0-OBSERVACIONES.md
111
- - docs/execution/v0.5.0.md
112
112
  - docs/glue-jobs-lifecycle.md
113
113
  - docs/glue_pyspark_example.py
114
114
  - lib/data_drain.rb
File without changes