• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

AWS Execute API

Aperçu

Nous travaillons toujours sur cette fonctionnalité, mais nous aimerions que vous l'essayiez !

Cette fonctionnalité est actuellement fournie dans le cadre d'un programme d'aperçu conformément à nos politiques de pré-sortie.

Cette page fournit une référence complète pour l'exécution de l'API AWS disponible dans le catalogue des actions d'automatisation des workflows. Ces actions vous permettent d'exécuter n'importe quelle opération d'API AWS.

Prérequis

Avant d'utiliser AWS Actions dans l'automatisation workflow, assurez-vous de disposer des éléments suivants :

  • Un compte AWS disposant des autorisations appropriées.
  • Informations d'identification AWS configurées (informations d'identification de l'utilisateur IAM, ARN du rôle IAM ou informations d'identification de session).
  • Les autorisations IAM nécessaires pour les services AWS spécifiques que vous prévoyez d'utiliser.

Consultez la section Configurer les informations d'identification AWS pour savoir comment créer un utilisateur IAM et des rôles IAM, et comment configurer les informations d'identification AWS statiques et de session pour l'intégration avec les actions AWS d'automatisation workflow.

configurationde la sécurité et d'IAM

Pour utiliser cette action, vous devez configurer vos identifiants AWS. Consultez la section « Configurer les informations d'identification AWS » pour obtenir des instructions détaillées sur la création d'un rôle IAM ou d'un utilisateur IAM.

Important

Bonnes pratiques de sécurité : lors de la définition des politiques IAM pour cette action, utilisez toujours le principe du moindre privilège. N’accordez que les actions spécifiques de l’API AWS requises par votre workflow et limitez les autorisations à des ressources spécifiques plutôt que d’utiliser des caractères génériques.

Autorisations IAM requises

Les autorisations dont vous avez besoin dépendent des services AWS et des API que votre workflow appelle. Utilisez les exemples ci-dessous comme modèles pour créer des politiques de moindre privilège.

Exemple 1 : Envoyer des messages à une file d'attente SQS spécifique

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:us-west-2:<your-aws-account-id>:<your-queue-name>"
}
]
}

Exemples 2 : Interroger une table DynamoDB spécifique

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "dynamodb:Query",
"Resource": "arn:aws:dynamodb:us-west-2:<your-aws-account-id>:table/<your-table-name>"
}
]
}

Exemple 3 : Plusieurs services avec des autorisations spécifiques

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:us-west-2:<your-aws-account-id>:<your-queue-name>"
},
{
"Effect": "Allow",
"Action": "dynamodb:Query",
"Resource": "arn:aws:dynamodb:us-west-2:<your-aws-account-id>:table/<your-table-name>"
}
]
}

Pour plus d'informations sur le fonctionnement de cette action, consultez la documentation AWS système Manager executeAwsApi.

Appeler une API AWS

Exécutez n'importe quelle opération d'API AWS pour un service spécifié. Il prend en charge la fourniture d'informations d'identification AWS, de la région, du nom du service, du nom de l'API et de paramètres facultatifs. L'action peut renvoyer des sorties telles que l'état de réussite, les données de réponse et les messages d'erreur, ce qui la rend polyvalente pour interagir avec les services AWS par programmation.

Champ de saisie

optionnalité

Type

Exemple

awsRoleArn

Facultatif

Chaîne

arn:aws:iam::123456789012:role/my-workflow-role

awsAccessKeyId

Facultatif

Chaîne

${{ :secrets:<awsAccessKeyId> }}

awsSecretAccessKey

Facultatif

Chaîne

${{ :secrets:<awsSecretAccessKey> }}

awsSessionToken

Facultatif

Chaîne

${{ :secrets:<awsSessionToken> }}

région

Requis

Chaîne

region: "us-east-2"

service

Requis

Chaîne

service: "sqs"

Services AWS disponibles

API

Requis

Chaîne

api: "create_queue"

paramètres

Requis

Carte

