Aurora Data API support

Offen
#2,506 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
aws, mysql, postgresql, swift
Bereich
database

Rechercherichtung

Start by reading the DynamoDB plugin paths mentioned in the issue to understand how profile and role authentication are handled. Then investigate the MySQL and PostgreSQL connection forms and the Aurora Data API operations listed here; the issue does not name specific files or tests. Done means supporting the requested connection fields, IAM auth, query and transaction operations, and clearly stating the API limits in the form.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement platform-macos
Problem

An Aurora cluster in a private VPC with no public endpoint cannot be reached without a bastion. The RDS Data API exists exactly for that case, over HTTPS with IAM auth and no network path to the database, and TablePro cannot use it.

TablePro already signs AWS requests and resolves AWS profiles: AWSSigV4 and AWSCredentialResolver in apple/Plugins/TableProPluginKit/AWS/ serve RDS IAM authentication (connections/aws-iam.mdx), the DynamoDB plugin and Import from AWS (#2852). Nothing calls rds-data.

Proposed solution
  • A Data API transport option on the MySQL and PostgreSQL connection forms, taking a cluster ARN, a Secrets Manager secret ARN and a database name instead of a host and port.
  • AWS credentials through the same profile resolution IAM authentication uses: named profiles, IAM Identity Center, role_arn chains and credential_process (connections/aws-iam.mdx, Profiles).
  • ExecuteStatement for queries, and BeginTransaction, CommitTransaction and RollbackTransaction for transactions.
  • State the API's limits in the form rather than letting the user find them: no streaming, a cap on the result size, and no cursor. A result over the cap fails with that reason, and table tabs page within it.
  • Import from AWS offers Data API for a cluster that has it enabled.

Done means a connection to an Aurora PostgreSQL cluster with no route from the Mac lists its tables and runs a query, with only an AWS profile and the two ARNs.

Alternatives considered

A bastion host and an SSH tunnel.

Platform

macOS

Related database type

PostgreSQL

Vorherrschende Sprache
Swift
Sterne
6.2k
Forks
412
Ø Merge
3 Std. 56 Min.
Gemergte PRs (30 T.)
669

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus TableProApp/TablePro

Alle Issues in TableProApp/TablePro

Ähnliche Issues

Weitere Issues zu Swift

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.