:doc:`IoTTwinMaker <../../iottwinmaker>` / Client / create_metadata_transfer_job

****************************
create_metadata_transfer_job
****************************



.. py:method:: IoTTwinMaker.Client.create_metadata_transfer_job(**kwargs)

  

  Creates a new metadata transfer job.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateMetadataTransferJob>`_  


  **Request Syntax**
  ::

    response = client.create_metadata_transfer_job(
        metadataTransferJobId='string',
        description='string',
        sources=[
            {
                'type': 's3'|'iotsitewise'|'iottwinmaker',
                's3Configuration': {
                    'location': 'string'
                },
                'iotSiteWiseConfiguration': {
                    'filters': [
                        {
                            'filterByAssetModel': {
                                'assetModelId': 'string',
                                'assetModelExternalId': 'string',
                                'includeOffspring': True|False,
                                'includeAssets': True|False
                            },
                            'filterByAsset': {
                                'assetId': 'string',
                                'assetExternalId': 'string',
                                'includeOffspring': True|False,
                                'includeAssetModel': True|False
                            }
                        },
                    ]
                },
                'iotTwinMakerConfiguration': {
                    'workspace': 'string',
                    'filters': [
                        {
                            'filterByComponentType': {
                                'componentTypeId': 'string'
                            },
                            'filterByEntity': {
                                'entityId': 'string'
                            }
                        },
                    ]
                }
            },
        ],
        destination={
            'type': 's3'|'iotsitewise'|'iottwinmaker',
            's3Configuration': {
                'location': 'string'
            },
            'iotTwinMakerConfiguration': {
                'workspace': 'string'
            }
        }
    )
    
  :type metadataTransferJobId: string
  :param metadataTransferJobId: 

    The metadata transfer job Id.

    

  
  :type description: string
  :param description: 

    The metadata transfer job description.

    

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

    The metadata transfer job sources.

    

  
    - *(dict) --* 

      The source configuration.

      

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

        The source configuration type.

        

      
      - **s3Configuration** *(dict) --* 

        The source configuration S3 configuration.

        

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

          The S3 destination source configuration location.

          

        
      
      - **iotSiteWiseConfiguration** *(dict) --* 

        The source configuration IoT SiteWise configuration.

        

      
        - **filters** *(list) --* 

          The AWS IoT SiteWise soucre configuration filters.

          

        
          - *(dict) --* 

            The AWS IoT SiteWise soucre configuration filter.[need held with desc here]

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``filterByAssetModel``, ``filterByAsset``. 

          
            - **filterByAssetModel** *(dict) --* 

              Filter by asset model.

              

            
              - **assetModelId** *(string) --* 

                The asset model Id.

                

              
              - **assetModelExternalId** *(string) --* 

                The external-Id property of an asset model.

                

              
              - **includeOffspring** *(boolean) --* 

                Include asset offspring. [need desc.]

                

              
              - **includeAssets** *(boolean) --* 

                Bolean to include assets.

                

              
            
            - **filterByAsset** *(dict) --* 

              Filter by asset.

              

            
              - **assetId** *(string) --* 

                Filter by asset Id.

                

              
              - **assetExternalId** *(string) --* 

                The external-Id property of an asset.

                

              
              - **includeOffspring** *(boolean) --* 

                Includes sub-assets.[need description hekp for this]

                

              
              - **includeAssetModel** *(boolean) --* 

                Boolean to include the asset model.

                

              
            
          
      
      
      - **iotTwinMakerConfiguration** *(dict) --* 

        The source configuration IoT TwinMaker configuration.

        

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

          The IoT TwinMaker workspace.

          

        
        - **filters** *(list) --* 

          The metadata transfer job AWS IoT TwinMaker source configuration filters.

          

        
          - *(dict) --* 

            The metadata transfer job AWS IoT TwinMaker source configuration filter.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``filterByComponentType``, ``filterByEntity``. 

          
            - **filterByComponentType** *(dict) --* 

              Filter by component type.

              

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

                The component type Id.

                

              
            
            - **filterByEntity** *(dict) --* 

              Filter by entity.

              

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

                The entity Id.

                

              
            
          
      
      
    

  :type destination: dict
  :param destination: **[REQUIRED]** 

    The metadata transfer job destination.

    

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

      The destination type.

      

    
    - **s3Configuration** *(dict) --* 

      The metadata transfer job S3 configuration. [need to add S3 entity]

      

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

        The S3 destination configuration location.

        

      
    
    - **iotTwinMakerConfiguration** *(dict) --* 

      The metadata transfer job Amazon Web Services IoT TwinMaker configuration.

      

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

        The IoT TwinMaker workspace.

        

      
    
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'metadataTransferJobId': 'string',
          'arn': 'string',
          'creationDateTime': datetime(2015, 1, 1),
          'status': {
              'state': 'VALIDATING'|'PENDING'|'RUNNING'|'CANCELLING'|'ERROR'|'COMPLETED'|'CANCELLED',
              'error': {
                  'code': 'VALIDATION_ERROR'|'INTERNAL_FAILURE'|'SYNC_INITIALIZING_ERROR'|'SYNC_CREATING_ERROR'|'SYNC_PROCESSING_ERROR'|'SYNC_DELETING_ERROR'|'PROCESSING_ERROR'|'COMPOSITE_COMPONENT_FAILURE',
                  'message': 'string'
              },
              'queuedPosition': 123
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **metadataTransferJobId** *(string) --* 

        The metadata transfer job Id.

        
      

      - **arn** *(string) --* 

        The metadata transfer job ARN.

        
      

      - **creationDateTime** *(datetime) --* 

        The The metadata transfer job creation DateTime property.

        
      

      - **status** *(dict) --* 

        The metadata transfer job response status.

        
        

        - **state** *(string) --* 

          The metadata transfer job state.

          
        

        - **error** *(dict) --* 

          The metadata transfer job error.

          
          

          - **code** *(string) --* 

            The error code.

            
          

          - **message** *(string) --* 

            The error message.

            
      
        

        - **queuedPosition** *(integer) --* 

          The queued position.

          
    
  
  **Exceptions**
  
  *   :py:class:`IoTTwinMaker.Client.exceptions.InternalServerException`

  
  *   :py:class:`IoTTwinMaker.Client.exceptions.AccessDeniedException`

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

  
  *   :py:class:`IoTTwinMaker.Client.exceptions.ThrottlingException`

  
  *   :py:class:`IoTTwinMaker.Client.exceptions.ValidationException`

  
  *   :py:class:`IoTTwinMaker.Client.exceptions.ConflictException`

  
  *   :py:class:`IoTTwinMaker.Client.exceptions.ServiceQuotaExceededException`

  