parameters: {
"QueueName": "dks-testing-queue",
"Attributes": {
"DelaySeconds": "0",
"MessageRetentionPeriod": "86400"
}
}

sélecteurs

Facultatif

List

[{\"name\": \"response\", \"expression\": \".response\"}, {\"name\": \"success\", \"expression\": \".success\"}, {\"name\": \"errorMessage\", \"expression\": \".errorMessage\"}]

Champ de sortie

Type

Exemple

response

Objet

{"response":<aws api reponse>}

- chaque service et API ont une réponse différente, par exemple, voir la

réponse de la requête DynamoDB

.

succès

Booléen

success: true | false

message d'erreur

Chaîne

errorMessage: "User does not have permission to query DynamoDB"

Important

  • Au moins une des informations d'identification AWS (courte, longue, rôle) doit être fournie, le rôle étant prioritaire sur les autres.
  • Dans l'entrée d'action, si awsAccessKeyId et awsSecretAccessKey doivent être fournis, assurez-vous qu'il s'agit d'informations d'identification statiques d'un utilisateur IAM.
  • Si des informations d'identification de session doivent être utilisées, awsAccessKeyId, awsSecretAccessKey et awsSessionToken doivent être transmises à l'entrée d'action.
  • Reportez-vous à Informations d'identification AWS pour obtenir des instructions.
  • Utilisez des sélecteurs pour obtenir uniquement les paramètres spécifiés en sortie.

Exemple : Interroger une table DynamoDB

Cet exemple montre comment interroger une table DynamoDB en utilisant l'action aws.execute.api avec des informations d'identification de session.

name: aws_execute_api_dynamoDB_dks
workflowInputs:
key:
type: String
defaultValue: "${{ :secrets:<aws_access_key_id> }}"
access:
type: String
defaultValue: "${{ :secrets:<aws_secret_access_key? }}"
token:
type: String
defaultValue: "${{ :secrets:<aws_session_token> }}"
region:
type: String
defaultValue: us-east-2
tableName:
type: String
defaultValue: workflow-definitions-dev
scopedName:
type: String
version:
type: String
defaultValue: "1"
steps:
- name: executeApi
type: action
action: aws.execute.api
version: 1
inputs:
awsAccessKeyId: ${{ .workflowInputs.key }}
awsSecretAccessKey: ${{ .workflowInputs.access }}
awsSessionToken: ${{ .workflowInputs.token }}
region: ${{ .workflowInputs.region }}
service: dynamodb
api: query
parameters:
TableName: ${{ .workflowInputs.tableName }}
KeyConditionExpression: "ScopedName = :scopedNameValue AND Version = :VersionValue"
ExpressionAttributeValues:
":scopedNameValue":
S: ${{ .workflowInputs.scopedName }}
":VersionValue":
N: ${{ .workflowInputs.version }}
selectors:
- name: response
expression: '.response'
- name: errorMessage
expression: '.errorMessage'
- name: success
expression: '.success'
- name: wait
type: wait
seconds: 2
- name: logOutput
type: action
action: newrelic.instrumentation.log
version: 1
inputs:
message: 'The execute API message output is:${{ .steps.executeApi.outputs.response.Item }}'
licenseKey: '${{ :secrets:STAGING_NEW_RELIC_LICENSE_KEY }}'
- name: logOutput1
type: action
action: newrelic.instrumentation.log
version: 1
inputs:
message: 'does execute API have any error :${{ .steps.executeApi.outputs.errorMessage }}'
licenseKey: '${{ :secrets:STAGING_NEW_RELIC_LICENSE_KEY }}'
- name: logOutput2
type: action
action: newrelic.instrumentation.log
version: 1
inputs:
message: 'is execute successful :${{ .steps.executeApi.outputs.success }}'
licenseKey: '${{ :secrets:STAGING_NEW_RELIC_LICENSE_KEY }}'

Pour plus d'exemples de workflow utilisant l'API AWS Execute, consultez la page Exemples de workflow.

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.