:doc:`DynamoDB <../../dynamodb>` / Client / tag_resource

************
tag_resource
************



.. py:method:: DynamoDB.Client.tag_resource(**kwargs)

  

  Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to five times per second, per account.

   

  
  * ``TagResource`` is an asynchronous operation. If you issue a  ListTagsOfResource request immediately after a ``TagResource`` request, DynamoDB might return your previous tag set, if there was one, or an empty tag set. This is because ``ListTagsOfResource`` uses an eventually consistent query, and the metadata for your tags or table might not be available at that moment. Wait for a few seconds, and then try the ``ListTagsOfResource`` request again.
   
  * The application or removal of tags using ``TagResource`` and ``UntagResource`` APIs is eventually consistent. ``ListTagsOfResource`` API will only reflect the changes after a few seconds.
  

   

  For an overview on tagging DynamoDB resources, see `Tagging for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html>`__ in the *Amazon DynamoDB Developer Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource>`_  


  **Request Syntax**
  ::

    response = client.tag_resource(
        ResourceArn='string',
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    )
    
  :type ResourceArn: string
  :param ResourceArn: **[REQUIRED]** 

    Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).

    

  
  :type Tags: list
  :param Tags: **[REQUIRED]** 

    The tags to be assigned to the Amazon DynamoDB resource.

    

  
    - *(dict) --* 

      Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single DynamoDB table.

       

      Amazon Web Services-assigned tag names and values are automatically assigned the ``aws:`` prefix, which the user cannot assign. Amazon Web Services-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix ``user:`` in the Cost Allocation Report. You cannot backdate the application of a tag.

       

      For an overview on tagging DynamoDB resources, see `Tagging for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html>`__ in the *Amazon DynamoDB Developer Guide*.

      

    
      - **Key** *(string) --* **[REQUIRED]** 

        The key of the tag. Tag keys are case sensitive. Each DynamoDB table can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.

        

      
      - **Value** *(string) --* **[REQUIRED]** 

        The value of the tag. Tag values are case-sensitive and can be null.

        

      
    

  
  :returns: None
  **Exceptions**
  
  *   :py:class:`DynamoDB.Client.exceptions.LimitExceededException`

  
  *   :py:class:`DynamoDB.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`DynamoDB.Client.exceptions.InternalServerError`

  
  *   :py:class:`DynamoDB.Client.exceptions.ResourceInUseException`

  