title: Can't get Amazon CloudWatch Logs from lambda by node.js
body: <p>I want to get cloudwatch logs using AWS.CloudWatchLogs.describeLogStreams but that return response with httpstatuscode = 'undefined' and no data.</p>
  
  <p>How should I deal with this problem?</p>
  
  <p>I execute following code to debug.</p>
  
  <pre><code>const aws = require('aws-sdk')
  
  exports.handler = async (event, context) =&gt; {
    const cloudwatchlogs = new aws.CloudWatchLogs();
    const params = {
      logGroupName: '/aws/lambda/test'
    }
    var tmp = await cloudwatchlogs.describeLogStreams(params);
    console.log(tmp);
  };
  </code></pre>
  
  <p>And get the following logs.  </p>
  
  <pre><code>2020-05-26T22:48:25.869Z    51891acf-302d-4d71-8f3b-b98cab65192d    INFO    Request {
    domain: null,
    service: Service {
      config: Config {
        credentials: [EnvironmentCredentials],
        credentialProvider: [CredentialProviderChain],
        region: 'ap-northeast-1',
        logger: null,
        apiVersions: {},
        apiVersion: null,
        endpoint: 'logs.ap-northeast-1.amazonaws.com',
        httpOptions: [Object],
        maxRetries: undefined,
        maxRedirects: 10,
        paramValidation: true,
        sslEnabled: true,
        s3ForcePathStyle: false,
        s3BucketEndpoint: false,
        s3DisableBodySigning: true,
        s3UsEast1RegionalEndpoint: 'legacy',
        s3UseArnRegion: undefined,
        computeChecksums: true,
        convertResponseTypes: true,
        correctClockSkew: false,
        customUserAgent: null,
        dynamoDbCrc32: true,
        systemClockOffset: 0,
        signatureVersion: 'v4',
        signatureCache: true,
        retryDelayOptions: {},
        useAccelerateEndpoint: false,
        clientSideMonitoring: false,
        endpointDiscoveryEnabled: false,
        endpointCacheSize: 1000,
        hostPrefixEnabled: true,
        stsRegionalEndpoints: 'legacy'
      },
      isGlobalEndpoint: false,
      endpoint: Endpoint {
        protocol: 'https:',
        host: 'logs.ap-northeast-1.amazonaws.com',
        port: 443,
        hostname: 'logs.ap-northeast-1.amazonaws.com',
        pathname: '/',
        path: '/',
        href: 'https://logs.ap-northeast-1.amazonaws.com/'
      },
      _events: { apiCallAttempt: [Array], apiCall: [Array] },
      MONITOR_EVENTS_BUBBLE: [Function: EVENTS_BUBBLE],
      CALL_EVENTS_BUBBLE: [Function: CALL_EVENTS_BUBBLE],
      _clientId: 1
    },
    operation: 'describeLogGroups',
    params: {},
    httpRequest: HttpRequest {
      method: 'POST',
      path: '/',
      headers: {
        'User-Agent': 'aws-sdk-nodejs/2.682.0 linux/v12.16.3 exec-env/AWS_Lambda_nodejs12.x'
      },
      body: '',
      endpoint: Endpoint {
        protocol: 'https:',
        host: 'logs.ap-northeast-1.amazonaws.com',
        port: 443,
        hostname: 'logs.ap-northeast-1.amazonaws.com',
        pathname: '/',
        path: '/',
        href: 'https://logs.ap-northeast-1.amazonaws.com/',
        constructor: [Function]
      },
      region: 'ap-northeast-1',
      _userAgent: 'aws-sdk-nodejs/2.682.0 linux/v12.16.3 exec-env/AWS_Lambda_nodejs12.x'
    },
    startTime: 2020-05-26T22:48:25.866Z,
    response: Response {
      request: [Circular],
      data: null,
      error: null,
      retryCount: 0,
      redirectCount: 0,
      httpResponse: HttpResponse {
        statusCode: undefined,
        headers: {},
        body: undefined,
        streaming: false,
        stream: null
      },
      maxRetries: 3,
      maxRedirects: 10
    },
    _asm: AcceptorStateMachine {
      currentState: 'validate',
      states: {
        validate: [Object],
        build: [Object],
        afterBuild: [Object],
        sign: [Object],
        retry: [Object],
        afterRetry: [Object],
        send: [Object],
        validateResponse: [Object],
        extractError: [Object],
        extractData: [Object],
        restart: [Object],
        success: [Object],
        error: [Object],
        complete: [Object]
      }
    },
    _haltHandlersOnError: false,
    _events: {
      validate: [
        [Function],
        [Function],
        [Function: VALIDATE_REGION],
        [Function: BUILD_IDEMPOTENCY_TOKENS],
        [Function: VALIDATE_PARAMETERS]
      ],
      afterBuild: [
        [Function],
        [Function: SET_CONTENT_LENGTH],
        [Function: SET_HTTP_HOST]
      ],
      restart: [ [Function: RESTART] ],
      sign: [ [Function], [Function], [Function] ],
      validateResponse: [ [Function: VALIDATE_RESPONSE], [Function] ],
      send: [ [Function] ],
      httpHeaders: [ [Function: HTTP_HEADERS] ],
      httpData: [ [Function: HTTP_DATA] ],
      httpDone: [ [Function: HTTP_DONE] ],
      retry: [
        [Function: FINALIZE_ERROR],
        [Function: INVALIDATE_CREDENTIALS],
        [Function: EXPIRED_SIGNATURE],
        [Function: CLOCK_SKEWED],
        [Function: REDIRECT],
        [Function: RETRY_CHECK],
        [Function: API_CALL_ATTEMPT_RETRY]
      ],
      afterRetry: [ [Function] ],
      build: [ [Function: buildRequest] ],
      extractData: [ [Function: extractData], [Function: extractRequestId] ],
      extractError: [ [Function: extractError], [Function: extractRequestId] ],
      httpError: [ [Function: ENOTFOUND_ERROR] ],
      success: [ [Function: API_CALL_ATTEMPT] ],
      complete: [ [Function: API_CALL] ]
    },
    emit: [Function: emit],
    API_CALL_ATTEMPT: [Function: API_CALL_ATTEMPT],
    API_CALL_ATTEMPT_RETRY: [Function: API_CALL_ATTEMPT_RETRY],
    API_CALL: [Function: API_CALL]
  }
  </code></pre>
  
  <p><strong>Supplement:</strong>  </p>
  
  <ul>
  <li>My lambda function has CloudWatchFullAccess policy</li>
  <li>I can see cloudwatch logs of this function in cloudwatch console.</li>
  <li>My lambda function runtime is Node.js 12.x</li>
  </ul>