Class: Aws::Lambda::Client

Inherits:
Seahorse::Client::Base
  • Object
show all
Includes:
ClientStubs
Defined in:
lib/aws-sdk-lambda/client.rb

Class Attribute Summary collapse

API Operations collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • ‘Aws::Credentials` - Used for configuring static, non-refreshing credentials.

    • ‘Aws::InstanceProfileCredentials` - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • ‘Aws::SharedCredentials` - Used for loading credentials from a shared file, such as `~/.aws/config`.

    • ‘Aws::AssumeRoleCredentials` - Used when you need to assume a role.

    When ‘:credentials` are not configured directly, the following locations will be searched for credentials:

    • Aws.config`

    • The ‘:access_key_id`, `:secret_access_key`, and `:session_token` options.

    • ENV, ENV

    • ‘~/.aws/credentials`

    • ‘~/.aws/config`

    • EC2 IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of ‘Aws::InstanceProfileCredentails` to enable retries and extended timeouts.

  • :region (required, String)

    The AWS region to connect to. The configured ‘:region` is used to determine the service `:endpoint`. When not passed, a default `:region` is search for in the following locations:

  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to ‘true`, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to `false`.

  • :client_side_monitoring (Boolean) — default: false

    When ‘true`, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When ‘true`, an attempt is made to coerce request parameters into the required types.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :endpoint (String)

    The client endpoint is normally constructed from the ‘:region` option. You should only configure an `:endpoint` when connecting to test endpoints. This should be avalid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to ‘true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the ‘:logger` at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, ‘default’ is used.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.

    @see www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.

  • :secret_access_key (String)
  • :session_token (String)
  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    ** Please note ** When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :validate_params (Boolean) — default: true

    When ‘true`, request parameters are validated before sending the request.



202
203
204
# File 'lib/aws-sdk-lambda/client.rb', line 202

def initialize(*args)
  super
end

Class Attribute Details

.identifierObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



3165
3166
3167
# File 'lib/aws-sdk-lambda/client.rb', line 3165

def identifier
  @identifier
end

Class Method Details

.errors_moduleObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



3168
3169
3170
# File 'lib/aws-sdk-lambda/client.rb', line 3168

def errors_module
  Errors
end

Instance Method Details

#add_permission(params = {}) ⇒ Types::AddPermissionResponse

Adds a permission to the resource policy associated with the specified AWS Lambda function. You use resource policies to grant permissions to event sources that use the push model. In a push model, event sources (such as Amazon S3 and custom applications) invoke your Lambda function. Each permission you add to the resource policy allows an event source permission to invoke the Lambda function.

Permissions apply to the Amazon Resource Name (ARN) used to invoke the function, which can be unqualified (the unpublished version of the function), or include a version or alias. If a client uses a version or alias to invoke a function, use the ‘Qualifier` parameter to apply permissions to that ARN. For more information about versioning, see [AWS Lambda Function Versioning and Aliases].

