def METHOD_NAME(context):
    """Resource that gives ops access to Azure Data Lake Storage Gen2.
    The underlying client is a :py:class:`~azure.storage.filedatalake.DataLakeServiceClient`.
    Attach this resource definition to a :py:class:`~dagster.JobDefinition` in order to make it
    available to your ops.
    Example:
        .. code-block:: python
            from dagster import job, op
            from dagster_azure.adls2 import adls2_resource
            @op(required_resource_keys={'adls2'})
            def example_adls2_op(context):
                return list(context.resources.adls2.adls2_client.list_file_systems())
            @job(resource_defs={"adls2": adls2_resource})
            def my_job():
                example_adls2_op()
    Note that your ops must also declare that they require this resource with
    `required_resource_keys`, or it will not be initialized for the execution of their compute
    functions.
    You may pass credentials to this resource using either a SAS token, a key or by passing the
    `DefaultAzureCredential` object.
    .. code-block:: YAML
        resources:
          adls2:
            config:
              storage_account: my_storage_account
              # str: The storage account name.
              credential:
                sas: my_sas_token
                # str: the SAS token for the account.
                key:
                  env: AZURE_DATA_LAKE_STORAGE_KEY
                # str: The shared access key for the account.
                DefaultAzureCredential: {}
                # dict: The keyword arguments used for DefaultAzureCredential
                # or leave the object empty for no arguments
                DefaultAzureCredential:
                    exclude_environment_credential: true
    """
    return _adls2_resource_from_config(context.resource_config)