Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation des SQL extensions Aurora Postgre avec Babelfish
Aurora Postgre SQL fournit des extensions permettant de travailler avec d'autres AWS services. Il s'agit d'extensions facultatives qui prennent en charge divers cas d'utilisation, tels que l'utilisation d'Amazon S3 avec votre cluster de base de données pour importer ou exporter des données.
Pour importer des données d'un compartiment Amazon S3 vers votre cluster de base de données Babelfish, vous devez configurer l'extension
aws_s3
Aurora SQL Postgre. Cette extension vous permet également d'exporter les données de votre cluster de SQL base de données Aurora Postgre vers un compartiment Amazon S3.AWS Lambda est un service de calcul qui vous permet d'exécuter du code sans provisionner ni gérer de serveurs. Vous pouvez par exemple utiliser des fonctions Lambda pour traiter les notifications d'événements à partir de votre instance de base de données. Pour en savoir plus sur Lambda, veuillez consulter Qu'est-ce qu' AWS Lambda ? dans le Guide du développeur AWS Lambda . Pour appeler des fonctions Lambda depuis votre cluster de base de données Babelfish, vous devez configurer l'extension Aurora
aws_lambda
Postgre. SQL
Pour configurer ces extensions pour votre cluster Babelfish, vous devez d'abord accorder à l'utilisateur Babelfish interne l'autorisation de charger les extensions. Après avoir accordé l'autorisation, vous pouvez charger les SQL extensions Aurora Postgre.
Activation des SQL extensions Aurora Postgre dans votre cluster de base de données Babelfish
Avant de pouvoir charger les extensions aws_s3
ou aws_lambda
, vous accordez les privilèges nécessaires à votre cluster de base de données Babelfish.
La procédure suivante utilise l'outil de ligne de SQL commande psql
Postgre pour se connecter au cluster de base de données. Pour de plus amples informations, veuillez consulter Utilisation de psql pour se connecter au cluster de bases de données. Vous pouvez également utiliser pgAdmin. Pour plus de détails, consultez Utilisation de pgAdmin pour se connecter au cluster de bases de données.
Cette procédure charge les extensions aws_s3
et aws_lambda
l'une après l'autre. Si vous ne comptez utiliser que l'une de ces extensions, vous n'avez pas besoin de les charger toutes les deux. L'extension aws_commons
est requise par chacune, et elle est chargée par défaut, comme indiqué dans la sortie.
Pour configurer votre cluster de base de données Babelfish avec des privilèges pour les extensions Aurora Postgre SQL
Connectez-vous à votre cluster de base de données Babelfish. Utilisez le nom de l'utilisateur « principal » (-U) que vous avez spécifié lors de la création du cluster de base de données Babelfish. La valeur par défaut (
postgres
) est illustrée dans les exemples.Dans Linux, macOS, ou Unix:
psql -h
your-Babelfish.cluster.444455556666-us-east-1.rds.amazonaws.com
\ -U postgres \ -d babelfish_db \ -p 5432Dans Windows:
psql -h
your-Babelfish.cluster.444455556666-us-east-1.rds.amazonaws.com
^ -U postgres ^ -d babelfish_db ^ -p 5432La commande répond par une invite à saisir le mot de passe du nom d'utilisateur (-U).
Password:
Saisissez le mot de passe du nom d'utilisateur (-U) du cluster de base de données. Lorsque vous serez connecté, vous obtiendrez une sortie similaire à ce qui suit.
psql (13.4) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help.
postgres=>
Accordez des privilèges à l'utilisateur Babelfish interne pour créer et charger des extensions.
babelfish_db=>
GRANT rds_superuser TO master_dbo;
GRANT ROLE
Créez et chargez l'extension
aws_s3
. L'extensionaws_commons
est nécessaire et elle est installée automatiquement lorsque l'extensionaws_s3
est installée.babelfish_db=>
create extension aws_s3 cascade;
NOTICE: installing required extension "aws_commons" CREATE EXTENSION
Créez et chargez l'extension
aws_lambda
.babelfish_db=>
create extension aws_lambda cascade;
CREATE EXTENSION
babelfish_db=>
Utilisation de Babelfish avec Amazon S3
Si vous ne disposez pas d'un compartiment Amazon S3 à utiliser avec votre cluster de base de données Babelfish, vous pouvez en créer un. Vous devez accorder l'accès pour tout compartiment Amazon S3 que vous souhaitez utiliser.
Avant d'essayer d'importer ou d'exporter des données à l'aide d'un compartiment Amazon S3, suivez les étapes uniques suivantes.
Pour configurer l'accès de votre instance de base de données Babelfish à votre compartiment Amazon S3
-
Créez un compartiment Amazon S3 pour votre instance Babelfish, si nécessaire. Pour ce faire, suivez les instructions de la section Create a Bucket (Créer un compartiment) dans le Guide de l'utilisateur Amazon Simple Storage Service.
Chargez les fichiers dans votre compartiment Amazon S3. Pour ce faire, suivez les étapes de la section Add an object to a bucket (Ajouter un objet à un compartiment) dans le Guide de l'utilisateur Amazon Simple Storage Service.
-
Configurez les autorisations nécessaires :
-
Pour importer des données à partir d'Amazon S3, le cluster de base de données Babelfish doit être autorisé à accéder au compartiment. Nous vous recommandons d'utiliser un rôle AWS Identity and Access Management (IAM) et d'associer une IAM politique à ce rôle pour votre cluster. Pour ce faire, suivez les étapes de Utilisation d'un IAM rôle pour accéder à un compartiment Amazon S3.
-
Pour exporter des données à partir de votre cluster de base de données Babelfish, votre cluster doit avoir accès au compartiment Amazon S3. Comme pour l'importation, nous vous recommandons d'utiliser un IAM rôle et une politique. Pour ce faire, suivez les étapes de Configuration de l'accès à un compartiment Amazon S3.
-
Vous pouvez désormais utiliser Amazon S3 avec l'extension aws_s3
et votre cluster de base de données Babelfish.
Pour importer des données à partir d'Amazon S3 vers Babelfish et pour exporter des données Babelfish vers Amazon S3
Utilisez l'extension
aws_s3
avec votre cluster de base de données Babelfish.Lorsque vous le faites, assurez-vous de référencer les tables telles qu'elles existent dans le contexte de PostgreSQL. En d'autres termes, si vous souhaitez importer vers une table Babelfish nommée
[database].[schema].[tableA]
, référez-vous à cette table en tant quedatabase_schema_tableA
dans la fonctionaws_s3
:Pour obtenir un exemple d'utilisation de fonction
aws_s3
pour importer des données, veuillez consulter Importation de données depuis Amazon S3 vers votre cluster de SQL base de données Aurora Postgre RDS.Pour obtenir des exemples d'utilisation de fonctions
aws_s3
pour exporter des données, veuillez consulter Exportation de données de requête à l'aide de la fonction aws_s3.query_export_to_s3.
Assurez-vous de référencer les tables Babelfish en utilisant le nom SQL Postgre lorsque vous utilisez l'
aws_s3
extension et Amazon S3, comme indiqué dans le tableau suivant.
Table Babelfish |
Table Aurora Postgre SQL |
---|---|
|
|
Pour en savoir plus sur l'utilisation d'Amazon S3 avec Aurora PostgreSQL, consultez Importation de données depuis Amazon S3 dans un cluster de SQL base de données Aurora Postgre RDS etExportation de données depuis un cluster de SQL base de données Aurora Postgre RDS S3.
Utiliser Babelfish avec AWS Lambda
Après le chargement de l'extension aws_lambda
dans votre cluster de base de données Babelfish, mais avant l'appel des fonctions Lambda, accordez à Lambda l'accès à votre cluster de base de données en suivant cette procédure.
Pour configurer l'accès à votre cluster de base de données Babelfish afin qu'il fonctionne avec Lambda
Cette procédure utilise le AWS CLI pour créer la IAM politique et le rôle, et les associer au cluster de base de données Babelfish.
Créez une IAM politique qui autorise l'accès à Lambda depuis votre cluster de base de données Babelfish.
aws iam create-policy --policy-name
rds-lambda-policy
--policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToExampleFunction", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:
" } ] }'aws-region
:444455556666:function:my-functionCréez un IAM rôle que la politique peut assumer lors de l'exécution.
aws iam create-role --role-name
rds-lambda-role
--assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'Attachez la stratégie au rôle.
aws iam attach-role-policy \ --policy-arn arn:aws:iam::
444455556666
:policy/rds-lambda-policy
\ --role-namerds-lambda-role
--regionaws-region
Attacher le rôle à votre cluster de base de données Babelfish
aws rds add-role-to-db-cluster \ --db-cluster-identifier
my-cluster-name
\ --feature-name Lambda \ --role-arn arn:aws:iam::444455556666:role/rds-lambda-role
\ --regionaws-region
Une fois ces tâches terminées, vous pouvez appeler vos fonctions Lambda. Pour plus d'informations et des exemples de configuration d'un cluster AWS Lambda de SQL base de données Aurora Postgre avec AWS Lambda, consultezÉtape 2 : Configuration de votre cluster IAM de SQL base de données Aurora Postgre RDS et AWS Lambda.
Pour appeler une fonction Lambda à partir de votre cluster de base de données Babelfish
AWS Lambda prend en charge les fonctions écrites en Java, Node.js, Python, Ruby et dans d'autres langages. Si la fonction renvoie du texte lorsqu'elle est appelée, vous pouvez l'appeler à partir de votre cluster de base de données Babelfish. L'exemple suivant est une fonction Python d'espace réservé qui renvoie un message de salutation.
lambda_function.py import json def lambda_handler(event, context): #TODO implement return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!')
Babelfish n'est actuellement pas compatible. JSON Si votre fonction revientJSON, vous utilisez un wrapper pour gérer leJSON. Par exemple, disons que la fonction lambda_function.py
illustrée ci-dessus est stockée dans Lambda en tant que my-function
.
Connectez-vous à votre cluster de base de données Babelfish à l'aide du
psql
client (ou du pgAdmin client). Pour de plus amples informations, veuillez consulter Utilisation de psql pour se connecter au cluster de bases de données.Créez l'encapsuleur. Cet exemple utilise le langage procédural SQL de Postgre pourSQL,
PL/pgSQL
. Pour en savoir plus, consultez PL/Pg SQL — Langage SQL procédural. create or replace function master_dbo.lambda_wrapper() returns text language plpgsql as $$ declare r_status_code integer; r_payload text; begin SELECT payload INTO r_payload FROM aws_lambda.invoke( aws_commons.create_lambda_function_arn('my-function', 'us-east-1') ,'{"body": "Hello from Postgres!"}'::json ); return r_payload ; end; $$;
La fonction peut désormais être exécutée depuis le port Babelfish (1433) ou depuis le TDS port Postgre SQL (5433).
Pour invoquer (appeler) cette fonction depuis votre SQL port Postgre :
SELECT * from aws_lambda.invoke(aws_commons.create_lambda_function_arn('my-function', 'us-east-1'), '{"body": "Hello from Postgres!"}'::json );
La sortie est similaire à ce qui suit :
status_code | payload | executed_version | log_result -------------+-------------------------------------------------------+------------------+------------ 200 | {"statusCode": 200, "body": "\"Hello from Lambda!\""} | $LATEST | (1 row)
Pour invoquer (appeler) cette fonction depuis le TDS port, connectez-vous au port à l'aide du client de ligne de
sqlcmd
commande SQL du serveur. Pour plus de détails, consultez Utilisation d'un client SQL Server pour se connecter au cluster de bases de données. Une fois connecté, exécutez les opérations suivantes :1>
select lambda_wrapper();
2>
go
La commande renvoie un résultat semblable à ce qui suit :
{"statusCode": 200, "body": "\"Hello from Lambda!\""}
Pour en savoir plus sur l'utilisation de Lambda avec Aurora PostgreSQL, consultez. Invoquer un AWS Lambda fonction d'un cluster de SQL base de données Aurora Postgre RDS Pour plus d'informations sur l'utilisation des fonctions Lambda, veuillez consulter Mise en route avec Lambda dans le Guide du développeur AWS Lambda .
Utilisation de pg_stat_statements dans Babelfish
Babelfish pour Aurora Postgre SQL prend en charge les pg_stat_statements
extensions à partir de la version 3.3.0. Pour plus d'informations, consultez pg_stat_statements
Pour plus de détails sur la version de cette extension prise en charge par Aurora PostgreSQL, consultez la section Versions des extensions.
Création de l'extension pg_stat_statements
Pour l'activer sur pg_stat_statements
, vous devez activer le calcul de l'identifiant de la requête. Il s'active automatiquement si compute_query_id
est défini sur on
ou auto
dans le groupe de paramètres. La valeur par défaut du paramètre compute_query_id
est auto
. Vous devez également créer cette extension pour activer cette fonctionnalité. Utilisez la commande suivante pour installer l'extension depuis le point de SQL terminaison T :
1>
EXEC sp_execute_postgresql 'CREATE EXTENSION pg_stat_statements WITH SCHEMA sys';
Vous pouvez accéder aux statistiques des requêtes à l'aide de la requête suivante :
postgres=>
select * from pg_stat_statements;
Note
Pendant l'installation, si vous ne fournissez pas le nom du schéma de l'extension, celle-ci sera créée par défaut dans le schéma public. Pour y accéder, vous devez utiliser des crochets avec un qualificateur de schéma, comme indiqué ci-dessous :
postgres=>
select * from [public].pg_stat_statements;
Vous pouvez également créer l'extension depuis le PSQL point de terminaison.
Autorisation de l'extension
Par défaut, vous pouvez consulter les statistiques des requêtes effectuées dans votre SQL base de données T sans avoir besoin d'autorisation.
Pour accéder aux statistiques de requêtes créées par d'autres personnes, vous devez avoir le SQL rôle pg_read_all_stats
Postgre. Suivez les étapes mentionnées ci-dessous pour créer la commande GRANT pg_read_all_stats.
Dans T-SQL, utilisez la requête suivante qui renvoie le nom du rôle PG interne.
SELECT rolname FROM pg_roles WHERE oid = USER_ID();
Connectez-vous à la SQL base de données Babelfish for Aurora Postgre avec le privilège rds_superuser et utilisez la commande suivante :
GRANT pg_read_all_stats TO <rolname_from_above_query>
Exemple
Depuis le point de SQL terminaison T :
1>
SELECT rolname FROM pg_roles WHERE oid = USER_ID();2>
go
rolname
-------
master_dbo
(1 rows affected)
Depuis le PSQL point de terminaison :
babelfish_db=# grant pg_read_all_stats to master_dbo;
GRANT ROLE
Vous pouvez accéder aux statistiques des requêtes à l'aide de la vue pg_stat_statements :
1>
create table t1(cola int);2>
go1>
insert into t1 values (1),(2),(3);2>
go
(3 rows affected)
1>
select userid, dbid, queryid, query from pg_stat_statements;2>
go
userid dbid queryid query
------ ---- ------- -----
37503 34582 6487973085327558478 select * from t1
37503 34582 6284378402749466286 SET QUOTED_IDENTIFIER OFF
37503 34582 2864302298511657420 insert into t1 values ($1),($2),($3)
10 34582 NULL <insufficient privilege>
37503 34582 5615368793313871642 SET TEXTSIZE 4096
37503 34582 639400815330803392 create table t1(cola int)
(6 rows affected)
Réinitialisation des statistiques des requêtes
Vous pouvez utiliser pg_stat_statements_reset()
pour réinitialiser les statistiques recueillies jusqu'à présent par pg_stat_statements. Pour plus d'informations, consultez pg_stat_statementsrds_superuser
privilèges, utilisez la commande suivante :
SELECT pg_stat_statements_reset();
Limites
Actuellement, n'
pg_stat_statements()
est pas pris en charge via le SQL point de terminaison T.pg_stat_statements
l'affichage est la méthode recommandée pour recueillir les statistiques.Certaines requêtes peuvent être réécrites par l'SQLanalyseur T implémenté par le SQL moteur Aurora Postgre. La
pg_stat_statements
vue affichera la requête réécrite et non la requête d'origine.Exemple
select next value for [dbo].[newCounter];
La requête ci-dessus est réécrite comme suit dans la vue pg_stat_statements.
select nextval($1);
Selon le flux d'exécution des instructions, certaines requêtes peuvent ne pas être suivies par pg_stat_statements et ne seront pas visibles dans la vue. Elle comprend les instructions suivantes :
use dbname
,goto
,print
,raise error
,set
,throw
,declare cursor
.ALTERLOGINLes instructions for CREATE LOGIN et, query et queryid ne seront pas affichés. Elle indiquera que les privilèges sont insuffisants.
La vue
pg_stat_statements
contient toujours les deux entrées ci-dessous, car elles sont exécutées en interne par le clientsqlcmd
.SET QUOTED_IDENTIFIER OFF
SETTEXTSIZE4096
Utiliser pgvector dans Babelfish
pgvector, une extension open source, vous permet de rechercher des données similaires directement dans votre base de données Postgres. Babelfish supporte désormais cette extension à partir des versions 15.6 et 16.2. Pour plus d'informations, consultez la documentation open source de pgvector
Prérequis
Pour activer la fonctionnalité pgvector, installez l'extension dans le schéma sys en utilisant l'une des méthodes suivantes :
-
Exécutez la commande suivante dans le client sqlcmd :
exec sys.sp_execute_postgresql 'CREATE EXTENSION vector WITH SCHEMA sys';
Connectez-vous
babelfish_db
et exécutez la commande suivante dans le client psql :CREATE EXTENSION vector WITH SCHEMA sys;
Note
Après avoir installé l'extension pgvector, le type de données vectorielles ne sera disponible que dans les nouvelles connexions à la base de données que vous établirez. Les connexions existantes ne reconnaîtront pas le nouveau type de données.
Fonctionnalité prise en charge
Babelfish étend la fonctionnalité T pour prendre en charge les SQL fonctionnalités suivantes :
Stockage
Babelfish prend désormais en charge la syntaxe compatible avec les types de données vectoriels, améliorant ainsi sa compatibilité avec T. SQL Pour en savoir plus sur le stockage de données avec pgvector, consultez Stockage
. Interrogation
Babelfish étend la prise en charge de SQL l'expression T pour inclure les opérateurs de similarité vectorielle. Cependant, pour toutes les autres requêtes, la SQL syntaxe T standard est toujours requise.
Note
T- SQL ne prend pas en charge le type Array et les pilotes de base de données ne disposent d'aucune interface pour les gérer. Pour contourner le problème, Babelfish utilise des chaînes de texte (varchar/nvarchar) pour stocker des données vectorielles. Par exemple, lorsque vous demandez une valeur vectorielle [1,2,3], Babelfish renvoie une chaîne « [1,2,3] » comme réponse. Vous pouvez analyser et diviser cette chaîne au niveau de l'application selon vos besoins.
Pour en savoir plus sur l'interrogation de données avec pgvector, consultez la section Requête.
Indexation
T- supporte SQL
Create Index
désormaisUSING INDEX_METHOD
la syntaxe. Vous pouvez désormais définir l'opérateur de recherche de similarité à utiliser sur une colonne spécifique lors de la création d'un index.La grammaire est également étendue pour prendre en charge les opérations de similarité vectorielle sur la colonne requise (vérifiez la grammaire column_name_list_with_order_for_vector).
CREATE [UNIQUE] [clustered] [COLUMNSTORE] INDEX <index_name> ON <table_name> [USING vector_index_method] (<column_name_list_with_order_for_vector>) Where column_name_list_with_order_for_vector is: <column_name> [ASC | DESC] [VECTOR_COSINE_OPS | VECTOR_IP_OPS | VECTOR_L2_OPS] (COMMA simple_column_name [ASC | DESC] [VECTOR_COSINE_OPS | VECTOR_IP_OPS | VECTOR_L2_OPS])
Pour en savoir plus sur l'indexation des données avec pgvector, consultez Indexation.
Performances
SET BABELFISH_STATISTICS PROFILE ON
À utiliser pour déboguer les plans de requête à partir du point de SQL terminaison T.Augmentez
max_parallel_workers_get_gather
à l'aide de laset_config
fonction prise en charge dans T-SQL.À utiliser
IVFFlat
pour des recherches approximatives. Pour de plus amples informations, veuillez consulter IVFFlat.
Pour améliorer les performances avec pgvector, voir Performance.
Limites
Babelfish ne prend pas en charge la recherche en texte intégral pour la recherche hybride. Pour plus d'informations, consultez la section Recherche hybride
. Babelfish ne prend actuellement pas en charge la fonctionnalité de réindexation. Cependant, vous pouvez toujours utiliser le point de SQL terminaison Postgre pour réindexer. Pour plus d'informations, consultez la section Passer l'aspirateur
.
Utilisation de l'apprentissage automatique d'Amazon Aurora avec Babelfish
Vous pouvez étendre les fonctionnalités de votre cluster de SQL base de données Babelfish for Aurora Postgre en l'intégrant à l'apprentissage automatique Amazon Aurora. Cette intégration fluide vous donne accès à une gamme de services puissants tels qu'Amazon Comprehend, Amazon SageMaker AI ou Amazon Bedrock, chacun étant conçu pour répondre à des besoins d'apprentissage automatique distincts.
En tant qu'utilisateur de Babelfish, vous pouvez utiliser les connaissances existantes en matière de SQL syntaxe et de sémantique T lorsque vous travaillez avec le machine learning Aurora. Suivez les instructions fournies dans la AWS documentation d'Aurora PostgreSQL. Pour de plus amples informations, veuillez consulter Utilisation de l'apprentissage automatique d'Amazon Aurora avec Aurora Postgre SQL.
Prérequis
Avant d'essayer de configurer votre cluster de SQL base de données Babelfish for Aurora Postgre pour utiliser l'apprentissage automatique Aurora, vous devez connaître les exigences et les prérequis associés. Pour de plus amples informations, veuillez consulter Conditions requises pour utiliser l'apprentissage automatique Aurora avec Aurora Postgre SQL.
Assurez-vous d'installer l'
aws_ml
extension à l'aide du point de terminaison Postgres ou de la procédure dusp_execute_postgresql
magasin.exec sys.sp_execute_postgresql 'Create Extension aws_ml'
Note
Actuellement, Babelfish ne supporte pas les opérations en cascade
sp_execute_postgresql
dans Babelfish. Comme ilaws_ml
repose suraws_commons
, vous devrez l'installer séparément à l'aide du point de terminaison Postgres.create extension aws_common;
Gestion de la SQL syntaxe et de la sémantique T avec des fonctions aws_ml
Les exemples suivants expliquent comment SQL la syntaxe et la sémantique T sont appliquées aux services Amazon ML :
Exemple : aws_bedrock.invoke_model — Une requête simple utilisant les fonctions Amazon Bedrock
aws_bedrock.invoke_model( model_id varchar, content_type text, accept_type text, model_input text) Returns Varchar(MAX)
L'exemple suivant montre comment invoquer un modèle Anthropic Claude 2 pour Bedrock à l'aide de invoke_model.
SELECT aws_bedrock.invoke_model ( 'anthropic.claude-v2', -- model_id 'application/json', -- content_type 'application/json', -- accept_type '{"prompt": "\n\nHuman: You are a helpful assistant that answers questions directly and only using the information provided in the context below. \nDescribe the answerin detail.\n\nContext: %s \n\nQuestion: %s \n\nAssistant:","max_tokens_to_sample":4096,"temperature" :0.5,"top_k":250,"top_p":0.5,"stop_sequences":[]}' -- model_input );
Exemple : aws_comprehend.detect_sentiment — Une requête simple utilisant les fonctions Amazon Comprehend
aws_comprehend.detect_sentiment( input_text varchar, language_code varchar, max_rows_per_batch int) Returns table (sentiment varchar, confidence real)
L'exemple suivant montre comment appeler le service Amazon Comprehend.
select sentiment from aws_comprehend.detect_sentiment('This is great', 'en');
Exemple : aws_sagemaker.invoke_endpoint — Une requête simple utilisant les fonctions Amazon SageMaker
aws_sagemaker.invoke_endpoint( endpoint_name varchar, max_rows_per_batch int, VARIADIC model_input "any") -- Babelfish inherits PG's variadic parameter type Rerurns Varchar(MAX)
Puisque model_input est marqué comme VARIADIC et de type « any », les utilisateurs peuvent transmettre une liste de n'importe quelle longueur et de n'importe quel type de données à la fonction qui servira d'entrée au modèle. L'exemple suivant montre comment appeler le SageMaker service Amazon.
SELECT CAST (aws_sagemaker.invoke_endpoint( 'sagemaker_model_endpoint_name', NULL, arg1, arg2 -- model inputs are separate arguments ) AS INT) -- cast the output to INT
Pour des informations plus détaillées sur l'utilisation de l'apprentissage automatique Aurora avec Aurora PostgreSQL, consultezUtilisation de l'apprentissage automatique d'Amazon Aurora avec Aurora Postgre SQL.
Limites
-
Bien que Babelfish n'autorise pas la création de tableaux, il peut toujours gérer des données représentant des tableaux. Lorsque vous utilisez des fonctions telles
aws_bedrock.invoke_model_get_embeddings
que celles qui renvoient des tableaux, les résultats sont fournis sous forme de chaîne contenant les éléments du tableau.