• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

AWS 実行 API

プレビュー

この機能はまだ開発中ですが、ぜひお試しください。

この機能は現在、弊社のプレリリース ポリシーに従ってプレビュー プログラムの一部として提供されています。

このページでは、ワークフロー オートメーション アクション カタログで利用可能な AWS 実行 API の包括的なリファレンスを提供します。 これらのアクションにより、任意の AWS API 操作を実行できます。

前提条件

ワークフロー自動化で AWS アクションを使用する前に、次の点を確認してください。

  • 適切な権限を持つ AWS アカウント。
  • 設定された AWS 認証情報 (IAM ユーザー認証情報、IAM ロール ARN、またはセッション認証情報)。
  • 使用する予定の特定のAWSサービスに必要な IAM 権限。

IAM ユーザーおよび IAM ロールを作成する方法、およびワークフロー オートメーションAWSアクションと統合するための静的 AWS 認証情報とセッションAWS認証情報を設定する方法については、「 AWS認証情報のセットアップ」を参照してください。

セキュリティとIAMの設定

このアクションを使用するには、AWS 認証情報を設定する必要があります。IAM ロールまたは IAM ユーザーを作成する詳細な手順については、 「AWS 認証情報の設定」を参照してください。

重要

セキュリティのベストプラクティス:このアクションの IAM ポリシーを定義するときは、常に最小特権アクセスを使用してください。 ワークフローに必要な特定の AWS API アクションのみを許可し、ワイルドカードを使用するのではなく、特定のリソースへのアクセス許可を制限します。

必要なIAM権限

必要なアクセス許可は、ワークフローが呼び出すAWSサービスと API によって異なります。 最小権限ポリシーを作成するためのテンプレートとして以下の例を使用してください。

例1: 特定のSQSキューにメッセージを送信する

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

例 2: 特定の DynamoDB テーブルをクエリする

{
"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>"
}
]
}

例3: 特定の権限を持つ複数のサービス

{
"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>"
}
]
}

このアクションの動作の詳細については、 AWS Systems Manager の executeAwsApi ドキュメントを参照してください。

AWS APIを呼び出す

指定されたサービスに対して任意の AWS API 操作を実行します。AWS認証情報、リージョン、サービス名、 API名、およびオプションの懸念の提供をサポートします。 このアクションは、成功ステータス、応答データ、エラーメッセージなどの出力を返すことができるため、 AWSサービスとプログラム的にやり取りするための多用途性が得られます。

入力フィールド

オプション性

タイプ

awsRoleArn

オプション

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

awsAccessKeyId

オプション

${{ :secrets:<awsAccessKeyId> }}

awsSecretAccessKey

オプション

${{ :secrets:<awsSecretAccessKey> }}

awsSessionToken

オプション

${{ :secrets:<awsSessionToken> }}

リージョン

必須

region: "us-east-2"

サービス

必須

service: "sqs"

AWSで利用可能なサービス

API

必須

api: "create_queue"

パラメーター

必須

地図

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

セレクター

オプション

リスト

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

出力フィールド

タイプ

response

オブジェクト

{"response":<aws api reponse>}

- 各サービスと API には異なる応答があります。たとえば、

DynamoDB クエリの応答を

参照してください。

成功

ブール値

success: true | false

エラーメッセージ

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

重要

  • AWS 認証情報 (ショート、ロング、ロール) の少なくとも 1 つを入力する必要があります。ロールは他の認証情報よりも優先されます。
  • アクション入力でawsAccessKeyIdawsSecretAccessKeyを指定する場合、それらが IAM ユーザーの静的認証情報であることを確認してください。
  • セッション資格情報を使用する場合は、 awsAccessKeyIdawsSecretAccessKeyおよびawsSessionTokenアクション入力に渡す必要があります。
  • 手順については、 AWS 認証情報を参照してください。
  • セレクターを使用して、指定されたもののみを出力として取得します。

例: DynamoDB テーブルをクエリする

この例では、セッション認証情報を使用してaws.execute.apiアクションを使用して DynamoDB テーブルをクエリする方法を示します。

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 }}'

AWS Execute APIを使用したその他のワークフローの例については、ワークフローの例のページを参照してください。

Copyright © 2025 New Relic株式会社。

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