:doc:`CleanRoomsService <../../cleanrooms>` / Client / get_protected_job

*****************
get_protected_job
*****************



.. py:method:: CleanRoomsService.Client.get_protected_job(**kwargs)

  

  Returns job processing metadata.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetProtectedJob>`_  


  **Request Syntax**
  ::

    response = client.get_protected_job(
        membershipIdentifier='string',
        protectedJobIdentifier='string'
    )
    
  :type membershipIdentifier: string
  :param membershipIdentifier: **[REQUIRED]** 

    The identifier for a membership in a protected job instance.

    

  
  :type protectedJobIdentifier: string
  :param protectedJobIdentifier: **[REQUIRED]** 

    The identifier for the protected job instance.

    

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

    
    ::

      {
          'protectedJob': {
              'id': 'string',
              'membershipId': 'string',
              'membershipArn': 'string',
              'createTime': datetime(2015, 1, 1),
              'jobParameters': {
                  'analysisTemplateArn': 'string',
                  'parameters': {
                      'string': 'string'
                  }
              },
              'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS',
              'resultConfiguration': {
                  'outputConfiguration': {
                      's3': {
                          'bucket': 'string',
                          'keyPrefix': 'string'
                      },
                      'member': {
                          'accountId': 'string'
                      }
                  }
              },
              'statistics': {
                  'totalDurationInMillis': 123,
                  'billedResourceUtilization': {
                      'units': 123.0
                  }
              },
              'result': {
                  'output': {
                      's3': {
                          'location': 'string'
                      },
                      'memberList': [
                          {
                              'accountId': 'string'
                          },
                      ]
                  }
              },
              'error': {
                  'message': 'string',
                  'code': 'string'
              },
              'computeConfiguration': {
                  'worker': {
                      'type': 'CR.1X'|'CR.4X',
                      'number': 123
                  }
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **protectedJob** *(dict) --* 

        The protected job metadata.

        
        

        - **id** *(string) --* 

          The identifier for a protected job instance.

          
        

        - **membershipId** *(string) --* 

          he identifier for the membership.

          
        

        - **membershipArn** *(string) --* 

          The ARN of the membership.

          
        

        - **createTime** *(datetime) --* 

          The creation time of the protected job.

          
        

        - **jobParameters** *(dict) --* 

          The job parameters for the protected job.

          
          

          - **analysisTemplateArn** *(string) --* 

            The ARN of the analysis template.

            
          

          - **parameters** *(dict) --* 

            Runtime configuration values passed to the PySpark analysis script. Parameter names and types must match those defined in the analysis template.

            
            

            - *(string) --* 
              

              - *(string) --* 
        
      
      
        

        - **status** *(string) --* 

          The status of the protected job.

          
        

        - **resultConfiguration** *(dict) --* 

          Contains any details needed to write the job results.

          
          

          - **outputConfiguration** *(dict) --* 

            The output configuration.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``s3``, ``member``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **s3** *(dict) --* 

              If present, the output for a protected job with an `S3` output type.

              
              

              - **bucket** *(string) --* 

                The S3 bucket for job output.

                
              

              - **keyPrefix** *(string) --* 

                The S3 prefix to unload the protected job results.

                
          
            

            - **member** *(dict) --* 

              The member output configuration for a protected job.

              
              

              - **accountId** *(string) --* 

                The account ID.

                
          
        
      
        

        - **statistics** *(dict) --* 

          The statistics of the protected job.

          
          

          - **totalDurationInMillis** *(integer) --* 

            The duration of the protected job, from creation until job completion, in milliseconds.

            
          

          - **billedResourceUtilization** *(dict) --* 

            The billed resource utilization for the protected job.

            
            

            - **units** *(float) --* 

              The number of Clean Rooms Processing Unit (CRPU) hours that have been billed.

              
        
      
        

        - **result** *(dict) --* 

          The result of the protected job.

          
          

          - **output** *(dict) --* 

            The output of the protected job.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``s3``, ``memberList``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **s3** *(dict) --* 

              If present, the output for a protected job with an `S3` output type.

              
              

              - **location** *(string) --* 

                The S3 location for the protected job output.

                
          
            

            - **memberList** *(list) --* 

              The list of member Amazon Web Services account(s) that received the results of the job.

              
              

              - *(dict) --* 

                Details about the member who received the job result.

                
                

                - **accountId** *(string) --* 

                  The Amazon Web Services account ID of the member in the collaboration who can receive results from analyses.

                  
            
          
        
      
        

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

          The error from the protected job.

          
          

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

            The message for the protected job error.

            
          

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

            The error code for the protected job.

            
      
        

        - **computeConfiguration** *(dict) --* 

          The compute configuration for the protected job.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``worker``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                    'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


        
          

          - **worker** *(dict) --* 

            The worker configuration for the compute environment.

            
            

            - **type** *(string) --* 

              The worker compute configuration type.

              
            

            - **number** *(integer) --* 

              The number of workers for a PySpark job.

              
        
      
    
  
  **Exceptions**
  
  *   :py:class:`CleanRoomsService.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`CleanRoomsService.Client.exceptions.InternalServerException`

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

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

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

  