This operation requires permission for the ‘lambda:AddPermission` action.

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

Examples:

Example: add-permission


# This example adds a permission for an S3 bucket to invoke a Lambda function.

resp = client.add_permission({
  action: "lambda:InvokeFunction", 
  function_name: "MyFunction", 
  principal: "s3.amazonaws.com", 
  source_account: "123456789012", 
  source_arn: "arn:aws:s3:::examplebucket/*", 
  statement_id: "ID-1", 
})

resp.to_h outputs the following:
{
  statement: "ID-1", 
}

Request syntax with placeholder values


resp = client.add_permission({
  function_name: "FunctionName", # required
  statement_id: "StatementId", # required
  action: "Action", # required
  principal: "Principal", # required
  source_arn: "Arn",
  source_account: "SourceOwner",
  event_source_token: "EventSourceToken",
  qualifier: "Qualifier",
  revision_id: "String",
})

Response structure


resp.statement #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :statement_id (required, String)

    A unique statement identifier.

  • :action (required, String)

    The AWS Lambda action you want to allow in this statement. Each Lambda action is a string starting with ‘lambda:` followed by the API name . For example, `lambda:CreateFunction`. You can use wildcard (`lambda:*`) to grant permission for all AWS Lambda actions.

  • :principal (required, String)

    The principal who is getting this permission. The principal can be an AWS service (e.g. ‘s3.amazonaws.com` or `sns.amazonaws.com`) for service triggers, or an account ID for cross-account access. If you specify a service as a principal, use the `SourceArn` parameter to limit who can invoke the function through that service.

  • :source_arn (String)

    The Amazon Resource Name of the invoker.

    If you add a permission to a service principal without providing the source ARN, any AWS account that creates a mapping to your function ARN can invoke your Lambda function.

  • :source_account (String)

    This parameter is used for S3 and SES. The AWS account ID (without a hyphen) of the source owner. For example, if the ‘SourceArn` identifies a bucket, then this is the bucket owner’s account ID. You can use this additional condition to ensure the bucket you specify is owned by a specific account (it is possible the bucket owner deleted the bucket and some other AWS account created the bucket). You can also use this condition to specify all sources (that is, you don’t specify the ‘SourceArn`) owned by a specific account.

  • :event_source_token (String)

    A unique token that must be supplied by the principal invoking the function. This is currently only used for Alexa Smart Home functions.

  • :qualifier (String)

    Specify a version or alias to add permissions to a published version of the function.

  • :revision_id (String)

    An optional value you can use to ensure you are updating the latest update of the function version or alias. If the ‘RevisionID` you pass doesn’t match the latest ‘RevisionId` of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias `RevisionID` using either GetFunction or GetAlias

Returns:

See Also:



338
339
340
341
# File 'lib/aws-sdk-lambda/client.rb', line 338

def add_permission(params = {}, options = {})
  req = build_request(:add_permission, params)
  req.send_request(options)
end

#build_request(operation_name, params = {}) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • params ({}) (defaults to: {})


3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
# File 'lib/aws-sdk-lambda/client.rb', line 3143

def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config)
  context[:gem_name] = 'aws-sdk-lambda'
  context[:gem_version] = '1.15.0'
  Seahorse::Client::Request.new(handlers, context)
end

#create_alias(params = {}) ⇒ Types::AliasConfiguration

Creates an alias that points to the specified Lambda function version. For more information, see [Introduction to AWS Lambda Aliases].

Alias names are unique for a given function. This requires permission for the lambda:CreateAlias action.

[1]: docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html

Examples:

Request syntax with placeholder values


resp = client.create_alias({
  function_name: "FunctionName", # required
  name: "Alias", # required
  function_version: "Version", # required
  description: "Description",
  routing_config: {
    additional_version_weights: {
      "AdditionalVersion" => 1.0,
    },
  },
})

Response structure


resp.alias_arn #=> String
resp.name #=> String
resp.function_version #=> String
resp.description #=> String
resp.routing_config.additional_version_weights #=> Hash
resp.routing_config.additional_version_weights["AdditionalVersion"] #=> Float
resp.revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :name (required, String)

    Name for the alias you are creating.

  • :function_version (required, String)

    Lambda function version for which you are creating the alias.

  • :description (String)

    Description of the alias.

  • :routing_config (Types::AliasRoutingConfiguration)

    Specifies an additional version your alias can point to, allowing you to dictate what percentage of traffic will invoke each version. For more information, see [Traffic Shifting Using Aliases].

    [1]: docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html

Returns:

See Also:



423
424
425
426
# File 'lib/aws-sdk-lambda/client.rb', line 423

def create_alias(params = {}, options = {})
  req = build_request(:create_alias, params)
  req.send_request(options)
end

#create_event_source_mapping(params = {}) ⇒ Types::EventSourceMappingConfiguration

Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source and triggers the function.

For details about each event source type, see the following topics.

  • Using AWS Lambda with Amazon Kinesis][1
  • Using AWS Lambda with Amazon SQS][2
  • Using AWS Lambda with Amazon DynamoDB][3

[1]: docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html [2]: docs.aws.amazon.com/lambda/latest/dg/with-sqs.html [3]: docs.aws.amazon.com/lambda/latest/dg/with-ddb.html

Examples:

Request syntax with placeholder values


resp = client.create_event_source_mapping({
  event_source_arn: "Arn", # required
  function_name: "FunctionName", # required
  enabled: false,
  batch_size: 1,
  starting_position: "TRIM_HORIZON", # accepts TRIM_HORIZON, LATEST, AT_TIMESTAMP
  starting_position_timestamp: Time.now,
})

Response structure


resp.uuid #=> String
resp.batch_size #=> Integer
resp.event_source_arn #=> String
resp.function_arn #=> String
resp.last_modified #=> Time
resp.last_processing_result #=> String
resp.state #=> String
resp.state_transition_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :event_source_arn (required, String)

    The Amazon Resource Name (ARN) of the event source.

    • **Amazon Kinesis** - The ARN of the data stream or a stream consumer.

    • **Amazon DynamoDB Streams** - The ARN of the stream.

    • **Amazon Simple Queue Service** - The ARN of the queue.

  • :function_name (required, String)

    The name of the Lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Version or Alias ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it’s limited to 64 characters in length.

  • :enabled (Boolean)

    Disables the event source mapping to pause polling and invocation.

  • :batch_size (Integer)

    The maximum number of items to retrieve in a single batch.

    • **Amazon Kinesis** - Default 100. Max 10,000.

    • **Amazon DynamoDB Streams** - Default 100. Max 1,000.

    • **Amazon Simple Queue Service** - Default 10. Max 10.

  • :starting_position (String)

    The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams sources. ‘AT_TIMESTAMP` is only supported for Amazon Kinesis streams.

  • :starting_position_timestamp (Time, DateTime, Date, Integer, String)

    With ‘StartingPosition` set to `AT_TIMESTAMP`, the Unix time in seconds from which to start reading.

Returns:

See Also:



531
532
533
534
# File 'lib/aws-sdk-lambda/client.rb', line 531

def create_event_source_mapping(params = {}, options = {})
  req = build_request(:create_event_source_mapping, params)
  req.send_request(options)
end

#create_function(params = {}) ⇒ Types::FunctionConfiguration

Creates a new Lambda function. The function configuration is created from the request parameters, and the code for the function is provided by a .zip file. The function name is case-sensitive.

This operation requires permission for the ‘lambda:CreateFunction` action.

Examples:

Example: create-function


# This example creates a Lambda function.

resp = client.create_function({
  code: {
  }, 
  description: "", 
  function_name: "MyFunction", 
  handler: "souce_file.handler_name", # is of the form of the name of your source file and then name of your function handler
  memory_size: 128, 
  publish: true, 
  role: "arn:aws:iam::123456789012:role/service-role/role-name", # replace with the actual arn of the execution role you created
  runtime: "nodejs4.3", 
  timeout: 15, 
  vpc_config: {
  }, 
})

resp.to_h outputs the following:
{
  code_sha_256: "", 
  code_size: 123, 
  description: "", 
  function_arn: "arn:aws:lambda:us-west-2:123456789012:function:MyFunction", 
  function_name: "MyFunction", 
  handler: "source_file.handler_name", 
  last_modified: Time.parse("2016-11-21T19:49:20.006+0000"), 
  memory_size: 128, 
  role: "arn:aws:iam::123456789012:role/service-role/role-name", 
  runtime: "nodejs4.3", 
  timeout: 123, 
  version: "1", 
  vpc_config: {
  }, 
}

Request syntax with placeholder values


resp = client.create_function({
  function_name: "FunctionName", # required
  runtime: "nodejs", # required, accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, java8, python2.7, python3.6, python3.7, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, nodejs4.3-edge, go1.x
  role: "RoleArn", # required
  handler: "Handler", # required
  code: { # required
    zip_file: "data",
    s3_bucket: "S3Bucket",
    s3_key: "S3Key",
    s3_object_version: "S3ObjectVersion",
  },
  description: "Description",
  timeout: 1,
  memory_size: 1,
  publish: false,
  vpc_config: {
    subnet_ids: ["SubnetId"],
    security_group_ids: ["SecurityGroupId"],
  },
  dead_letter_config: {
    target_arn: "ResourceArn",
  },
  environment: {
    variables: {
      "EnvironmentVariableName" => "EnvironmentVariableValue",
    },
  },
  kms_key_arn: "KMSKeyArn",
  tracing_config: {
    mode: "Active", # accepts Active, PassThrough
  },
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.function_name #=> String
resp.function_arn #=> String
resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "java8", "python2.7", "python3.6", "python3.7", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "nodejs4.3-edge", "go1.x"
resp.role #=> String
resp.handler #=> String
resp.code_size #=> Integer
resp.description #=> String
resp.timeout #=> Integer
resp.memory_size #=> Integer
resp.last_modified #=> Time
resp.code_sha_256 #=> String
resp.version #=> String
resp.vpc_config.subnet_ids #=> Array
resp.vpc_config.subnet_ids[0] #=> String
resp.vpc_config.security_group_ids #=> Array
resp.vpc_config.security_group_ids[0] #=> String
resp.vpc_config.vpc_id #=> String
resp.dead_letter_config.target_arn #=> String
resp.environment.variables #=> Hash
resp.environment.variables["EnvironmentVariableName"] #=> String
resp.environment.error.error_code #=> String
resp.environment.error.message #=> String
resp.kms_key_arn #=> String
resp.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.master_arn #=> String
resp.revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :runtime (required, String)

    The runtime version for the function.

  • :role (required, String)

    The Amazon Resource Name (ARN) of the function’s [execution role].

    [1]: docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role

  • :handler (required, String)

    The name of the method within your code that Lambda calls to execute your function. For more information, see [Programming Model].

    [1]: docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html

  • :code (required, Types::FunctionCode)

    The code for the function.

  • :description (String)

    A description of the function.

  • :timeout (Integer)

    The amount of time that Lambda allows a function to run before terminating it. The default is 3 seconds. The maximum allowed value is 900 seconds.

  • :memory_size (Integer)

    The amount of memory that your function has access to. Increasing the function’s memory also increases it’s CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

  • :publish (Boolean)

    Set to true to publish the first version of the function during creation.

  • :vpc_config (Types::VpcConfig)

    If your Lambda function accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID.

  • :dead_letter_config (Types::DeadLetterConfig)

    A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see [Dead Letter Queues].

    [1]: docs.aws.amazon.com/lambda/latest/dg/dlq.html

  • :environment (Types::Environment)

    Environment variables that are accessible from function code during execution.

  • :kms_key_arn (String)

    The ARN of the KMS key used to encrypt your function’s environment variables. If not provided, AWS Lambda will use a default service key.

  • :tracing_config (Types::TracingConfig)

    Set ‘Mode` to `Active` to sample and trace a subset of incoming requests with AWS X-Ray.

  • :tags (Hash<String,String>)

    The list of tags (key-value pairs) assigned to the new function. For more information, see [Tagging Lambda Functions] in the **AWS Lambda Developer Guide**.

    [1]: docs.aws.amazon.com/lambda/latest/dg/tagging.html

Returns:

See Also:



763
764
765
766
# File 'lib/aws-sdk-lambda/client.rb', line 763

def create_function(params = {}, options = {})
  req = build_request(:create_function, params)
  req.send_request(options)
end

#delete_alias(params = {}) ⇒ Struct

Deletes the specified Lambda function alias. For more information, see [Introduction to AWS Lambda Aliases].

This requires permission for the lambda:DeleteAlias action.

[1]: docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html

Examples:

Example: To delete a Lambda function alias


# This operation deletes a Lambda function alias

resp = client.delete_alias({
  function_name: "myFunction", 
  name: "alias", 
})

Request syntax with placeholder values


resp = client.delete_alias({
  function_name: "FunctionName", # required
  name: "Alias", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :name (required, String)

    Name of the alias to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



818
819
820
821
# File 'lib/aws-sdk-lambda/client.rb', line 818

def delete_alias(params = {}, options = {})
  req = build_request(:delete_alias, params)
  req.send_request(options)
end

#delete_event_source_mapping(params = {}) ⇒ Types::EventSourceMappingConfiguration

Deletes an event source mapping.

Examples:

Example: To delete a Lambda function event source mapping


# This operation deletes a Lambda function event source mapping

resp = client.delete_event_source_mapping({
  uuid: "12345kxodurf3443", 
})

resp.to_h outputs the following:
{
  batch_size: 123, 
  event_source_arn: "arn:aws:s3:::examplebucket/*", 
  function_arn: "arn:aws:lambda:us-west-2:123456789012:function:myFunction", 
  last_modified: Time.parse("2016-11-21T19:49:20.006+0000"), 
  last_processing_result: "", 
  state: "", 
  state_transition_reason: "", 
  uuid: "12345kxodurf3443", 
}

Request syntax with placeholder values


resp = client.delete_event_source_mapping({
  uuid: "String", # required
})

Response structure


resp.uuid #=> String
resp.batch_size #=> Integer
resp.event_source_arn #=> String
resp.function_arn #=> String
resp.last_modified #=> Time
resp.last_processing_result #=> String
resp.state #=> String
resp.state_transition_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :uuid (required, String)

    The identifier of the event source mapping.

Returns:

See Also:



881
882
883
884
# File 'lib/aws-sdk-lambda/client.rb', line 881

def delete_event_source_mapping(params = {}, options = {})
  req = build_request(:delete_event_source_mapping, params)
  req.send_request(options)
end

#delete_function(params = {}) ⇒ Struct

Deletes a Lambda function. To delete a specific function version, use the ‘Qualifier` parameter. Otherwise, all versions and aliases are deleted. Event source mappings are not deleted.

This operation requires permission for the ‘lambda:DeleteFunction` action.

Examples:

Example: To delete a Lambda function


# This operation deletes a Lambda function

resp = client.delete_function({
  function_name: "myFunction", 
  qualifier: "1", 
})

Request syntax with placeholder values


resp = client.delete_function({
  function_name: "FunctionName", # required
  qualifier: "Qualifier",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :qualifier (String)

    Specify a version to delete. You cannot delete a version that is referenced by an alias.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



935
936
937
938
# File 'lib/aws-sdk-lambda/client.rb', line 935

def delete_function(params = {}, options = {})
  req = build_request(:delete_function, params)
  req.send_request(options)
end

#delete_function_concurrency(params = {}) ⇒ Struct

Removes concurrent execution limits from this function. For more information, see [Managing Concurrency].

[1]: docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html

Examples:

Request syntax with placeholder values


resp = client.delete_function_concurrency({
  function_name: "FunctionName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



974
975
976
977
# File 'lib/aws-sdk-lambda/client.rb', line 974

def delete_function_concurrency(params = {}, options = {})
  req = build_request(:delete_function_concurrency, params)
  req.send_request(options)
end

#get_account_settings(params = {}) ⇒ Types::GetAccountSettingsResponse

Retrieves details about your account’s [limits] and usage in a region.

[1]: docs.aws.amazon.com/lambda/latest/dg/limits.html

Examples:

Example: To retrieves a Lambda customer’s account settings


# This operation retrieves a Lambda customer's account settings

resp = client.({
})

resp.to_h outputs the following:
{
  account_limit: {
  }, 
  account_usage: {
  }, 
}

Response structure


resp..total_code_size #=> Integer
resp..code_size_unzipped #=> Integer
resp..code_size_zipped #=> Integer
resp..concurrent_executions #=> Integer
resp..unreserved_concurrent_executions #=> Integer
resp..total_code_size #=> Integer
resp..function_count #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



1021
1022
1023
1024
# File 'lib/aws-sdk-lambda/client.rb', line 1021

def (params = {}, options = {})
  req = build_request(:get_account_settings, params)
  req.send_request(options)
end

#get_alias(params = {}) ⇒ Types::AliasConfiguration

Returns the specified alias information such as the alias ARN, description, and function version it is pointing to. For more information, see [Introduction to AWS Lambda Aliases].

This requires permission for the ‘lambda:GetAlias` action.

[1]: docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html

Examples:

Example: To retrieve a Lambda function alias


# This operation retrieves a Lambda function alias

resp = client.get_alias({
  function_name: "myFunction", 
  name: "myFunctionAlias", 
})

resp.to_h outputs the following:
{
  alias_arn: "arn:aws:lambda:us-west-2:123456789012:function:myFunctionAlias", 
  description: "", 
  function_version: "1", 
  name: "myFunctionAlias", 
}

Request syntax with placeholder values


resp = client.get_alias({
  function_name: "FunctionName", # required
  name: "Alias", # required
})

Response structure


resp.alias_arn #=> String
resp.name #=> String
resp.function_version #=> String
resp.description #=> String
resp.routing_config.additional_version_weights #=> Hash
resp.routing_config.additional_version_weights["AdditionalVersion"] #=> Float
resp.revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :name (required, String)

    Name of the alias for which you want to retrieve information.

Returns:

See Also:



1102
1103
1104
1105
# File 'lib/aws-sdk-lambda/client.rb', line 1102

def get_alias(params = {}, options = {})
  req = build_request(:get_alias, params)
  req.send_request(options)
end

#get_event_source_mapping(params = {}) ⇒ Types::EventSourceMappingConfiguration

Returns details about an event source mapping.

Examples:

Example: To retrieve a Lambda function’s event source mapping


# This operation retrieves a Lambda function's event source mapping

resp = client.get_event_source_mapping({
  uuid: "123489-xxxxx-kdla8d89d7", 
})

resp.to_h outputs the following:
{
  batch_size: 123, 
  event_source_arn: "arn:aws:iam::123456789012:eventsource", 
  function_arn: "arn:aws:lambda:us-west-2:123456789012:function:myFunction", 
  last_modified: Time.parse("2016-11-21T19:49:20.006+0000"), 
  last_processing_result: "", 
  state: "", 
  state_transition_reason: "", 
  uuid: "123489-xxxxx-kdla8d89d7", 
}

Request syntax with placeholder values


resp = client.get_event_source_mapping({
  uuid: "String", # required
})

Response structure


resp.uuid #=> String
resp.batch_size #=> Integer
resp.event_source_arn #=> String
resp.function_arn #=> String
resp.last_modified #=> Time
resp.last_processing_result #=> String
resp.state #=> String
resp.state_transition_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :uuid (required, String)

    The identifier of the event source mapping.

Returns:

See Also:



1165
1166
1167
1168
# File 'lib/aws-sdk-lambda/client.rb', line 1165

def get_event_source_mapping(params = {}, options = {})
  req = build_request(:get_event_source_mapping, params)
  req.send_request(options)
end

#get_function(params = {}) ⇒ Types::GetFunctionResponse

Returns the configuration information of the Lambda function and a presigned URL link to the .zip file you uploaded with CreateFunction so you can download the .zip file. Note that the URL is valid for up to 10 minutes. The configuration information is the same information you provided as parameters when uploading the function.

Use the ‘Qualifier` parameter to retrieve a published version of the function. Otherwise, returns the unpublished version (`$LATEST`). For more information, see [AWS Lambda Function Versioning and Aliases].

This operation requires permission for the ‘lambda:GetFunction` action.

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

Examples:

Example: To retrieve a Lambda function’s event source mapping


# This operation retrieves a Lambda function's event source mapping

resp = client.get_function({
  function_name: "myFunction", 
  qualifier: "1", 
})

resp.to_h outputs the following:
{
  code: {
    location: "somelocation", 
    repository_type: "S3", 
  }, 
  configuration: {
    code_sha_256: "LQT+0DHxxxxcfwLyQjzoEFKZtdqQjHXanlSdfXBlEW0VA=", 
    code_size: 262, 
    description: "A starter AWS Lambda function.", 
    environment: {
      variables: {
        "S3_BUCKET" => "test", 
      }, 
    }, 
    function_arn: "arn:aws:lambda:us-west-2:123456789012:function:myFunction", 
    function_name: "myFunction", 
    handler: "index.handler", 
    last_modified: Time.parse("2016-11-21T19:49:20.006+0000"), 
    memory_size: 128, 
    role: "arn:aws:iam::123456789012:role/lambda_basic_execution", 
    runtime: "nodejs4.3", 
    timeout: 3, 
    version: "$LATEST", 
    vpc_config: {
      security_group_ids: [
      ], 
      subnet_ids: [
      ], 
    }, 
  }, 
}

Request syntax with placeholder values


resp = client.get_function({
  function_name: "NamespacedFunctionName", # required
  qualifier: "Qualifier",
})

Response structure


resp.configuration.function_name #=> String
resp.configuration.function_arn #=> String
resp.configuration.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "java8", "python2.7", "python3.6", "python3.7", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "nodejs4.3-edge", "go1.x"
resp.configuration.role #=> String
resp.configuration.handler #=> String
resp.configuration.code_size #=> Integer
resp.configuration.description #=> String
resp.configuration.timeout #=> Integer
resp.configuration.memory_size #=> Integer
resp.configuration.last_modified #=> Time
resp.configuration.code_sha_256 #=> String
resp.configuration.version #=> String
resp.configuration.vpc_config.subnet_ids #=> Array
resp.configuration.vpc_config.subnet_ids[0] #=> String
resp.configuration.vpc_config.security_group_ids #=> Array
resp.configuration.vpc_config.security_group_ids[0] #=> String
resp.configuration.vpc_config.vpc_id #=> String
resp.configuration.dead_letter_config.target_arn #=> String
resp.configuration.environment.variables #=> Hash
resp.configuration.environment.variables["EnvironmentVariableName"] #=> String
resp.configuration.environment.error.error_code #=> String
resp.configuration.environment.error.message #=> String
resp.configuration.kms_key_arn #=> String
resp.configuration.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.configuration.master_arn #=> String
resp.configuration.revision_id #=> String
resp.code.repository_type #=> String
resp.code.location #=> String
resp.tags #=> Hash
resp.tags["TagKey"] #=> String
resp.concurrency.reserved_concurrent_executions #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :qualifier (String)

    Specify a version or alias to get details about a published version of the function.

Returns:

See Also:



1301
1302
1303
1304
# File 'lib/aws-sdk-lambda/client.rb', line 1301

def get_function(params = {}, options = {})
  req = build_request(:get_function, params)
  req.send_request(options)
end

#get_function_configuration(params = {}) ⇒ Types::FunctionConfiguration

Returns the configuration information of the Lambda function. This the same information you provided as parameters when uploading the function by using CreateFunction.

If you are using the versioning feature, you can retrieve this information for a specific function version by using the optional ‘Qualifier` parameter and specifying the function version or alias that points to it. If you don’t provide it, the API returns information about the $LATEST version of the function. For more information about versioning, see [AWS Lambda Function Versioning and Aliases].

This operation requires permission for the ‘lambda:GetFunctionConfiguration` operation.

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

Examples:

Example: To retrieve a Lambda function’s event source mapping


# This operation retrieves a Lambda function's event source mapping

resp = client.get_function_configuration({
  function_name: "myFunction", 
  qualifier: "1", 
})

resp.to_h outputs the following:
{
  code_sha_256: "LQT+0DHxxxxcfwLyQjzoEFKZtdqQjHXanlSdfXBlEW0VA=", 
  code_size: 123, 
  dead_letter_config: {
  }, 
  description: "", 
  environment: {
  }, 
  function_arn: "arn:aws:lambda:us-west-2:123456789012:function:myFunction", 
  function_name: "myFunction", 
  handler: "index.handler", 
  kms_key_arn: "", 
  last_modified: Time.parse("2016-11-21T19:49:20.006+0000"), 
  memory_size: 128, 
  role: "arn:aws:iam::123456789012:role/lambda_basic_execution", 
  runtime: "python2.7", 
  timeout: 123, 
  version: "1", 
  vpc_config: {
  }, 
}

Request syntax with placeholder values


resp = client.get_function_configuration({
  function_name: "NamespacedFunctionName", # required
  qualifier: "Qualifier",
})

Response structure


resp.function_name #=> String
resp.function_arn #=> String
resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "java8", "python2.7", "python3.6", "python3.7", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "nodejs4.3-edge", "go1.x"
resp.role #=> String
resp.handler #=> String
resp.code_size #=> Integer
resp.description #=> String
resp.timeout #=> Integer
resp.memory_size #=> Integer
resp.last_modified #=> Time
resp.code_sha_256 #=> String
resp.version #=> String
resp.vpc_config.subnet_ids #=> Array
resp.vpc_config.subnet_ids[0] #=> String
resp.vpc_config.security_group_ids #=> Array
resp.vpc_config.security_group_ids[0] #=> String
resp.vpc_config.vpc_id #=> String
resp.dead_letter_config.target_arn #=> String
resp.environment.variables #=> Hash
resp.environment.variables["EnvironmentVariableName"] #=> String
resp.environment.error.error_code #=> String
resp.environment.error.message #=> String
resp.kms_key_arn #=> String
resp.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.master_arn #=> String
resp.revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :qualifier (String)

    Specify a version or alias to get details about a published version of the function.

Returns:

See Also:



1439
1440
1441
1442
# File 'lib/aws-sdk-lambda/client.rb', line 1439

def get_function_configuration(params = {}, options = {})
  req = build_request(:get_function_configuration, params)
  req.send_request(options)
end

#get_policy(params = {}) ⇒ Types::GetPolicyResponse

Returns the resource policy associated with the specified Lambda function.

This action requires permission for the ‘lambda:GetPolicy action.`

Examples:

Example: To retrieve a Lambda function policy


# This operation retrieves a Lambda function policy

resp = client.get_policy({
  function_name: "myFunction", 
  qualifier: "1", 
})

resp.to_h outputs the following:
{
  policy: "", 
}

Request syntax with placeholder values


resp = client.get_policy({
  function_name: "NamespacedFunctionName", # required
  qualifier: "Qualifier",
})

Response structure


resp.policy #=> String
resp.revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :qualifier (String)

    You can specify this optional query parameter to specify a function version or an alias name in which case this API will return all permissions associated with the specific qualified ARN. If you don’t provide this parameter, the API will return permissions that apply to the unqualified function ARN.

Returns:

See Also:



1507
1508
1509
1510
# File 'lib/aws-sdk-lambda/client.rb', line 1507

def get_policy(params = {}, options = {})
  req = build_request(:get_policy, params)
  req.send_request(options)
end

#invoke(params = {}) ⇒ Types::InvocationResponse

Invokes a Lambda function. For an example, see [Create the Lambda Function and Test It Manually].

Specify just a function name to invoke the latest version of the function. To invoke a published version, use the ‘Qualifier` parameter to specify a [version or alias].

If you use the ‘RequestResponse` (synchronous) invocation option, the function will be invoked only once. If you use the `Event` (asynchronous) invocation option, the function will be invoked at least once in response to an event and the function must be idempotent to handle this.

For functions with a long timeout, your client may be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the ‘lambda:InvokeFunction` action.

The ‘TooManyRequestsException` noted below will return the following: `ConcurrentInvocationLimitExceeded` will be returned if you have no functions with reserved concurrency and have exceeded your account concurrent limit or if a function without reserved concurrency exceeds the account’s unreserved concurrency limit. ‘ReservedFunctionConcurrentInvocationLimitExceeded` will be returned when a function with reserved concurrency exceeds its configured concurrency limit.

[1]: docs.aws.amazon.com/lambda/latest/dg/with-dynamodb-create-function.html#with-dbb-invoke-manually [2]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

Examples:

Example: To invoke a Lambda function


# This operation invokes a Lambda function

resp = client.invoke({
  client_context: "MyApp", 
  function_name: "MyFunction", 
  invocation_type: "Event", 
  log_type: "Tail", 
  payload: "fileb://file-path/input.json", 
  qualifier: "1", 
})

resp.to_h outputs the following:
{
  function_error: "", 
  log_result: "", 
  payload: "?", 
  status_code: 123, 
}

Request syntax with placeholder values


resp = client.invoke({
  function_name: "NamespacedFunctionName", # required
  invocation_type: "Event", # accepts Event, RequestResponse, DryRun
  log_type: "None", # accepts None, Tail
  client_context: "String",
  payload: "data",
  qualifier: "Qualifier",
})

Response structure


resp.status_code #=> Integer
resp.function_error #=> String
resp.log_result #=> String
resp.payload #=> String
resp.executed_version #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :invocation_type (String)

    Choose from the following options.

    • ‘RequestResponse` (default) - Invoke the function synchronously. Keep the connection open until the function returns a response or times out.

    • ‘Event` - Invoke the function asynchronously. Send events that fail multiple times to the function’s dead-letter queue (if configured).

    • ‘DryRun` - Validate parameter values and verify that the user or role has permission to invoke the function.

  • :log_type (String)

    You can set this optional parameter to ‘Tail` in the request only if you specify the `InvocationType` parameter with value `RequestResponse`. In this case, AWS Lambda returns the base64-encoded last 4 KB of log data produced by your Lambda function in the `x-amz-log-result` header.

  • :client_context (String)

    Using the ‘ClientContext` you can pass client-specific information to the Lambda function you are invoking. You can then process the client information in your Lambda function as you choose through the context variable. For an example of a `ClientContext` JSON, see [PutEvents] in the *Amazon Mobile Analytics API Reference and User Guide*.

    The ClientContext JSON must be base64-encoded and has a maximum size of 3583 bytes.

    <note markdown=“1”> ‘ClientContext` information is returned only if you use the synchronous (`RequestResponse`) invocation type.

    </note>
    

    [1]: docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html

  • :payload (String, IO)

    JSON that you want to provide to your Lambda function as input.

  • :qualifier (String)

    Specify a version or alias to invoke a published version of the function.

Returns:

See Also:



1661
1662
1663
1664
# File 'lib/aws-sdk-lambda/client.rb', line 1661

def invoke(params = {}, options = {})
  req = build_request(:invoke, params)
  req.send_request(options)
end

#invoke_async(params = {}) ⇒ Types::InvokeAsyncResponse

For asynchronous function invocation, use Invoke.

Submits an invocation request to AWS Lambda. Upon receiving the request, Lambda executes the specified function asynchronously. To see the logs generated by the Lambda function execution, see the CloudWatch Logs console.

This operation requires permission for the ‘lambda:InvokeFunction` action.

Examples:

Example: To invoke a Lambda function asynchronously


# This operation invokes a Lambda function asynchronously

resp = client.invoke_async({
  function_name: "myFunction", 
  invoke_args: "fileb://file-path/input.json", 
})

resp.to_h outputs the following:
{
  status: 123, 
}

Request syntax with placeholder values


resp = client.invoke_async({
  function_name: "NamespacedFunctionName", # required
  invoke_args: "data", # required
})

Response structure


resp.status #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :invoke_args (required, String, IO)

    JSON that you want to provide to your Lambda function as input.

Returns:

See Also:



1728
1729
1730
1731
# File 'lib/aws-sdk-lambda/client.rb', line 1728

def invoke_async(params = {}, options = {})
  req = build_request(:invoke_async, params)
  req.send_request(options)
end

#list_aliases(params = {}) ⇒ Types::ListAliasesResponse

Returns list of aliases created for a Lambda function. For each alias, the response includes information such as the alias ARN, description, alias name, and the function version to which it points. For more information, see [Introduction to AWS Lambda Aliases].

This requires permission for the lambda:ListAliases action.

[1]: docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html

Examples:

Example: To retrieve a Lambda function aliases


# This operation retrieves a Lambda function's aliases

resp = client.list_aliases({
  function_name: "myFunction", 
  function_version: "1", 
  marker: "", 
  max_items: 123, 
})

resp.to_h outputs the following:
{
  aliases: [
  ], 
  next_marker: "", 
}

Request syntax with placeholder values


resp = client.list_aliases({
  function_name: "FunctionName", # required
  function_version: "Version",
  marker: "String",
  max_items: 1,
})

Response structure


resp.next_marker #=> String
resp.aliases #=> Array
resp.aliases[0].alias_arn #=> String
resp.aliases[0].name #=> String
resp.aliases[0].function_version #=> String
resp.aliases[0].description #=> String
resp.aliases[0].routing_config.additional_version_weights #=> Hash
resp.aliases[0].routing_config.additional_version_weights["AdditionalVersion"] #=> Float
resp.aliases[0].revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :function_version (String)

    If you specify this optional parameter, the API returns only the aliases that are pointing to the specific Lambda function version, otherwise the API returns all of the aliases created for the Lambda function.

  • :marker (String)

    Optional string. An opaque pagination token returned from a previous ‘ListAliases` operation. If present, indicates where to continue the listing.

  • :max_items (Integer)

    Optional integer. Specifies the maximum number of aliases to return in response. This parameter value must be greater than 0.

Returns:

See Also:



1823
1824
1825
1826
# File 'lib/aws-sdk-lambda/client.rb', line 1823

def list_aliases(params = {}, options = {})
  req = build_request(:list_aliases, params)
  req.send_request(options)
end

#list_event_source_mappings(params = {}) ⇒ Types::ListEventSourceMappingsResponse

Lists event source mappings. Specify an ‘EventSourceArn` to only show event source mappings for a single event source.

Examples:

Request syntax with placeholder values


resp = client.list_event_source_mappings({
  event_source_arn: "Arn",
  function_name: "FunctionName",
  marker: "String",
  max_items: 1,
})

Response structure


resp.next_marker #=> String
resp.event_source_mappings #=> Array
resp.event_source_mappings[0].uuid #=> String
resp.event_source_mappings[0].batch_size #=> Integer
resp.event_source_mappings[0].event_source_arn #=> String
resp.event_source_mappings[0].function_arn #=> String
resp.event_source_mappings[0].last_modified #=> Time
resp.event_source_mappings[0].last_processing_result #=> String
resp.event_source_mappings[0].state #=> String
resp.event_source_mappings[0].state_transition_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :event_source_arn (String)

    The Amazon Resource Name (ARN) of the event source.

    • **Amazon Kinesis** - The ARN of the data stream or a stream consumer.

    • **Amazon DynamoDB Streams** - The ARN of the stream.

    • **Amazon Simple Queue Service** - The ARN of the queue.

  • :function_name (String)

    The name of the Lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Version or Alias ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it’s limited to 64 characters in length.

  • :marker (String)

    A pagination token returned by a previous call.

  • :max_items (Integer)

    The maximum number of event source mappings to return.

Returns:

See Also:



1896
1897
1898
1899
# File 'lib/aws-sdk-lambda/client.rb', line 1896

def list_event_source_mappings(params = {}, options = {})
  req = build_request(:list_event_source_mappings, params)
  req.send_request(options)
end

#list_functions(params = {}) ⇒ Types::ListFunctionsResponse

Returns a list of your Lambda functions. For each function, the response includes the function configuration information. You must use GetFunction to retrieve the code for your function.

This operation requires permission for the ‘lambda:ListFunctions` action.

If you are using the versioning feature, you can list all of your functions or only ‘$LATEST` versions. For information about the versioning feature, see [AWS Lambda Function Versioning and Aliases].

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

Examples:

Example: To retrieve a list of Lambda functions


# This operation retrieves a Lambda functions

resp = client.list_functions({
  marker: "", 
  max_items: 123, 
})

resp.to_h outputs the following:
{
  functions: [
  ], 
  next_marker: "", 
}

Request syntax with placeholder values


resp = client.list_functions({
  master_region: "MasterRegion",
  function_version: "ALL", # accepts ALL
  marker: "String",
  max_items: 1,
})

Response structure


resp.next_marker #=> String
resp.functions #=> Array
resp.functions[0].function_name #=> String
resp.functions[0].function_arn #=> String
resp.functions[0].runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "java8", "python2.7", "python3.6", "python3.7", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "nodejs4.3-edge", "go1.x"
resp.functions[0].role #=> String
resp.functions[0].handler #=> String
resp.functions[0].code_size #=> Integer
resp.functions[0].description #=> String
resp.functions[0].timeout #=> Integer
resp.functions[0].memory_size #=> Integer
resp.functions[0].last_modified #=> Time
resp.functions[0].code_sha_256 #=> String
resp.functions[0].version #=> String
resp.functions[0].vpc_config.subnet_ids #=> Array
resp.functions[0].vpc_config.subnet_ids[0] #=> String
resp.functions[0].vpc_config.security_group_ids #=> Array
resp.functions[0].vpc_config.security_group_ids[0] #=> String
resp.functions[0].vpc_config.vpc_id #=> String
resp.functions[0].dead_letter_config.target_arn #=> String
resp.functions[0].environment.variables #=> Hash
resp.functions[0].environment.variables["EnvironmentVariableName"] #=> String
resp.functions[0].environment.error.error_code #=> String
resp.functions[0].environment.error.message #=> String
resp.functions[0].kms_key_arn #=> String
resp.functions[0].tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.functions[0].master_arn #=> String
resp.functions[0].revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :master_region (String)

    Specify a region (e.g. ‘us-east-2`) to only list functions that were created in that region, or `ALL` to include functions replicated from any region. If specified, you also must specify the `FunctionVersion`.

  • :function_version (String)

    Set to ‘ALL` to list all published versions. If not specified, only the latest unpublished version ARN is returned.

  • :marker (String)

    Optional string. An opaque pagination token returned from a previous ‘ListFunctions` operation. If present, indicates where to continue the listing.

  • :max_items (Integer)

    Optional integer. Specifies the maximum number of AWS Lambda functions to return in response. This parameter value must be greater than 0. The absolute maximum of AWS Lambda functions that can be returned is 50.

Returns:

See Also:



2003
2004
2005
2006
# File 'lib/aws-sdk-lambda/client.rb', line 2003

def list_functions(params = {}, options = {})
  req = build_request(:list_functions, params)
  req.send_request(options)
end

#list_tags(params = {}) ⇒ Types::ListTagsResponse

Returns a list of tags assigned to a function when supplied the function ARN (Amazon Resource Name). For more information on Tagging, see [Tagging Lambda Functions] in the **AWS Lambda Developer Guide**.

[1]: docs.aws.amazon.com/lambda/latest/dg/tagging.html

Examples:

Request syntax with placeholder values


resp = client.list_tags({
  resource: "FunctionArn", # required
})

Response structure


resp.tags #=> Hash
resp.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



2045
2046
2047
2048
# File 'lib/aws-sdk-lambda/client.rb', line 2045

def list_tags(params = {}, options = {})
  req = build_request(:list_tags, params)
  req.send_request(options)
end

#list_versions_by_function(params = {}) ⇒ Types::ListVersionsByFunctionResponse

Lists all versions of a function. For information about versioning, see [AWS Lambda Function Versioning and Aliases].

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

Examples:

Example: To retrieve a list of Lambda function versions


# This operation retrieves a Lambda function versions

resp = client.list_versions_by_function({
  function_name: "myFunction", 
  marker: "", 
  max_items: 123, 
})

resp.to_h outputs the following:
{
  next_marker: "", 
  versions: [
  ], 
}

Request syntax with placeholder values


resp = client.list_versions_by_function({
  function_name: "NamespacedFunctionName", # required
  marker: "String",
  max_items: 1,
})

Response structure


resp.next_marker #=> String
resp.versions #=> Array
resp.versions[0].function_name #=> String
resp.versions[0].function_arn #=> String
resp.versions[0].runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "java8", "python2.7", "python3.6", "python3.7", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "nodejs4.3-edge", "go1.x"
resp.versions[0].role #=> String
resp.versions[0].handler #=> String
resp.versions[0].code_size #=> Integer
resp.versions[0].description #=> String
resp.versions[0].timeout #=> Integer
resp.versions[0].memory_size #=> Integer
resp.versions[0].last_modified #=> Time
resp.versions[0].code_sha_256 #=> String
resp.versions[0].version #=> String
resp.versions[0].vpc_config.subnet_ids #=> Array
resp.versions[0].vpc_config.subnet_ids[0] #=> String
resp.versions[0].vpc_config.security_group_ids #=> Array
resp.versions[0].vpc_config.security_group_ids[0] #=> String
resp.versions[0].vpc_config.vpc_id #=> String
resp.versions[0].dead_letter_config.target_arn #=> String
resp.versions[0].environment.variables #=> Hash
resp.versions[0].environment.variables["EnvironmentVariableName"] #=> String
resp.versions[0].environment.error.error_code #=> String
resp.versions[0].environment.error.message #=> String
resp.versions[0].kms_key_arn #=> String
resp.versions[0].tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.versions[0].master_arn #=> String
resp.versions[0].revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :marker (String)

    Optional string. An opaque pagination token returned from a previous ‘ListVersionsByFunction` operation. If present, indicates where to continue the listing.

  • :max_items (Integer)

    Optional integer. Specifies the maximum number of AWS Lambda function versions to return in response. This parameter value must be greater than 0.

Returns:

See Also:



2148
2149
2150
2151
# File 'lib/aws-sdk-lambda/client.rb', line 2148

def list_versions_by_function(params = {}, options = {})
  req = build_request(:list_versions_by_function, params)
  req.send_request(options)
end

#publish_version(params = {}) ⇒ Types::FunctionConfiguration

Publishes a version of your function from the current snapshot of $LATEST. That is, AWS Lambda takes a snapshot of the function code and configuration information from $LATEST and publishes a new version. The code and configuration cannot be modified after publication. For information about the versioning feature, see [AWS Lambda Function Versioning and Aliases].

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

Examples:

Example: To publish a version of a Lambda function


# This operation publishes a version of a Lambda function

resp = client.publish_version({
  code_sha_256: "", 
  description: "", 
  function_name: "myFunction", 
})

resp.to_h outputs the following:
{
  code_sha_256: "", 
  code_size: 123, 
  description: "", 
  function_arn: "arn:aws:lambda:us-west-2:123456789012:function:myFunction", 
  function_name: "myFunction", 
  handler: "index.handler", 
  last_modified: Time.parse("2016-11-21T19:49:20.006+0000"), 
  memory_size: 128, 
  role: "arn:aws:iam::123456789012:role/lambda_basic_execution", 
  runtime: "python2.7", 
  timeout: 123, 
  version: "1", 
  vpc_config: {
  }, 
}

Request syntax with placeholder values


resp = client.publish_version({
  function_name: "FunctionName", # required
  code_sha_256: "String",
  description: "Description",
  revision_id: "String",
})

Response structure


resp.function_name #=> String
resp.function_arn #=> String
resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "java8", "python2.7", "python3.6", "python3.7", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "nodejs4.3-edge", "go1.x"
resp.role #=> String
resp.handler #=> String
resp.code_size #=> Integer
resp.description #=> String
resp.timeout #=> Integer
resp.memory_size #=> Integer
resp.last_modified #=> Time
resp.code_sha_256 #=> String
resp.version #=> String
resp.vpc_config.subnet_ids #=> Array
resp.vpc_config.subnet_ids[0] #=> String
resp.vpc_config.security_group_ids #=> Array
resp.vpc_config.security_group_ids[0] #=> String
resp.vpc_config.vpc_id #=> String
resp.dead_letter_config.target_arn #=> String
resp.environment.variables #=> Hash
resp.environment.variables["EnvironmentVariableName"] #=> String
resp.environment.error.error_code #=> String
resp.environment.error.message #=> String
resp.kms_key_arn #=> String
resp.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.master_arn #=> String
resp.revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :code_sha_256 (String)

    The SHA256 hash of the deployment package you want to publish. This provides validation on the code you are publishing. If you provide this parameter, the value must match the SHA256 of the $LATEST version for the publication to succeed. You can use the DryRun parameter of UpdateFunctionCode to verify the hash value that will be returned before publishing your new version.

  • :description (String)

    The description for the version you are publishing. If not provided, AWS Lambda copies the description from the $LATEST version.

  • :revision_id (String)

    An optional value you can use to ensure you are updating the latest update of the function version or alias. If the ‘RevisionID` you pass doesn’t match the latest ‘RevisionId` of the function or alias, it will fail with an error message, advising you retrieve the latest function version or alias `RevisionID` using either GetFunction or GetAlias.

Returns:

See Also:



2292
2293
2294
2295
# File 'lib/aws-sdk-lambda/client.rb', line 2292

def publish_version(params = {}, options = {})
  req = build_request(:publish_version, params)
  req.send_request(options)
end

#put_function_concurrency(params = {}) ⇒ Types::Concurrency

Sets a limit on the number of concurrent executions available to this function. It is a subset of your account’s total concurrent execution limit per region. Note that Lambda automatically reserves a buffer of 100 concurrent executions for functions without any reserved concurrency limit. This means if your account limit is 1000, you have a total of 900 available to allocate to individual functions. For more information, see [Managing Concurrency].

[1]: docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html

Examples:

Request syntax with placeholder values


resp = client.put_function_concurrency({
  function_name: "FunctionName", # required
  reserved_concurrent_executions: 1, # required
})

Response structure


resp.reserved_concurrent_executions #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :reserved_concurrent_executions (required, Integer)

    The concurrent execution limit reserved for this function.

Returns:

See Also:



2346
2347
2348
2349
# File 'lib/aws-sdk-lambda/client.rb', line 2346

def put_function_concurrency(params = {}, options = {})
  req = build_request(:put_function_concurrency, params)
  req.send_request(options)
end

#remove_permission(params = {}) ⇒ Struct

Removes permissions from a function. You can remove individual permissions from an resource policy associated with a Lambda function by providing a statement ID that you provided when you added the permission. When you remove permissions, disable the event source mapping or trigger configuration first to avoid errors.

Permissions apply to the Amazon Resource Name (ARN) used to invoke the function, which can be unqualified (the unpublished version of the function), or include a version or alias. If a client uses a version or alias to invoke a function, use the ‘Qualifier` parameter to apply permissions to that ARN. For more information about versioning, see [AWS Lambda Function Versioning and Aliases].

You need permission for the ‘lambda:RemovePermission` action.

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

Examples:

Example: To remove a Lambda function’s permissions


# This operation removes a Lambda function's permissions

resp = client.remove_permission({
  function_name: "myFunction", 
  qualifier: "1", 
  statement_id: "role-statement-id", 
})

Request syntax with placeholder values


resp = client.remove_permission({
  function_name: "FunctionName", # required
  statement_id: "NamespacedStatementId", # required
  qualifier: "Qualifier",
  revision_id: "String",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :statement_id (required, String)

    Statement ID of the permission to remove.

  • :qualifier (String)

    Specify a version or alias to remove permissions from a published version of the function.

  • :revision_id (String)

    An optional value you can use to ensure you are updating the latest update of the function version or alias. If the ‘RevisionID` you pass doesn’t match the latest ‘RevisionId` of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias `RevisionID` using either GetFunction or GetAlias.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2426
2427
2428
2429
# File 'lib/aws-sdk-lambda/client.rb', line 2426

def remove_permission(params = {}, options = {})
  req = build_request(:remove_permission, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Creates a list of tags (key-value pairs) on the Lambda function. Requires the Lambda function ARN (Amazon Resource Name). If a key is specified without a value, Lambda creates a tag with the specified key and a value of null. For more information, see [Tagging Lambda Functions] in the **AWS Lambda Developer Guide**.

[1]: docs.aws.amazon.com/lambda/latest/dg/tagging.html

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource: "FunctionArn", # required
  tags: { # required
    "TagKey" => "TagValue",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2474
2475
2476
2477
# File 'lib/aws-sdk-lambda/client.rb', line 2474

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Removes tags from a Lambda function. Requires the function ARN (Amazon Resource Name). For more information, see [Tagging Lambda Functions] in the **AWS Lambda Developer Guide**.

[1]: docs.aws.amazon.com/lambda/latest/dg/tagging.html

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource: "FunctionArn", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2518
2519
2520
2521
# File 'lib/aws-sdk-lambda/client.rb', line 2518

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_alias(params = {}) ⇒ Types::AliasConfiguration

Using this API you can update the function version to which the alias points and the alias description. For more information, see [Introduction to AWS Lambda Aliases].

This requires permission for the lambda:UpdateAlias action.

[1]: docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html

Examples:

Example: To update a Lambda function alias


# This operation updates a Lambda function alias

resp = client.update_alias({
  description: "", 
  function_name: "myFunction", 
  function_version: "1", 
  name: "functionAlias", 
})

resp.to_h outputs the following:
{
  alias_arn: "arn:aws:lambda:us-west-2:123456789012:function:functionAlias", 
  description: "", 
  function_version: "1", 
  name: "functionAlias", 
}

Request syntax with placeholder values


resp = client.update_alias({
  function_name: "FunctionName", # required
  name: "Alias", # required
  function_version: "Version",
  description: "Description",
  routing_config: {
    additional_version_weights: {
      "AdditionalVersion" => 1.0,
    },
  },
  revision_id: "String",
})

Response structure


resp.alias_arn #=> String
resp.name #=> String
resp.function_version #=> String
resp.description #=> String
resp.routing_config.additional_version_weights #=> Hash
resp.routing_config.additional_version_weights["AdditionalVersion"] #=> Float
resp.revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :name (required, String)

    The alias name.

  • :function_version (String)

    Using this parameter you can change the Lambda function version to which the alias points.

  • :description (String)

    You can change the description of the alias using this parameter.

  • :routing_config (Types::AliasRoutingConfiguration)

    Specifies an additional version your alias can point to, allowing you to dictate what percentage of traffic will invoke each version. For more information, see [Traffic Shifting Using Aliases].

    [1]: docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html

  • :revision_id (String)

    An optional value you can use to ensure you are updating the latest update of the function version or alias. If the ‘RevisionID` you pass doesn’t match the latest ‘RevisionId` of the function or alias, it will fail with an error message, advising you retrieve the latest function version or alias `RevisionID` using either GetFunction or GetAlias.

Returns:

See Also:



2633
2634
2635
2636
# File 'lib/aws-sdk-lambda/client.rb', line 2633

def update_alias(params = {}, options = {})
  req = build_request(:update_alias, params)
  req.send_request(options)
end

#update_event_source_mapping(params = {}) ⇒ Types::EventSourceMappingConfiguration

Updates an event source mapping. You can change the function that AWS Lambda invokes, or pause invocation and resume later from the same location.

Examples:

Example: To update a Lambda function event source mapping


# This operation updates a Lambda function event source mapping

resp = client.update_event_source_mapping({
  batch_size: 123, 
  enabled: true, 
  function_name: "myFunction", 
  uuid: "1234xCy789012", 
})

resp.to_h outputs the following:
{
  batch_size: 123, 
  event_source_arn: "arn:aws:s3:::examplebucket/*", 
  function_arn: "arn:aws:lambda:us-west-2:123456789012:function:myFunction", 
  last_modified: Time.parse("2016-11-21T19:49:20.006+0000"), 
  last_processing_result: "", 
  state: "", 
  state_transition_reason: "", 
  uuid: "1234xCy789012", 
}

Request syntax with placeholder values


resp = client.update_event_source_mapping({
  uuid: "String", # required
  function_name: "FunctionName",
  enabled: false,
  batch_size: 1,
})

Response structure


resp.uuid #=> String
resp.batch_size #=> Integer
resp.event_source_arn #=> String
resp.function_arn #=> String
resp.last_modified #=> Time
resp.last_processing_result #=> String
resp.state #=> String
resp.state_transition_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :uuid (required, String)

    The identifier of the event source mapping.

  • :function_name (String)

    The name of the Lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Version or Alias ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it’s limited to 64 characters in length.

  • :enabled (Boolean)

    Disables the event source mapping to pause polling and invocation.

  • :batch_size (Integer)

    The maximum number of items to retrieve in a single batch.

    • **Amazon Kinesis** - Default 100. Max 10,000.

    • **Amazon DynamoDB Streams** - Default 100. Max 1,000.

    • **Amazon Simple Queue Service** - Default 10. Max 10.

Returns:

See Also:



2734
2735
2736
2737
# File 'lib/aws-sdk-lambda/client.rb', line 2734

def update_event_source_mapping(params = {}, options = {})
  req = build_request(:update_event_source_mapping, params)
  req.send_request(options)
end

#update_function_code(params = {}) ⇒ Types::FunctionConfiguration

Updates the code for the specified Lambda function. This operation must only be used on an existing Lambda function and cannot be used to update the function configuration.

If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda function. For information about the versioning feature, see [AWS Lambda Function Versioning and Aliases].

This operation requires permission for the ‘lambda:UpdateFunctionCode` action.

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

Examples:

Example: To update a Lambda function’s code


# This operation updates a Lambda function's code

resp = client.update_function_code({
  function_name: "myFunction", 
  publish: true, 
  s3_bucket: "myBucket", 
  s3_key: "myKey", 
  s3_object_version: "1", 
  zip_file: "fileb://file-path/file.zip", 
})

resp.to_h outputs the following:
{
  code_sha_256: "LQT+0DHxxxxcfwLyQjzoEFKZtdqQjHXanlSdfXBlEW0VA=", 
  code_size: 123, 
  description: "", 
  function_arn: "arn:aws:lambda:us-west-2:123456789012:function:myFunction", 
  function_name: "myFunction", 
  handler: "index.handler", 
  last_modified: Time.parse("2016-11-21T19:49:20.006+0000"), 
  memory_size: 128, 
  role: "arn:aws:iam::123456789012:role/lambda_basic_execution", 
  runtime: "python2.7", 
  timeout: 123, 
  version: "1", 
  vpc_config: {
  }, 
}

Request syntax with placeholder values


resp = client.update_function_code({
  function_name: "FunctionName", # required
  zip_file: "data",
  s3_bucket: "S3Bucket",
  s3_key: "S3Key",
  s3_object_version: "S3ObjectVersion",
  publish: false,
  dry_run: false,
  revision_id: "String",
})

Response structure


resp.function_name #=> String
resp.function_arn #=> String
resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "java8", "python2.7", "python3.6", "python3.7", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "nodejs4.3-edge", "go1.x"
resp.role #=> String
resp.handler #=> String
resp.code_size #=> Integer
resp.description #=> String
resp.timeout #=> Integer
resp.memory_size #=> Integer
resp.last_modified #=> Time
resp.code_sha_256 #=> String
resp.version #=> String
resp.vpc_config.subnet_ids #=> Array
resp.vpc_config.subnet_ids[0] #=> String
resp.vpc_config.security_group_ids #=> Array
resp.vpc_config.security_group_ids[0] #=> String
resp.vpc_config.vpc_id #=> String
resp.dead_letter_config.target_arn #=> String
resp.environment.variables #=> Hash
resp.environment.variables["EnvironmentVariableName"] #=> String
resp.environment.error.error_code #=> String
resp.environment.error.message #=> String
resp.kms_key_arn #=> String
resp.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.master_arn #=> String
resp.revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :zip_file (String, IO)

    The contents of your zip file containing your deployment package. If you are using the web API directly, the contents of the zip file must be base64-encoded. If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the encoding for you. For more information about creating a .zip file, see [Execution Permissions].

    [1]: docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role.html

  • :s3_bucket (String)

    Amazon S3 bucket name where the .zip file containing your deployment package is stored. This bucket must reside in the same AWS Region where you are creating the Lambda function.

  • :s3_key (String)

    The Amazon S3 object (the deployment package) key name you want to upload.

  • :s3_object_version (String)

    The Amazon S3 object (the deployment package) version you want to upload.

  • :publish (Boolean)

    This boolean parameter can be used to request AWS Lambda to update the Lambda function and publish a version as an atomic operation.

  • :dry_run (Boolean)

    This boolean parameter can be used to test your request to AWS Lambda to update the Lambda function and publish a version as an atomic operation. It will do all necessary computation and validation of your code but will not upload it or a publish a version. Each time this operation is invoked, the ‘CodeSha256` hash value of the provided code will also be computed and returned in the response.

  • :revision_id (String)

    An optional value you can use to ensure you are updating the latest update of the function version or alias. If the ‘RevisionID` you pass doesn’t match the latest ‘RevisionId` of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias `RevisionID` using either using using either GetFunction or GetAlias.

Returns:

See Also:



2914
2915
2916
2917
# File 'lib/aws-sdk-lambda/client.rb', line 2914

def update_function_code(params = {}, options = {})
  req = build_request(:update_function_code, params)
  req.send_request(options)
end

#update_function_configuration(params = {}) ⇒ Types::FunctionConfiguration

Updates the configuration parameters for the specified Lambda function by using the values provided in the request. You provide only the parameters you want to change. This operation must only be used on an existing Lambda function and cannot be used to update the function’s code.

If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda function. For information about the versioning feature, see [AWS Lambda Function Versioning and Aliases].

This operation requires permission for the ‘lambda:UpdateFunctionConfiguration` action.

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

Examples:

Example: To update a Lambda function’s configuration


# This operation updates a Lambda function's configuration

resp = client.update_function_configuration({
  description: "", 
  function_name: "myFunction", 
  handler: "index.handler", 
  memory_size: 128, 
  role: "arn:aws:iam::123456789012:role/lambda_basic_execution", 
  runtime: "python2.7", 
  timeout: 123, 
  vpc_config: {
  }, 
})

resp.to_h outputs the following:
{
  code_sha_256: "LQT+0DHxxxxcfwLyQjzoEFKZtdqQjHXanlSdfXBlEW0VA=", 
  code_size: 123, 
  description: "", 
  function_arn: "arn:aws:lambda:us-west-2:123456789012:function:myFunction", 
  function_name: "myFunction", 
  handler: "index.handler", 
  last_modified: Time.parse("2016-11-21T19:49:20.006+0000"), 
  memory_size: 128, 
  role: "arn:aws:iam::123456789012:role/lambda_basic_execution", 
  runtime: "python2.7", 
  timeout: 123, 
  version: "1", 
  vpc_config: {
  }, 
}

Request syntax with placeholder values


resp = client.update_function_configuration({
  function_name: "FunctionName", # required
  role: "RoleArn",
  handler: "Handler",
  description: "Description",
  timeout: 1,
  memory_size: 1,
  vpc_config: {
    subnet_ids: ["SubnetId"],
    security_group_ids: ["SecurityGroupId"],
  },
  environment: {
    variables: {
      "EnvironmentVariableName" => "EnvironmentVariableValue",
    },
  },
  runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, java8, python2.7, python3.6, python3.7, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, nodejs4.3-edge, go1.x
  dead_letter_config: {
    target_arn: "ResourceArn",
  },
  kms_key_arn: "KMSKeyArn",
  tracing_config: {
    mode: "Active", # accepts Active, PassThrough
  },
  revision_id: "String",
})

Response structure


resp.function_name #=> String
resp.function_arn #=> String
resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "java8", "python2.7", "python3.6", "python3.7", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "nodejs4.3-edge", "go1.x"
resp.role #=> String
resp.handler #=> String
resp.code_size #=> Integer
resp.description #=> String
resp.timeout #=> Integer
resp.memory_size #=> Integer
resp.last_modified #=> Time
resp.code_sha_256 #=> String
resp.version #=> String
resp.vpc_config.subnet_ids #=> Array
resp.vpc_config.subnet_ids[0] #=> String
resp.vpc_config.security_group_ids #=> Array
resp.vpc_config.security_group_ids[0] #=> String
resp.vpc_config.vpc_id #=> String
resp.dead_letter_config.target_arn #=> String
resp.environment.variables #=> Hash
resp.environment.variables["EnvironmentVariableName"] #=> String
resp.environment.error.error_code #=> String
resp.environment.error.message #=> String
resp.kms_key_arn #=> String
resp.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.master_arn #=> String
resp.revision_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :function_name (required, String)

    The name of the lambda function.

    **Name formats**

    • **Function name** - ‘MyFunction`.

    • **Function ARN** - ‘arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

    • **Partial ARN** - ‘123456789012:function:MyFunction`.

    The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

  • :role (String)

    The Amazon Resource Name (ARN) of the IAM role that Lambda will assume when it executes your function.

  • :handler (String)

    The function that Lambda calls to begin executing your function. For Node.js, it is the ‘module-name.export` value in your function.

  • :description (String)

    A short user-defined function description. AWS Lambda does not use this value. Assign a meaningful description as you see fit.

  • :timeout (Integer)

    The amount of time that Lambda allows a function to run before terminating it. The default is 3 seconds. The maximum allowed value is 900 seconds.

  • :memory_size (Integer)

    The amount of memory, in MB, your Lambda function is given. AWS Lambda uses this memory size to infer the amount of CPU allocated to your function. Your function use-case determines your CPU and memory requirements. For example, a database operation might need less memory compared to an image processing function. The default value is 128 MB. The value must be a multiple of 64 MB.

  • :vpc_config (Types::VpcConfig)

    Specify security groups and subnets in a VPC to which your Lambda function needs access.

  • :environment (Types::Environment)

    The parent object that contains your environment’s configuration settings.

  • :runtime (String)

    The runtime version for the function.

  • :dead_letter_config (Types::DeadLetterConfig)

    A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see [Dead Letter Queues].

    [1]: docs.aws.amazon.com/lambda/latest/dg/dlq.html

  • :kms_key_arn (String)

    The Amazon Resource Name (ARN) of the KMS key used to encrypt your function’s environment variables. If you elect to use the AWS Lambda default service key, pass in an empty string (“”) for this parameter.

  • :tracing_config (Types::TracingConfig)

    Set ‘Mode` to `Active` to sample and trace a subset of incoming requests with AWS X-Ray.

  • :revision_id (String)

    An optional value you can use to ensure you are updating the latest update of the function version or alias. If the ‘RevisionID` you pass doesn’t match the latest ‘RevisionId` of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias `RevisionID` using either GetFunction or GetAlias.

Returns:

See Also:



3134
3135
3136
3137
# File 'lib/aws-sdk-lambda/client.rb', line 3134

def update_function_configuration(params = {}, options = {})
  req = build_request(:update_function_configuration, params)
  req.send_request(options)
end

#waiter_namesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


3158
3159
3160
# File 'lib/aws-sdk-lambda/client.rb', line 3158

def waiter_names
  []
end