Étape 3 : Créer l’intégration API pour AWS dans Snowflake¶
Cette rubrique fournit des instructions pour créer un objet d’intégration API dans Snowflake afin de travailler avec votre service proxy (c’est-à-dire une Amazon API Gateway). Les instructions sont les mêmes, que vous utilisiez la console de gestion ou le modèle CloudFormation.
Dans ce chapitre :
Étape précédente¶
- Console de gestion AWS:
Etape 2 : Créez le service proxy (Amazon API Gateway) dans la console de gestion AWS
- Modèle AWS CloudFormation:
Étape 2 : Enregistrez l’URL de la passerelle Amazon API Gateway et l’ARN du nouveau rôle IAM
Conditions préalables¶
Vous avez besoin des informations suivantes pour créer l’intégration API pour AWS dans Snowflake :
Le
New IAM Role ARN
(de votre feuille de calcul de suivi).Le
Resource Invocation URL
(de votre feuille de calcul de suivi).
Créer l’intégration d’objet API¶
Ouvrez une session Snowflake, généralement une session d’interface Web Snowflake.
Utilisez un rôle Snowflake avec des privilèges ACCOUNTADMIN ou le privilège CREATE INTEGRATION, par exemple :
use role <has_accountadmin_privileges>;
Tapez la commande CREATE API INTEGRATION pour créer une intégration API. La commande doit ressembler à ce qui suit :
CREATE OR REPLACE API INTEGRATION my_api_integration_01 api_provider = aws_api_gateway api_aws_role_arn = '<new_IAM_role_ARN>' api_allowed_prefixes = ('https://') enabled = true;
Personnalisez la commande :
La clause
api_provider
doit être définie en fonction du type de point de terminaison :Si vous utilisez un point de terminaison privé, la clause api_provider doit être définie sur
aws_private_api_gateway
.Si vous utilisez un point de terminaison GovCloud du gouvernement américain, la clause api_provider doit être définie sur
aws_gov_private_api_gateway
ouaws_gov_api_gateway
.Pour la plupart des autres utilisateurs, la clause api_provider doit être définie sur
aws_api_gateway
.
Le
<nouveau_ARN_de_rôle_IAM>
doit être la valeur du champNew IAM Role ARN
dans la feuille de calcul de suivi.Le champ api_allowed_prefixes doit contenir l’URL de l’appel de ressource que vous avez enregistrée précédemment.
Voici un exemple d’une instruction CREATE API INTEGRATION complète :
create or replace api integration demonstration_external_api_integration_01 api_provider=aws_api_gateway api_aws_role_arn='arn:aws:iam::123456789012:role/my_cloud_account_role' api_allowed_prefixes=('https://xyz.execute-api.us-west-2.amazonaws.com/production/') enabled=true;
Dans le champ de la feuille de calcul de suivi intitulé
API Integration Name
, enregistrez le nom de l’intégration API que vous avez créée. Vous aurez besoin du nom de l’intégration API lorsque vous exécuterez la commande CREATE EXTERNAL FUNCTION ultérieurement.Exécutez la commande CREATE API INTEGRATION que vous avez tapée ci-dessus.
Enregistrez les API_AWS_IAM_USER_ARN et API_AWS_EXTERNAL_ID.¶
Exécutez la commande DESCRIBE INTEGRATION.
DESCRIBE INTEGRATION <my_integration_name>;
Par exemple :
DESCRIBE INTEGRATION my_api_integration_01;
Recherchez la propriété nommée API_AWS_IAM_USER_ARN puis enregistrez la property_value de cette propriété dans la feuille de calcul de suivi.
Trouvez la propriété nommée API_AWS_EXTERNAL_ID puis enregistrez la property_value de cette propriété dans la feuille de calcul de suivi.
Notez que la property_value de API_AWS_EXTERNAL_ID se termine souvent par un signe égal (« = »). Ce signe égal fait partie de la valeur ; assurez-vous de le couper et de le coller avec le reste de la property_value.
Pour les étapes suivantes, vous retournez à votre fenêtre d’administration AWS. Ne fermez pas votre fenêtre d’administration Snowflake maintenant ; vous devez y revenir plus tard.
Étape suivante¶
Étape 4 : Lier l’intégration API pour AWS au service proxy dans la console de gestion