POST https://api.ap1.datadoghq.com/api/v1/integration/aws/logs https://api.ap2.datadoghq.com/api/v1/integration/aws/logs https://api.datadoghq.eu/api/v1/integration/aws/logs https://api.ddog-gov.com/api/v1/integration/aws/logs https://api.us2.ddog-gov.com/api/v1/integration/aws/logs https://api.datadoghq.com/api/v1/integration/aws/logs https://api.us3.datadoghq.com/api/v1/integration/aws/logs https://api.us5.datadoghq.com/api/v1/integration/aws/logs
Overview Attach the Lambda ARN of the Lambda created for the Datadog-AWS log collection to your AWS account ID to enable log collection.
This endpoint requires the aws_configuration_edit permission.
Request Body Data (required) AWS Log Lambda Async request body.
Expand All
Your AWS Account ID without dashes.
ARN of the Datadog Lambda created during the Datadog-Amazon Web services Log collection setup.
{
"account_id" : "1234567" ,
"lambda_arn" : "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"
} Response Bad Request
Error response object.
Expand All
Array of errors returned by the API.
{
"errors" : [
"Bad Request"
]
} Authentication Error
Error response object.
Expand All
Array of errors returned by the API.
{
"errors" : [
"Bad Request"
]
} Too many requests
Error response object.
Expand All
Array of errors returned by the API.
{
"errors" : [
"Bad Request"
]
} Code Example Copy
## default
#
# Curl command curl -X POST "https://api.ap1.datadoghq.com "https://api.ap2.datadoghq.com "https://api.datadoghq.eu "https://api.ddog-gov.com "https://api.us2.ddog-gov.com "https://api.datadoghq.com "https://api.us3.datadoghq.com "https://api.us5.datadoghq.com /api/v1/integration/aws/logs " \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY} " \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY} " \
-d @- << EOF
{
"account_id": "1234567",
"lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"
}
EOF
"""
Add AWS Log Lambda ARN returns "OK" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v1.api.aws_logs_integration_api import AWSLogsIntegrationApi
from datadog_api_client.v1.model.aws_account_and_lambda_request import AWSAccountAndLambdaRequest
body = AWSAccountAndLambdaRequest (
account_id = "1234567" ,
lambda_arn = "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest" ,
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = AWSLogsIntegrationApi ( api_client )
response = api_instance . create_aws_lambda_arn ( body = body )
print ( response )
Instructions First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" python3 "example.py"
# Add AWS Log Lambda ARN returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V1 :: AWSLogsIntegrationAPI . new
body = DatadogAPIClient :: V1 :: AWSAccountAndLambdaRequest . new ({
account_id : "1234567" ,
lambda_arn : "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest" ,
})
p api_instance . create_aws_lambda_arn ( body )
Instructions First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" rb "example.rb"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi :: Client . new ( api_key , app_key )
config = {
"account_id" : '<AWS_ACCOUNT_ID>' ,
"lambda_arn" : 'arn:aws:lambda:<REGION>:<AWS_ACCOUNT_ID>:function:<LAMBDA_FUNCTION_NAME>'
}
dog . aws_logs_add_lambda ( config )
Instructions First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" rb "example.rb"
// Add AWS Log Lambda ARN returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV1"
)
func main () {
body := datadogV1 . AWSAccountAndLambdaRequest {
AccountId : "1234567" ,
LambdaArn : "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest" ,
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV1 . NewAWSLogsIntegrationApi ( apiClient )
resp , r , err := api . CreateAWSLambdaARN ( ctx , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `AWSLogsIntegrationApi.CreateAWSLambdaARN`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `AWSLogsIntegrationApi.CreateAWSLambdaARN`:\n%s\n" , responseContent )
}
Instructions First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" go run "main.go"
// Add AWS Log Lambda ARN returns "OK" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v1.api.AwsLogsIntegrationApi ;
import com.datadog.api.client.v1.model.AWSAccountAndLambdaRequest ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
AwsLogsIntegrationApi apiInstance = new AwsLogsIntegrationApi ( defaultClient );
AWSAccountAndLambdaRequest body =
new AWSAccountAndLambdaRequest ()
. accountId ( "1234567" )
. lambdaArn ( "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest" );
try {
apiInstance . createAWSLambdaARN ( body );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling AwsLogsIntegrationApi#createAWSLambdaARN" );
System . err . println ( "Status code: " + e . getCode ());
System . err . println ( "Reason: " + e . getResponseBody ());
System . err . println ( "Response headers: " + e . getResponseHeaders ());
e . printStackTrace ();
}
}
}
Instructions First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" java "Example.java"
from datadog import initialize , api
options = {
'api_key' : '<DATADOG_API_KEY>' ,
'app_key' : '<DATADOG_APPLICATION_KEY>'
}
initialize ( ** options )
account_id = "<AWS_ACCOUNT_ID>"
lambda_arn = "arn:aws:lambda:<REGION>:<AWS_ACCOUNT_ID>:function:<LAMBDA_FUNCTION_NAME>"
api . AwsLogsIntegration . add_log_lambda_arn ( account_id = account_id , lambda_arn = lambda_arn )
Instructions First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" python "example.py"
// Add AWS Log Lambda ARN returns "OK" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV1 ::api_aws_logs_integration ::AWSLogsIntegrationAPI ;
use datadog_api_client ::datadogV1 ::model ::AWSAccountAndLambdaRequest ;
#[tokio::main]
async fn main () {
let body = AWSAccountAndLambdaRequest ::new (
"1234567" . to_string (),
"arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest" . to_string (),
);
let configuration = datadog ::Configuration ::new ();
let api = AWSLogsIntegrationAPI ::with_config ( configuration );
let resp = api . create_aws_lambda_arn ( body ). await ;
if let Ok ( value ) = resp {
println! ( " {:#?} " , value );
} else {
println! ( " {:#?} " , resp . unwrap_err ());
}
}
Instructions First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" cargo run
/**
* Add AWS Log Lambda ARN returns "OK" response
*/
import { client , v1 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v1 . AWSLogsIntegrationApi ( configuration );
const params : v1.AWSLogsIntegrationApiCreateAWSLambdaARNRequest = {
body : {
accountId : "1234567" ,
lambdaArn :
"arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest" ,
},
};
apiInstance
. createAWSLambdaARN ( params )
. then (( data : any ) => {
console . log (
"API called successfully. Returned data: " + JSON . stringify ( data )
);
})
. catch (( error : any ) => console . error ( error ));
Instructions First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" tsc "example.ts"